关于XSL模板匹配的基本问题

我刚刚开始修补XML,我有一个问题。 XML文件:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<bucket version="Root Version 1A2B3C">
</bucket>
XSL文件
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:template match="bucket"> 
    <html>
       <body>
        <h3>
          <xsl:value-of select="@version"/>
        </h3>
      </body>
    </html>
  </xsl:template>
 </xsl:stylesheet>
我对XSL的第三行有疑问。 如果我使用
<xsl:template match="bucket">
-
Root Version 1A2B3C
打印
<xsl:template match="/">
- 没有印刷 - 我认为
"/"
意味着根。 我的理解是它应该打印“1.0”(
<?xml version
)或“根据版本1A2B3C”(
bucket version)
请让我知道它为什么不起作用。 谢谢     
已邀请:
/
表示文档节点() - 即整个文档。 在提供的XML中,
bucket
元素是文档的顶部元素。它不是根节点。 顶部元素
bucket
仍然可以有兄弟,例如处理指令或注释节点。 top元素和它的兄弟姐妹都有一个父母,这是
/
- 文档的根节点。     
来自http://www.w3.org/TR/xpath/#root-node   根节点是树的根。   除了as之外,不会发生根节点   树的根。元素节点   对于文档元素是一个孩子   根节点。根节点也有   作为儿童处理指导和   注释节点进行处理   发生的说明和评论   在序言和结束后   文件元素。 永远记住(来自http://www.w3.org/TR/xpath/#section-Introduction):   XPath在摘要上运行,   XML文档的逻辑结构,   而不是它的表面语法。 因此,文档根
/
表示整个文档的“逻辑”根。     

要回复问题请先登录注册