我正在使用Altova Stylevision 2011 Enterprise生成XSLT文件,该文件用于根据某些XML数据生成报告。我正在寻找一种添加本地化的方法。
我希望在XML中有一个标记,例如<language>en</language>
,然后让XSLT从一组特定的字符串中进行选择,例如:标题,基于该值。
如何在StyleVision SPS文件中实现这一点?
我不喜欢有一些带有本地化静态文本的SPS文件(每种语言对应一种语言)的想法,因为我们必须在设计更改时更新所有这些文件......
感谢您的反馈!
答案 0 :(得分:0)
我感到愚蠢......感谢Mark Veenstra的评论,这让我明白了答案: - )
确实有一个示例项目Multiple Languages
提供了几种解决问题的方法。案件结束 - 几乎。
它现在在StyleVision用户界面中工作,我选择了第二个 输入文件方法。但是现在我遇到了麻烦 通过AltovaXML.exe工具报告命令行。如何指定 第二个输入文件(我的XML文件包含翻译)到 处理器?似乎只有一个输入文件通过-in识别 参数。在生成的XSLT中,我看到了
<xsl:variable name="Translation" select="document($Translation)"/>
匹配源选项卡中的翻译XML的名称 用户界面和
<xsl:value-of-select="$Translation/id("TITLE")/Translation[@Language=$XML/data/language]"/>
匹配要翻译的文本。目标语言是 在
$XML/data/language
中引用。当我这样做时
AltovaXML.exe -xslt2 Report.xslt -in Data.xml -out Report.fo
没有输出要翻译的字符串,也没有错误 消息产生......
我现在缺少什么?
再次 - 找到了解决方案:AltovaXML需要第二个输入文件作为参数:添加-param Translation='Localization.xml'
就可以了。案件结束 - 这次是真实的。