2012-01-23 29 views
1

輸入:XSLT如何穿越CDATA部分包含XML

<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> 

我能做到這一點?

回答

0

我可以做到這一點嗎?

不在純粹的XSLT 1.0甚至是XSLT 2.0中。

如果你等到有一個XSLT 3.0 XSLT處理器(仍然是一個W3C WD(工作組草案)),那麼你可以使用一個名爲parse-xml()函數來解析的info文本節點孩子成單獨的XML文檔。

在XSLT 1.0或2.0需要編寫一個擴展函數,其中當傳遞的字符串(如同info值,解析它作爲XML,並返回所解析的XmlDocument迴轉型。