У меня есть веб-приложение ASP.NET, в котором внутренние данные (формат XML) преобразуются с использованием XSLT, в результате чего создается 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 уже локализованы, поэтому мне не нужно их менять)