XSLT: определить параметр с помощью & ampersand - PullRequest
0 голосов
/ 02 июля 2010

Мне нужно определить xsl:param со строкой, содержащей символ & для дальнейшей обработки.Например:

<xsl:param name="greeting" as="xs:string">Hi & Bye</xsl:param>

Важное замечание: я использую компонент конвертера xslt в инструменте веб-сервиса.Что я делаю, так это то, что я просто инициализирую param, и когда веб-служба называется, param устанавливается в значение переменной, которая была установлена ​​на предыдущих шагах.Так что я не могу контролировать строку, то есть я не могу использовать &amp;

Есть идеи, как это сделать?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 02 июля 2010

Кодируйте его.

& кодируется как &amp;:

<xsl:param name="greeting" as="xs:string">Hi &amp; Bye</xsl:param>

См. этот документ о сущностях символов XML.

Другой вариант - заключить такие строки в CDATA разделы:

<xsl:param name="greeting" as="xs:string"><![CDATA[Hi & Bye]]></xsl:param>
1 голос
/ 02 июля 2010

Вы можете попытаться сохранить строку как неразобранные символьные данные (CDATA).Пометка строки в этом случае уведомит синтаксический анализатор XML о том, что содержащаяся информация не должна анализироваться:

<xsl:param name="greeting" as="xs:string"><![CDATA[ Hi & Bye ]]></xsl:param>
...