![](/img/trans.png)
[英]Understanding “exsl:node-set” for Multiple operations on input xml
[英]Is it possible to parse XML wrapped in CDATA using FOP 0.95 and exsl:node-set() function?
美好的一天,請告知。 我正在使用FOP 0.95(1.0版)和EXSL擴展。 我有這個XML:
<List>
<Item>
<Details><![CDATA[<details><weight>0.5kg</weight><colour>Red</colour></details>]]></Details>
</Item>
</List>
有沒有辦法使用exsl:node-set()函數解析CDATA中的字符串? 以下代碼輸出“ <details> <weight> 0.5kg </ weight> <colour> Red </ colour> </ details>”,而不是“ 0.5kg Red”,這意味着它不會被解析,而是作為字符串處理:
<xsl:variable name="txtDetails" select="/List/Item/Details"/>
<xsl:variable name="details" select="exsl:node-set($txtDetails)"/>
<xsl:value-of select="$details"/>
答案是不。 包裝在CDATA節中的內容不會解析為XML標記。 這就是CDATA部分的重點。 使用exsl:node-set()
沒有幫助。
這個問題與XSL-FO無關。 FOP是XSL-FO處理器,而不是XML解析器。 它當然利用了XML解析器,但這並不影響此答案。 FOP也不是XSLT處理器。 即使可以執行XSLT轉換,實際的XSLT處理器也會在“幕后”進行實際工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.