Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 这在xsl中代表什么?匹配="@*|节点();_Xml_Xslt 1.0 - Fatal编程技术网

Xml 这在xsl中代表什么?匹配="@*|节点();

Xml 这在xsl中代表什么?匹配="@*|节点();,xml,xslt-1.0,Xml,Xslt 1.0,有人能解释一下这在xsl中意味着什么吗?每个表达式到底代表什么 <xsl:template match="@*|node()"> @*匹配任何属性节点,节点()匹配任何其他类型的节点(元素、文本节点、处理指令或注释)。因此,匹配@*|node()的模板将应用于未被更特定模板使用的任何节点 最常见的例子是标识模板 另一方面,node()不包含属性的原因是XPath数据模型中的属性与其他节点类型位于不同的轴上,并且不被视为其包含元素的子元素。与@*| node()完全展开的手写体等价物

有人能解释一下这在xsl中意味着什么吗?每个表达式到底代表什么

<xsl:template match="@*|node()">

@*
匹配任何属性节点,
节点()
匹配任何其他类型的节点(元素、文本节点、处理指令或注释)。因此,匹配
@*|node()
的模板将应用于未被更特定模板使用的任何节点

最常见的例子是标识模板


另一方面,
node()
不包含属性的原因是XPath数据模型中的属性与其他节点类型位于不同的轴上,并且不被视为其包含元素的子元素。与
@*| node()
完全展开的手写体等价物是
属性::*| child::*|child::text()| child::processing-instruction()| child::comment()
<xsl:template match="@*|node()">
  <xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
</xsl:template>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="@*|node()">
    <xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
  </xsl:template>

  <xsl:template match="foo">
    <bar><xsl:apply-templates select="@*|node()" /></bar>
  </xsl:template>
</xsl:stylesheet>