我有一個XML這就好比是選擇節點的第一次出現:如何使用XSLT
<bookstores>
<bookstore>
<book id="1">
<author>ABC</author>
</book>
<book id="2">
<title>YYY</title>
</book>
</bookstore>
<bookstore>
<book id="3">
<author>ABC</author>
</book>
<book id="4">
<author>DEF</author>
</book>
</bookstore>
<bookstore>
<book id="5">
<price>50</price>
</book>
<book id="6">
<title>ZZZ</title>
</book>
</bookstore>
</bookstores>
我想選擇「書」節點的孩子或者換句話說,第一次出現,'book'節點的所有獨特的子節點。
所以輸出應該是這樣的:
author
title
price
我寫了一個XSLT爲:
<xsl:for-each select="bookstores/bookstore/book">
<xsl:if test="count(preceding-sibling::*[1]) = 0">
<xsl:value-of select="local-name(*[1])"/>
</xsl:if>
</xsl:for-each>
這回我什麼...任何人都可以給我一些這方面的幫助?謝謝!!
UPDATE:
如果我有幾個「書店」在我的XML元素,我只是想給每個「書店」範圍內限制了獨特因此,即使「作者」出現在一個「書店」,如果它出現在另一家「書店」中,它仍然可以顯示出來?
您使用的是XSLT 1.0還是XSLT 2.0? –