xsl转换(xslt)问题与cdata

时间:2012-09-19 03:46:03

标签: xslt cdata

我遇到了XSLT转换问题。

我有一个XML:

<?xml version="1.0" encoding="UTF-8"?>
<parser xmlns="http://www.dabgps.nxp">
  <bash>
    <![CDATA[
      # MAIN VARIABLES
     bash
    ]]>
  </bash>

  <bbb>
    <![CDATA[
      # MAIN VARIABLES
      bbb
    ]]>
  </bbb>

  <bash>
    <![CDATA[
      # MAIN VARIABLES
      bash
    ]]>
  </bash>
</parser>

我有一个XSD:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes"/>

<xsl:template match="parser">

  <xsl:value-of select="bbb"/>

</xsl:template>

</xsl:stylesheet>

每次结果都会遇到的问题:

  # MAIN VARIABLES
  bash





  # MAIN VARIABLES
  bbb





  # MAIN VARIABLES
  bash

我的期望当然只是:

  # MAIN VARIABLES
  bbb

无关紧要。 XSLT处理器打印出我在CDATA Tag中的所有东西,即使它不在匹配的模板中(似乎只是为了从文档中取出CDATA) 什么可能在这里错了?

1 个答案:

答案 0 :(得分:1)

我认为这里的问题与XML文件中定义的名称空间http://www.dabgps.nxp有关。 有一个类似的线程在这里解释这个。

xsl:template match doesn't find matches