【发布时间】:2012-02-07 12:08:18
【问题描述】:
我尝试了解 XSLT 2.0 中的分组功能。我的源文件是
<root>
<entry level="a" name="aaa"/>
<entry level="a" name="bbb"/>
<entry level="b" name="ccc"/>
<entry level="c" name="ddd"/>
<entry level="a" name="eee"/>
<entry level="a" name="fff"/>
<entry level="b" name="ggg"/>
</root>
结果应该是这样的
<section name="aaa"/>
<section name="bbb">
<section name="ccc">
<section name="ddd" />
</section>
</section>
<section name="eee"/>
<section name="fff">
<section name="ggg" />
</section>
即:如果有一个更深层次的后续条目(b比a深,...)下一节应该是当前的孩子,如果是同一层次,它应该是下一个兄弟.
我已尝试使用xsl:group-by select="entry" group-by="@level",这给了我一个合理的分组,但我不知道如何打开该部分以向下,如果有一个向下。
another similar question 声明“在 XSLT 2.0 中,使用新的分组函数会相当容易。” - 这可能很容易,但我不明白。
【问题讨论】:
-
你有固定数量的关卡还是可能有无限关卡?
-
@Chris 有固定数量的级别 (4)。