代码之家  ›  专栏  ›  技术社区  ›  Wim ten Brink

如何选择XML文件中的所有注释节点?

  •  4
  • Wim ten Brink  · 技术社区  · 14 年前

    简单的问题。我有一个带有几十个注释块的XML文件。样式表正在将其转换为生成HTML页。但是,注释将被忽略。 但是在生成的HTML的底部,我想要一个XML文件中所有注释的列表。如果不使用纯XSLT,这是否可能?(没有javascript或其他东西!)


    据我所知,这是不可能的,但我可能错了…

    1 回复  |  直到 14 年前
        1
  •  10
  •   Per T    14 年前

    未处理注释的原因是注释的默认模板不执行任何操作:

    <xsl:template match="processing-instruction()|comment()"/>
    

    XSLT 1.0 spec "Built-in Template Rules" .

    如果您想对注释执行其他操作,只需创建自己的匹配模板,并使用 xsl:comment 或者制作一个HTML列表:

    <xsl:template match="/">
      <ul>
        <xsl:apply-templates select="//comment()"/>
      </ul>
    </xsl:template>
    
    <xsl:template match="comment()">
      <li>
        <xsl:value-of select="."/>
      </li>
    </xsl:template>