Игнорировать неверный xml при создании документа с xsl-преобразованием

Существует инструмент Java, который использует несколько xsl-преобразований для преобразования данных из crx в разметку esi xml.

часто разметка esi является недопустимым xml, потому что esi часто представляет собой небольшие фрагменты логики, которые не всегда имеют одинаковые открывающие и закрывающие теги. например:

<esi:assign>

bunch of esi logic

<esi:vars>$(myVar)</esi:vars>

движок Java XSL в настоящее время не позволяет генерировать XML, если он недействителен. Из-за этого мы должны обернуть весь вывод ESI в пустые теги, но это вызывает несколько проблем.

Поэтому мне интересно, есть ли способ, позволяющий java xsl transform engine генерировать неверную или плохо сформированную разметку?

Благодарю.

2 ответа

Установите режим вывода на text (вместо значения по умолчанию xml). Теперь вы можете генерировать любой текст (даже если он очень похож на XML), но вы должны убедиться, что такие символы, как <, >и т. д. должным образом избежали в нужных местах.

Также такие вещи, как xsl:element больше не будет работать по понятным причинам.

Возможно, вам лучше писать такие вещи на реальном языке программирования / написания сценариев, чем на XSL.

Если вы можете изменить преобразования xsl, вы можете использовать:

<xsl:output method="text">
Другие вопросы по тегам