XSLT Как пройти раздел cdata, который содержит XML - PullRequest
1 голос
/ 23 января 2012

ввод:

<store xmlns="test">
    <item>book</item>
    <info><![CDATA[<?xml version="1.0"?><value xmlns="value">
<price>11</price>
</value>]]>
    </info>
</store>

Я хочу вывод, как показано ниже

<value xmlns="value">
    <item>book</item>
    <price>11</price>
</value>

Могу ли я добиться этого?

1 Ответ

0 голосов
/ 25 января 2012

Могу ли я достичь этого?

Не в чистом XSLT 1.0 или даже XSLT 2.0.

Если вы ждете XSLT 3.0XSLT-процессор (все еще W3C WD (рабочий проект)), тогда вы сможете использовать функцию с именем parse-xml() для анализа дочернего текстового узла info вотдельный документ XML.

В XSLT 1.0 или 2.0 вам необходимо написать функцию расширения, которая при передаче строки (например, значения info) анализирует ее как XML и возвращает проанализированный XmlDocument обратно впреобразование.

...