我有一个 ASP.NET Web 应用程序,其中使用 XSLT 转换后端数据(XML 格式),生成输出到页面中的 XHTML。
简化代码:
XmlDocument xmlDoc = MyRepository.RetrieveXmlData(keyValue);
XslCompiledTransform xsl = new XslCompiledTransform();
xsl.Load(pathToXsl, XsltSettings.TrustedXslt, null);
StringWriter stringWriter = new StringWriter();
xsl.Transform(xmlDoc, null, stringWriter);
myLiteral.Text = stringWriter.ToString();
目前,我的 XSL 文件包含 XHTML 标记元素以及文本标签,它们目前是英文的。例如:
<p>Title:<br />
<xsl:value-of select="title"/>
</p>
<p>Description:<br />
<xsl:value-of select="desc"/>
</p>
我希望将文本标签(上面的标题和描述)本地化。我正在考虑使用 .NET 资源文件 (.resx),但我不知道当转换发生时 resx 字符串资源如何被拉入 XSLT。
我不希望有 XSLT 文件的特定于语言环境的副本,因为这意味着很多重复的转换逻辑。
(注意:XML 数据已经本地化,所以我不需要更改)