我一直在尝试解决我上周提出的一个问题。
我必须将每个部分的第一页和最后一页号输出到一个有两行的表中。
我对如何将两行表与 Muenchian 分组方法集成感到困惑
XSLT 1.0 解决方案正是我所需要的。我在下面有一个解决方案,但我需要两行。
任何建议或指导将不胜感激。
输入:
<root>
<page number="1" section="Arsenal">Arsenal</page>
<page number="2" section="Arsenal">Arsenal</page>
<page number="3" section="Arsenal">Arsenal</page>
<page number="4" section="Arsenal">Arsenal</page>
<page number="5" section="Arsenal">Arsenal</page>
<page number="6" section="Arsenal">Arsenal</page>
<page number="7" section="Chelsea">Chelsea</page>
<page number="8" section="Chelsea">Chelsea</page>
<page number="9" section="Chelsea">Chelsea</page>
<page number="10" section="Chelsea">Chelsea</page>
<page number="11" section="Chelsea">Chelsea</page>
<page number="12" section="Chelsea">Chelsea</page>
<page number="13" section="ManUnited">ManUnited</page>
<page number="14" section="ManUnited">ManUnited</page>
<page number="15" section="ManUnited">ManUnited</page>
<page number="16" section="ManUnited">ManUnited</page>
<page number="17" section="ManUnited">ManUnited</page>
<page number="18" section="ManUnited">ManUnited</page>
<page number="19" section="ManCity">ManCity</page>
<page number="20" section="ManCity">ManCity</page>
<page number="21" section="ManCity">ManCity</page>
<page number="22" section="ManCity">ManCity</page>
<page number="23" section="ManCity">ManCity</page>
<page number="24" section="ManCity">ManCity</page>
</root>
输出:
<table>
<tr>
<td>Arsenal</td>
<td></td>
<td>Chelsea</td>
<td></td>
<td>ManU</td>
<td></td>
<td>ManCity</td>
<td></td>
</tr>
<tr>
<td>1</td>
<td>6</td>
<td>7</td>
<td>12</td>
<td>13</td>
<td>18</td>
<td>19</td>
<td>24</td>
</tr>
</table>
这是我当前的 XSLT 逻辑。
<table>
<tr>
<xsl:apply-templates select="page[generate-id() = generate-id(key('kSection', @section))]"/>
</tr>
</table>
</xsl:template>
<xsl:template match="page">
<td>
<xsl:value-of select="@section"/>
</td>
<td>
<xsl:value-of select="@number"/>
</td>
<td>
<xsl:value-of select="key('kSection', @section)[last()]/@number"/>
</td>
</xsl:template>
</xsl:stylesheet>
问候JJ。