У меня есть xsl-файл, который преобразует xml-файл в другой, с другим xml-форматом. XSL-файл начинается с:XSL-преобразование дает мне неправильное кодирование
?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
И тогда выход начинается с:
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
А остальные из всех элементов, которые будут преобразованы, как много линий, как:
<xsl:element name="tns:corporateName" >
<xsl:value-of select="@CorpOrgname"/>
</xsl:element>
Все выглядит хорошо, за исключением того, что полученный XML-файл имеет этот тег в строке 1:
<?xml version="1.0" encoding="Windows-1252"?
Я не могу понять, откуда эта кодировка. Когда я отлаживаю файл локально, результатом является utf-8, но не тогда, когда это приложение использует его.
Есть ли способ заставить его больше установить его как utf-8? Потому что это спрос. Принимающая система представляет собой некоторую Unix-систему.
У меня есть пример исходного файла. Тот, который я преобразую, и который находится в формате utf-8 (во время того, что блокнот ++ говорит в любом случае).
Я что-то пропустил здесь, есть ли другой способ установить результат: s кодировка, чем синтаксическая кодировка = "utf-8"?
Как вы выполняете преобразование, какой XSLT-процессор вы используете? –
Ну, приложение, которое использует конечный пользователь, имеет старую технику (Centura), и один вызывает класс com-visible класса (regasm) .net, который принимает исходный xml-файл в качестве аргумента в вызове, как путь к нему. Затем .net-приложение использует эту информацию, просто чтобы преобразовать ее с помощью xsl и сохранить ее. –