У меня есть xml-недружественные символы в моем xmls. Некоторые синтаксические анализаторы xml могут быть настроены так, чтобы быть дружественными с этими символами. Но я решил окружить их CDATA, чтобы избежать ошибок XSL-процессора. Но мне нужно как-то изменить xsl. Вот что у меня сейчас:Как извлечь текст из CDATA с помощью XSLT?
<subject>
<![CDATA[svn commit: r41657 - head/en_US.ISO8859-1/books/handbook/basics]]>
</subject>
У меня есть переменная
<xsl:variable name="message_subject">
<xsl:text> “</xsl:text>
<xsl:value-of select="/browser/message/subject"/>
<xsl:text>”</xsl:text>
</xsl:variable>
Он используется так:
<h1>
<xsl:copy-of select="$message_subject"/>
</h1>
и дает мне
<h1>
“<![CDATA[svn commit: r41657 - head/en_US.ISO8859-1/books/handbook/basics]]>”
</h1>
Проблема заключается в том, что CDATA смешивается с нужной строкой. Я использую net.sf.saxon.TransformerFactoryImpl. Как заставить xslt взять только содержимое CDATA?
Я не могу воспроизвести проблему. Можем ли мы увидеть больше вашей таблицы стилей (каков тип вывода, как вы используете переменную)? Какой процессор вы используете? –
@ michael.hor257k, спасибо за внимание. Я обновил описание проблемы, поэтому, надеюсь, вы сможете воспроизвести это. Я использую саксон. –