我在使用 XSLT 通过属性对 xml 条目进行分组时遇到问题。
这是我的源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>
我想要得到的是属性“类型”的所有可用值的列表。在这种情况下,它应该是: - 教育 - 社区服务 - 经验
我是这样尝试的:
<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>
我得到的是:-社区服务-经验
我缺少“教育”(第一个)
我该怎么做才能得到它?
谢谢你的帮助!
格雷茨
戴夫