Не удается получить xslt для вывода (&) даже после экранирования символа - PullRequest
19 голосов
/ 16 сентября 2008

Я пытаюсь создать строку запроса переменных назначений, разделенных символом & (например: "var1=x&var2=y&..."). Я планирую передать эту строку во встроенный флэш-файл.

У меня проблемы с отображением символа & в XSLT. Если я просто наберу & без тегов, возникнет проблема с отображением документа XSLT. Если я наберу &amp; без тегов вокруг него, то вывод документа будет &amp; без изменений. Если я наберу <xsl:value-of select="&" /> или <xsl:value-of select="&amp;" />, я также получу ошибку. Это возможно? Примечание: я также пробовал &amp;amp; безуспешно.

Ответы [ 13 ]

0 голосов
/ 17 сентября 2008

Следует отметить, что вы можете использовать disable-output-escaping в пределах значения узла или строки / текста, например:

<xsl:value-of select="/node/here" disable-output-escaping="yes" />

или

<xsl:value-of select="'&amp;'" disable-output-escaping="yes" />
<xsl:text disable-output-escaping="yes">Texas A&amp;M</xsl:text>

Обратите внимание на одинарные кавычки в xsl: value-of.

Однако нельзя использовать отключение-вывод-экранирование для атрибутов. Я знаю, что это полностью запутано, но так обстоит дело в XSLT 1.0. Так что НЕ сработает следующее:

<xsl:value-of select="/node/here/@ttribute" disable-output-escaping="yes" />

Потому что в мелком шрифте цитата:

Таким образом, это ошибка для отключения вывода бежать за <xsl:value-of /> или <xsl:text /> элемент, который используется для генерировать строковое значение комментарий, инструкция по обработке или атрибут узла ;

Акцент шахты.

Взято из: http://www.w3.org/TR/xslt#disable-output-escaping

0 голосов
/ 16 сентября 2008

Использование атрибута disable-output-escaping (логическое значение), вероятно, самый простой способ сделать это. Обратите внимание, что вы можете использовать это не только на <xsl:value-of/>, но и на <xsl:text>, что может быть чище, в зависимости от вашего конкретного случая.

Вот соответствующая часть спецификации: http://www.w3.org/TR/xslt#disable-output-escaping

0 голосов
/ 16 сентября 2008

попробовать:

Извините, если форматирование испорчено.

...