簡體   English   中英

XSLT 1.0 多個模板匹配塊

[英]XSLT 1.0 Multiple template match blocks

在一些 xslt 文件中,我看到了多個模板匹配塊。 是否有一個原因?

<xsl:template match="/">
    <xsl:apply-templates select="/ns0:MyRoot" />
</xsl:template>

<xsl:template match="/ns0:MyRoot">
.. // do stuff
</xsl:template>

更新:刪除了第二個問題

在您的示例中,沒有充分的理由擁有第一個模板,因為它不會做任何內置模板無論如何都不會做的事情:

<xsl:template match="*|/">
  <xsl:apply-templates/>
</xsl:template>

(除非目的是防止處理根元素不是ns0:MyRoot的 XML 文檔)。

但是,由於XSLT 處理的工作方式,通常有很好的理由擁有多個模板。 在許多情況下,將模板應用於多個節點很方便,讓處理器為每個節點找到最佳匹配的模板。 這允許您封裝用於處理每種類型節點的代碼並避免復雜的條件語句。

OTOH,需要說的是,經常無緣無故地過度使用多個模板,導致GOTO 綜合症


[英]Multiple <xsl:template match in .xslt file in mule

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM