如何针对多种条件应用xsl模板?

问题描述 投票:0回答:1

我正在尝试基于多种条件应用 xsl 模板,例如:

应用相同的模板,如果

  • 节点的子节点存在或
  • 节点存在

例如:

<root>
     <data>
         <test>VVV</test>
         <item>AAA</item>
         <item>BBB</item>
     </data>
</root>

我需要在以下两种情况之一下应用相同的模板:

  • 如果数据/项目存在或
  • 如果数据存在

解析根目录后,尝试以下操作:

预期结果: 如果数据/项目存在,则在该元素级别调用模板,否则,如果数据存在,则调用相同的模板。

但就我而言,只要存在数据/项目,它就会应用模板两次:首先在数据级别,然后在数据/项目级别,这与预期不符。有人可以帮忙吗?

xml xslt saxon
1个回答
0
投票

您可以使用例如

<xsl:apply-templates select="data/item | data[not(item)]" mode="testMode" />
但显然很难判断您是否有正确的模板来处理
data
以及
item
元素,因为您没有显示您正在谈论的模板。

© www.soinside.com 2019 - 2024. All rights reserved.