Есть XML, условно такой
<testcase name="Foo">
<summary><![CDATA[This testcase verifies FOO<br>It's very important]]></summary>
</testcase>
надо его странслировать в такой
<row>
<entry>
<tp>Summary</tp>
</entry>
<entry>
<tp>This testcase verifies FOO</tp>
<tp>It's very important</tp>
</entry>
</row>
Чисто средствами XSLT этого сделать нельзя, насколько я понимаю, т.к. в CDATA не XML-структура? И даже если делать в 2 прохода:
<xsl:template match="testcase">
<xsl:copy-of select="@*"/>
<summary><xsl:value-of select="." disable-output-escaping="yes" /></summary>
<xsl:template>
v v v
<testcase name="Foo">
<summary>This testcase verifies FOO<br>It's very important</summary>
</testcase>
то даже из этого не выцепить, т.к. <br> != <br/> - не валидный пустой элемент.
Как тогда лучше выкрутиться?