Я работаю над преобразованием XSLT для реорганизации блоков XML для проверки файлов NewsML. Некоторые из этих файлов содержат закодированные символы (например, & amp; & quot и т. Д.). Проблема в том, что преобразование XSLT преобразует эти символы в их буквальную строку (т.е. «и», «»). Это вызывает проблемы. Я не хочу, чтобы это произошло.Автоматическое преобразование экранированных символов в строковые литералы
Я экспериментировал с различными методами (использование < XSL: текст >, < XSL: стоимость из > и отключения-выхода-отводящего флага, < XSL: метод вывода = 'XML | HTML | XHTML | текст' >) безрезультатно. Эти методы либо преобразуют символы, либо просто оставляют их.
например, строка, которая начинается с "звезды на PM & Amp; APOS; s карт" может в конечном итоге, как
- звезд на картах РМ
- звезды на ФЭУ картах
Я использую приложение обработки Saxonica (http://www.saxonica.com/).
Базовый XSLT, который я использую, приведен ниже. (Есть и другие вещи, но проблема существует даже с этой простой таблицы стилей)
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Любые идеи о том, как предотвратить это преобразование будет наиболее ценится. Требование состоит в том, чтобы сохранить исходный текст по мере его появления.
Использование Xalan версии 2.7.1 и Я получаю странные результаты: " -> " & -> & ' -> ' < -> < > -> > Как вы можете видеть - только некоторые из субъектов были убежали. –
NSPKUWCExi2pr8wVoGNk