我有一個XML文件看起來像下面是什麼目的的<xsl:調用模板...>
- <select1>
- <sel_details>
<type>Primary Type</type>
<name>Some Name</name>
<id>ID Num</id>
<sel_details>
.....
<select1>
和XSL看起來像這樣
<xsl:for-each select="//select1">
<xsl:call-template name="sel_details" />
<xsl:with-param name="xmlSection" select="sel_details" />
</xsl:call-template>
<xsl:call-template name="....." />
<xsl:with-param name="xmlSection" select="....." />
</xsl:call-template>
..........
</xsl:for-each>
<xsl:template name="sel_details">
<xsl:param name="xmlSection" />
<xsl:for-each select="xmlSection">
<xsl:value-of select="./type" />
</xsl:for-each>
</xsl:template>
是什麼目的<xsl:call-template...>
然後<xsl:template name...>
?
如果我只寫3這樣的線,我能得到相同的值:在一個普通的編程語言
<xsl:for-each select="//select1/sel_details">
<xsl:value-of select="./type" />
</xsl:for-each>
非常感謝MathiasMüller!你的解釋非常清楚直接! –
嗨Mathias,關於你提到的'在幾個地方重複使用代碼塊以避免重複',並且我也閱讀了你提供的鏈接(至少廣義而言),這是一個很好的問題和答案。非常感謝!我也有同樣的擔憂:例如,我聲明瞭模板名稱A,並選擇了顯示在頁面頂部的值。然後,在頁面結尾處,模板A的值必須再次顯示,我試着''它不像預期的那樣工作!我收到一個錯誤:「無法將#STRING轉換爲NodeList」如何讓它工作?請指導。謝謝! –
@abcidd評論部分不是提出一個新的,無關的問題的地方。開始一個新的問題帖子來做到這一點。然後我很高興回答 - 或者別人會。但是請確保從頭開始包含以下信息:完整的輸入XML文檔,完整的XSLT樣式表,錯誤描述和您希望擁有的XML輸出。 –