Xml xsl:将模板应用到正确的位置

Xml xsl:将模板应用到正确的位置,xml,xslt,Xml,Xslt,我试图修改现有的XSLT以使其适合我的需要,但我想了解xsl:apply templates在处理附加标记时的正确应用 给定以下现有代码。我想先了解一些事情 不带select语句。因此,从文档中可以看出,该元素将模板应用于当前元素或当前元素的子节点。那么这是否意味着对于与tabelcell的匹配,该模板将仅应用于自身(并且仅当存在select语句来处理这些子级时,才应用于子级) 如果在end标记之后而不是在内部,则示例代码中的位置是否会有所不同 如果下面的示例代码没有行,那么这是否意味着与tab

我试图修改现有的XSLT以使其适合我的需要,但我想了解xsl:apply templates在处理附加标记时的正确应用

给定以下现有代码。我想先了解一些事情

  • 不带select语句。因此,从文档中可以看出,该元素将模板应用于当前元素或当前元素的子节点。那么这是否意味着对于与tabelcell的匹配,该模板将仅应用于自身(并且仅当存在select语句来处理这些子级时,才应用于子级)

  • 如果在end
    标记之后而不是在内部,则示例代码中的位置是否会有所不同

  • 如果下面的示例代码没有行
    ,那么这是否意味着与tabelcell的匹配不会发生任何变化

    
    为简单起见删除了内容
    

  • 如果有
    的子项,如
    ,考虑到
    元素中已经有
    ,我需要如何修改上述代码以纳入此类处理?e、 g.如果我想添加

  • 我是XSLT的新手,到目前为止,我一直只在xsl:template标记中使用select语句简单地放置xsl:apply-templates元素

    若有人能通过回答我上面的问题来帮助澄清我对xsl:apply模板的行为和使用的理解,那个将是非常棒的

    干杯

  • 因此,从文档中可以看出,该元素将模板应用于 当前元素或到当前元素的子节点

    我不知道你从哪里读到的。这不是真的。这是你的想法 说:

    在缺少select属性的情况下,
    xsl:apply templates
    指令处理当前节点的所有子节点, 包括文本节点。

  • 是的,这很重要。按照现在的方式,应用模板的结果将放置在
    td
    元素中。如果将
    xsl:apply templates
    指令移到
    td
    元素之外,则结果将在输出中结束

  • 否。仍将创建
    td
    元素。它将只是空的(或者更准确地说,它仍然包含“为简单起见删除内容”部分中的内容)

  • 这个问题不清楚。如上文#1所述,将处理
    tablecell
    的所有子项。如果将另一条指令添加到
    ,则
    par
    元素将被处理两次