XSLT-значение возвращает только текст - PullRequest
2 голосов
/ 18 августа 2011

Я использую XSLT, чтобы показать узел из XML. Этот узел содержит неупорядоченный список HTML, например:

<ul><li>one</li><li>two</li></ul>

но <xsl:value-of select="root/node1" disable-output-escaping="yes" /> возвращает только onetwo

Я знаю, что мне нужно использовать disable-output-escaping="yes" Но это ничего не делает.

Я хочу, чтобы выходные данные были такими же, как в узле, например: <ul><li>one</li><li>two</li></ul>

Ответы [ 2 ]

3 голосов
/ 18 августа 2011

Я думаю, что вы хотите использовать <xsl:copy-of> вместо.

1 голос
/ 18 августа 2011

xsl:value-of используется для создания текстовых узлов путем оценки строкового значения выбранного узла.

Вам нужно использовать xsl:copy-of.

http://www.w3.org/TR/xslt#value-of

Элемент xsl:value-of создается для создания текстового узла в дереве результатов. Обязательный атрибут select является выражением; это выражение вычисляется и результирующий объект преобразуется в строку как при вызове функции string . Строка указывает строковое значение созданного текстового узла. Если строка пусто, текстовый узел не будет создан. Созданный текстовый узел будет объединены с любыми соседними текстовыми узлами.

Элемент xsl:copy-of можно использовать для копирования набора узлов в результирующее дерево без преобразования его в строку. См. [ 11.3 Использование значений переменных и параметров с помощью xsl: copy-of ].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...