【发布时间】:2016-12-12 15:38:32
【问题描述】:
我想将相同的 xsl:template 应用于 xml 树的不同节点,最好通过节点的属性进行选择。以下是 XML 树的示例:
<journal>
<claimantmonth>
<By format="lookup">Bank dr/cr</By>
<Month format="inputRO">4</Month>
<Year format="inputRO">2012</Year>
<claimslist>
<claim>
<id format="hidden">867</id>
<enteredDate format="dateRO">2012-06-11</enteredDate>
<enteredBy format="lookup">chris</enteredBy>
<expenseDate format="date">2012-04-02</expenseDate>
<description format="text">Electric Co</description>
</claim>
</claimslist>
</claimantmonth>
</journal>
我想对enteredDate 和expenseDate 使用相同的模板,但对描述等使用不同的模板。
我对 XSLT 很陌生,但我一直在徒劳地寻找答案,所以我只需要一个指向哪里的指针。
我找到了很多关于如何将各种不同模板应用到 SAME 节点的示例。但这不是我的问题。
【问题讨论】:
-
请添加您的 XSLT 的相关部分。顺便说一句,您的节点都没有任何属性(根据“属性”的通常定义)。这种节点的例子是什么?
-
您可以使用
<xsl:template match="enteredDate | expenseDate">...</xsl:template>。至于“通过节点的属性选择”,我在您的 XML sn-p 中根本看不到任何属性。 -
糟糕,抱歉。我不小心复制了错误的版本。现在编辑以显示属性。至于 XSLT,我认为我没有什么要展示的,但在伪代码中它看起来像这样: inputRO:
我还在阅读,我想我需要更好地理解 XPATH。