首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用FOP0.95和exsl:node-set()函数解析包装在CDATA中的XML?

是否可以使用FOP0.95和exsl:node-set()函数解析包装在CDATA中的XML?
EN

Stack Overflow用户
提问于 2012-05-30 17:43:56
回答 1查看 453关注 0票数 0

日安,请指教。我使用的是FOP0.95(1.0版)和EXSL扩展。我有这个XML:

代码语言:javascript
复制
<List>
  <Item>
    <Details><![CDATA[<details><weight>0.5kg</weight><colour>Red</colour></details>]]></Details>
  </Item>
</List>

有没有办法使用exsl:node-set()函数解析CDATA中的字符串?下面的代码输出"0.5kgRed“而不是"0.5kg Red”,这意味着它不会被解析,而是作为一个字符串处理:

代码语言:javascript
复制
<xsl:variable name="txtDetails" select="/List/Item/Details"/>
<xsl:variable name="details" select="exsl:node-set($txtDetails)"/>
<xsl:value-of select="$details"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-31 01:16:32

答案是否定的。包装在CDATA节中的内容不会被解析为XML标记。这就是CDATA部分的全部意义所在。使用exsl:node-set()无济于事。

这个问题与XSL-FO无关。FOP是XSL-FO处理器,而不是XML解析器。当然,它使用了XML解析器,但这并不影响这个答案。FOP也不是XSLT处理器;尽管它可以进行XSLT转换,但实际的XSLT处理器是在“幕后”完成实际工作的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10813749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档