Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为不同语言本地化xsl_Java_Xml_Spring_Xslt - Fatal编程技术网

Java 为不同语言本地化xsl

Java 为不同语言本地化xsl,java,xml,spring,xslt,Java,Xml,Spring,Xslt,我有一些静态xsl将动态xml转换为html以响应浏览器。其余的网页使用SpringMVC进行查看。因此,可以使用Spring用我的语言编写的messages.properties文件对它们进行本地化。但是我不知道如何使用相同的方法在静态xsl中本地化文本节点。具体如下 在Spring的网页中,我可以 <title><spring:message code="title.MyTitle"/></title> 在我的静态xsl中,我有 <xsl:st

我有一些静态xsl将动态xml转换为html以响应浏览器。其余的网页使用SpringMVC进行查看。因此,可以使用Spring用我的语言编写的messages.properties文件对它们进行本地化。但是我不知道如何使用相同的方法在静态xsl中本地化文本节点。具体如下

在Spring的网页中,我可以

<title><spring:message code="title.MyTitle"/></title>

在我的静态xsl中,我有

<xsl:stylesheet ........
<xsl:output method="html"/>
<xsl:template match="/">
.....
    <title>My Title</title>

Jirka Kosek有一种技术可以在上进行l10n查找。我以为他已经用XSLT做了一个完整的l10n系统,但我现在找不到

另外,如果您的属性文件是文本,而不是Java也能理解的XML属性文件格式,那么一般的技术是:

  • 使用
    unparsed-text()
    获取属性文件的文本
  • 在线端标记化(即前面没有
    /
  • 为每个字符串创建一个包含元素的变量,其中键位于属性值中,文本是元素的文本内容
  • 到目前为止所做的只是模仿XML属性文件格式

  • 创建与元素匹配的键,并使用属性值作为查找
  • 创建一个函数,该函数将字符串作为参数,并使用字符串作为第二个参数,使用变量作为第三个参数,对键进行查找

  • 谢谢你的回复。unparsed-text()是xslt 2的东西,在大多数常见的浏览器中都不可用。我最终携带了xml中的所有标题和标签,并使用
    来显示它们。它只能是一种变通方法,而不是一个答案,但它是有效的。
    <xsl:stylesheet ........
    <xsl:output method="html"/>
    <xsl:template match="/">
    .....
        <title><spring:message code="title.MyTitle"/></title>