簡體   English   中英

是否可以使用FOP 0.95和exsl:node-set()函數解析包裝在CDATA中的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM