简单的问题.我有一个带有几十个注释块的
XML文件.这是由样式表转换为生成HTML页面.但是,这些注释会被忽略.
但是在生成的HTML的底部,我想要一个XML文件中所有注释的列表.这是不可能的,没有使用纯XSLT以外的任何东西? (没有 Javascript或其他!)
但是在生成的HTML的底部,我想要一个XML文件中所有注释的列表.这是不可能的,没有使用纯XSLT以外的任何东西? (没有 Javascript或其他!)
据我所知,这是不可能的,但我可能是错的……
解决方法
未处理注释的原因是注释的默认模板不执行任何操作:
<xsl:template match="processing-instruction()|comment()"/>
见XSLT 1.0 spec “Built-in Template Rules”.
如果你想用注释做其他事情,你可以创建自己的匹配模板,并使用xsl:comment或者制作HTML列表将它们输出为新的XML注释:
<xsl:template match="/"> <ul> <xsl:apply-templates select="//comment()"/> </ul> </xsl:template> <xsl:template match="comment()"> <li> <xsl:value-of select="."/> </li> </xsl:template>