Xml 使用属性值进行XSLT排序并创建内容表(TOC)

Xml 使用属性值进行XSLT排序并创建内容表(TOC),xml,xslt,Xml,Xslt,我有一个关于使用示例XML文件创建TOC的问题。我面临的挑战是使用适当的TOC以嵌套方式对XML进行排序和排序 这是我的XML <root> <Statute> <Body> <Heading level="1"> <TitleText>Title</TitleText> </Heading>

我有一个关于使用示例XML文件创建TOC的问题。我面临的挑战是使用适当的TOC以嵌套方式对XML进行排序和排序

这是我的XML

<root>
    <Statute>

        <Body>
            <Heading level="1">
                <TitleText>Title</TitleText>
            </Heading>
            <Section>lorem</Section>
            <Heading level="1"><Label>PART 1</Label>
                <TitleText>part1 data</TitleText>
            </Heading>
            <Heading level="2">
                <TitleText>subpart</TitleText>
            </Heading>
            <Section>lorem</Section>
            <Heading level="3">
                <TitleText>sub-subpart</TitleText>
            </Heading>
            <Section>lorem</Section>
            <Heading level="3">
                <TitleText>sub-subpart</TitleText>
            </Heading>
            <Section>lorem</Section>
        </Body>
    </Statute>
</root>

标题
洛勒姆
第一部分
第1部分数据
子部分
洛勒姆
子部分
洛勒姆
子部分
洛勒姆
这是我正在寻找的输出

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   </head>
   <body>
      <div class="main">
         <div class="ltTOCl1"><a href="id_d1e4.html">Title</a></div>
         <div class="ltTOCl1"><a href="id_d1e7.html">PART1</a></div>
         <div class="ltTOCl2"><a href="id_d1e10.html">subpart</a></div>
         <div class="ltTOCl3"><a href="id_d1e13.html">sub-subpart</a></div>
         <div class="ltTOCl3"><a href="id_d1e16.html">sub-subpart</a></div>
      </div>
   </body>
</html>

这是XSLT

这似乎需要对每个组递归使用
,选择以=“Heading[@level=$level]”开头的“Heading”组。
,在每次递归调用中,您递增
$level
。举个例子,似乎只有您希望保持平面结构,所以使用给定的递归方案,但不要将递归调用嵌套在您创建的结果元素中。如果级别不仅在增加,还不清楚输出应该如何。