Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 XSLT";匹配“;及;如果;意思_Xml_Xslt - Fatal编程技术网

Xml XSLT";匹配“;及;如果;意思

Xml XSLT";匹配“;及;如果;意思,xml,xslt,Xml,Xslt,我对XSLT非常陌生,我正在努力理解一些代码。以下是我不理解的代码: <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> 以及: 当您测试*符号时,这意味着什么?第一个模板是的基础,通常用作“推式样式”样式表的基础,其

我对XSLT非常陌生,我正在努力理解一些代码。以下是我不理解的代码:

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

以及:



当您测试*符号时,这意味着什么?

第一个模板是的基础,通常用作“推式样式”样式表的基础,其中默认行为是将输入复制到输出中。为了自定义行为并生成不同的内容,添加了更具体的模板

<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>
测试是否存在任何子元素(相对于上下文节点)。如果存在,则满足条件,测试结果为
true()
,并且将应用If中放置的任何内容

有关缩写语法的更多信息,请参见规范:

它是一个通配符-匹配任何内容。第一个代码是身份转换模板,用于按原样复制输入中的每个节点和属性;关于stackoverflow,同样有许多问题,您可以通过一些问题来了解它是如何工作的。第二个是对当前节点的测试,以检查它是否有任何子元素(只有elments,而不是“anything”);如果是,则输入
xsl:if
,否则不输入。您如何完成自学这门语言的任务?当你发现一个你以前没有见过的构造时,问这个问题并不是最有效的方法。我可能很守旧,但当我学习一门新语言时,我要做的第一件事就是找到一本索引很好的书,花几个晚上读它,然后再写代码。
<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>
<xsl:if test="*">