0

我对 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 标记中的所有内容,即使它不在匹配的模板中(似乎只是将 CDATA 从文档中取出)这里可能有什么问题?

4

1 回答 1

1

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

xsl:template match 找不到匹配项

于 2012-09-19T04:11:13.093 回答