【发布时间】:2017-11-30 10:17:24
【问题描述】:
我有如下要求。 示例 XML:
<root>
<bookseries>
<author/>
<version/>
<book>
<date>1</date>
<price>10</price>
</book>
<book>
<date>2</date>
<price>20</price>
</book>
<book>
<date>3</date>
<price>30</price>
</book>
</bookseries>
</root>
现在我想将模板应用于所有 book 元素。 我目前在我的模板中做的是:
<xsl:template match="//book">
<!--here I want to see which book element is being copied and also format its data.
I am not getting the current order number of template-->
</xsl:template>
目前使用这种方法,我只能重复获取第一本书元素数据 3 次。我需要在各自的模板调用中访问每本书的元素数据。我该怎么做?
【问题讨论】:
-
那么你在哪里应用你发布的模板,模板正文看起来如何?在正文中,
book元素是上下文节点,因此请使用像price这样的相对表达式来访问匹配书籍的价格,而不是//price,后者将选择所有price元素并使用value-of和 XSLT 1然后只输出文档中的第一个price元素。