Xml Derstains将匹配模板[因为这不像XPATH表达式],对吗?@user1497365:不确定“匹配模板”是什么意思。模式匹配节点,而不是模板。模式match=“root/info”(带有一条斜线)将与示例中的info元素不匹配,因为它们的(直接)父元

Xml Derstains将匹配模板[因为这不像XPATH表达式],对吗?@user1497365:不确定“匹配模板”是什么意思。模式匹配节点,而不是模板。模式match=“root/info”(带有一条斜线)将与示例中的info元素不匹配,因为它们的(直接)父元,xml,xslt,xml-parsing,xslt-1.0,xalan,Xml,Xslt,Xml Parsing,Xslt 1.0,Xalan,Derstains将匹配模板[因为这不像XPATH表达式],对吗?@user1497365:不确定“匹配模板”是什么意思。模式匹配节点,而不是模板。模式match=“root/info”(带有一条斜线)将与示例中的info元素不匹配,因为它们的(直接)父元素不是根元素。模式match=“root//info”(双斜杠)将匹配示例中的info元素,因为它们的祖先是根元素。我理解您在上面的评论中所说的。但是从您的答案来看,-[“Property/info”匹配树中任何父元素为Property元素的i


Derstains将匹配模板[因为这不像XPATH表达式],对吗?@user1497365:不确定“匹配模板”是什么意思。模式匹配节点,而不是模板。模式
match=“root/info”
(带有一条斜线)将与示例中的
info
元素不匹配,因为它们的(直接)父元素不是
根元素。模式
match=“root//info”
(双斜杠)将匹配示例中的
info
元素,因为它们的祖先是
元素。我理解您在上面的评论中所说的。但是从您的答案来看,-[“Property/info”匹配树中任何父元素为Property元素的info元素。尽管此匹配模式看起来与select=“Property/info”中的XPath表达式相同,但它们完全不同;后者将只选择作为Property元素的子元素的info元素]我在你提供的陈述中没有发现任何差异。到底有什么区别?@user1497365:谢谢你的提问。差异在您引用的部分后面以斜体显示:“作为上下文节点子级的属性元素”。斜体部分就是我所说的“后一限制”。
    <root>
      <Property>
        <info>
          <Name>A</Name>
          <Value>1000</Value>
        </info>
        <info>
          <Name>B</Name>
          <Value>2000</Value>
        </info>  
        <info>
          <Name>C</Name>
          <Value>3000</Value>
        </info>  
      </Property>
    </root>
      <Property>
        <info>
          <Name>A</Name>
          <Value>1000</Value>
        </info>
        <info>
          <Name>B</Name>
          <Value>2000</Value>
        </info>  
        <info>
          <Name>C</Name>
          <Value>3000</Value>
        </info>  
      </Property>
<xsl:template match="Property/info"/>
<xsl:copy-of select="../../*"/>
<xsl:template match="Property/info"/>
<xsl:template match="root/Property/info"/>
<xsl:template match="//Property/info"/>