Я много читал / гуглил по xslt и CDATA.
У меня нет контроля над исходными данными (в базе данных).Вот моя проблема с потоками данных:
A) Файл xslt (при загрузке первым преобразователем) вызывает функцию Java, которая извлекает и преобразует данные из базы данных.Фрагмент файла xslt:
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml"
...[more xmlns]...
version="2.0" xmlns:fn="http://www.w3.org/2005/xpath-functions"
exclude-result-prefixes="#all">
<xsl:output method="xhtml" omit-xml-declaration="yes" indent="no"/>
...[some xsl:includes]...
<xsl:variable name="myVar" select="resource:getFaq('some value')" />
<xsl:template match="/">
...[some business logic]...
<xsl:template name="someTemplate">
...
<xsl:for-each select="$myVar/faq/entry">
...
<ui:cell>
<xsl:copy-of select="value/answer" />
</ui:cell>
...[a lot more stuff]...
B) Данные из базы данных:
...
<answer><![CDATA[<p>Enter the...<some html tags>...needs.</p>]]></answer>
...
C) Первое преобразование внутри getFaq приводит к (распечатке ручного перемещенияof org.w3c.dom.Node):
...
<answer><#cdata-section><p>Enter the...<some html tags>...needs.</p></#cdata-section></answer>
...
D) Результат преобразования файла xslt (с использованием данных из getFaq ):
...
<ui:cell><answer><#text><p>Enter the...<some html tags>...needs.</p></#text></answer></ui:cell>
...
E) Файл xslt преобразуется другим процессом, и в результате получается:
...
<td class="ui-cell "><answer xmlns="" xmlns:ui="http://www.somewhere.com/ui"><![CDATA[<p>Enter the...<some html tags>...needs.</p>]]></answer></td>
...
F) Что отображает браузер (Firefox 6.0.2):
...
<td class="ui-cell "><answer xmlns:ui="http://www.somewhere.com/ui" xmlns=""><!--[CDATA[<p-->Enter the...<some html tags>...needs.</p>]]></answer></td>
...
Проблема заключается в том, чтоCDATA изменяется на Текстовые данные с шага C на D .Метод вывода должен быть xhtml