我有一個問題,在使用XSLT通過屬性對xml entrys進行分組。缺少第一個元素在for-each循環與前兄弟在xslt
這裏是我的XML源:
<chron>
<chronEntry type="education" order="1" blockorder="1">
<foo>bar</foo>
</chronEntry>
<chronEntry type="education" order="2" blockorder="1">
<foo>bar</foo>
</chronEntry>
<chronEntry type="education" order="3" blockorder="1">
<foo>bar</foo>
</chronEntry>
<chronEntry type="communityservice" order="1" blockorder="2">
<foo>bar</foo>
</chronEntry>
<chronEntry type="experience" order="1" blockorder="3">
<foo>bar</foo>
</chronEntry>
<chronEntry type="experience" order="2" blockorder="3">
<foo>bar</foo>
</chronEntry>
<chronEntry type="experience" order="3" blockorder="3">
<foo>bar</foo>
</chronEntry>
<chronEntry type="experience" order="4" blockorder="3">
<foo>bar</foo>
</chronEntry>
</chron>
我想要得到的是屬性「類型」的所有可用值的列表。在這種情況下,它應該是: - 教育 - communityservice - 經驗
我tryed它是這樣的:
<xsl:for-each select="/foobar/chron/chronEntry">
<xsl:sort select="@blockorder"/>
<xsl:if test ="@blockorder != preceding-sibling::chronEntry[1]/@blockorder">
<fo:table-row>
<fo:table-cell>
<fo:block><xsl:value-of select="@type"/></fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>
</xsl:for-each>
什麼,我得到的是: - communityservice - 經驗
我缺少「教育」(第一個)
我能做些什麼來得到它?
Thaks爲您提供幫助!
格爾茨
戴夫
你使用XSLT 1.0或XSLT 2.0? – 2012-04-10 12:30:33