我有一个关于<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