Я преобразовываю idml-файл в xml в моем проекте. У меня проблема с дополнительным объявлением xml. Вот часть IDML файла: `Как удалить дополнительную декларацию xml из xml в XSLT?
<Content> <?xml version="1.0" encoding="UTF-16"
standalone="yes"?>
<math>
</math></Content>
` Это выход я получаю после преобразования:
<?xml version="1.0" encoding="UTF-8"?>
<content>
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<math></math>
</content>
Моя задача состоит в том, чтобы заменить <
и >
с < и>, то Я получил эту проблему.
Я пробовал много способов сделать это (не стандартные вещи). Наконец, я попытался заменить слово xml на замену пространством и преобразовать его в PI и преобразовать PI в сообщение обработка mode..but также не удалось
<xsl:template match="Content">
<xsl:if test=".[contains(text(),'math')]">
<xsl:value-of select="replace(./text(),'xml','')”/>
</xsl:if>
</xsl:template>
Вывод Я хочу, чтобы генерировать:
<?xml version="1.0" encoding="UTF-8"?> <content><math></math></content>
И я использую Saxon 9.7.0HE для моего развития.
Пожалуйста, помогите мне решить эту проблему .. Спасибо ..!
Какой именно процессор XSLT 2.0 вы используете? Каков результат, который вы хотите создать для ввода, который вы разместили? –
@ Martin Я хочу, чтобы генерировать выходной сигнал следующим образом: XML версия = "1.0" кодирование = "UTF-8"> и я использую Saxon 9 в моем развитии .. –
user2490093
Измените вопрос и показать вывод, который вы хотите найти в виде фрагмента кода. Что касается Saxon 9, какая версия точно? Например, Saxon 9.7 имеет поддержку 'parse-xml', более ранние коммерческие версии поддерживают аналогичную функцию расширения, таким образом вы можете анализировать содержимое элемента Content в качестве XML и выводить узлы, и вы избавитесь от вложенное, экранированное объявление XML в чистом виде. –