Игнорировать неверный xml при создании документа с xsl-преобразованием - PullRequest
1 голос
/ 04 апреля 2011

есть инструмент 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 ]

0 голосов
/ 04 апреля 2011

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

<xsl:output method="text">
0 голосов
/ 04 апреля 2011

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

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

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

...