我有一個關於<xsl:template match="">
和<xsl:apply-templates/>
的一般性問題。XSLT 1.0:將條件放入匹配屬性或apply-templates?
我有,我的元素E1EDP01
匹配的情況。但是並不是所有的E1EDP01
元素都應該匹配,只有一定的範圍。
但現在是什麼只匹配一定範圍的元素的正確方法是什麼?
它是正確的做這樣:
<xsl:apply-templates select="E1EDP01"/>
和模板限制的E1EDP01
範圍:
<xsl:template match="E1EDP01[not(PSTYV='ZDAE')][E1EDP02[QUALF='001']/ZEILE]">
...
</xsl:template>
還是我必須改變應用模板到:
<xsl:apply-templates select="E1EDP01[not(PSTYV='ZDAE')][E1EDP02[QUALF='001']/ZEILE]"/>
感謝您對此提出意見。
最好的問候, 彼得
你好伊恩,謝謝你的詳細解答。是的,他們都工作。由於性能問題,我想知道是否也可以選擇?不過,我不太明白你在第二段中的意思。我針對符合條件的所有E1EDP02元素進行了特定操作,其他所有元素均未考慮。你能再解釋第二段嗎?謝謝彼得PS:例如從Dimitre下面的評論:http://stackoverflow.com/questions/12404116/nested-loops-in-xslt-for-dynamically-building-xml/12405591#12405591不使用/ /在比賽模式中。 – Peter 2013-02-19 13:51:12
你好伊恩,謝謝你的修改。我想我會在中進行過濾,因爲我特別只想要處理某個範圍(在您的示例中爲)。我想我明白了。最好的問候,彼得+1 –
Peter
2013-02-20 20:47:07