次のようなXMLファイルがあり、出版年に基づいて本をグループ化し、各年の本の数を数えたいと思います。結果を昇順で並べ替えます。
<body>
<outline text="A">
<outline text="Abelson, Harold" author="Harold Abelson" title="Struktur und Interpretation von Computerprogrammen. Eine Informatik-Einführung" publisher="Springer Verlag" isbn="3540520430" year="1991"/>
<outline text="Abrahams, Paul W." author="Paul W. Abrahams" title="Tex for the Impatient" publisher="Addison-Wesley Pub Co" isbn="0201513757" year="2000"/>
</outline>
<outline text="B">
<outline text="Bach, Fred" author="Fred Bach" title="UNIX Handbuch zur Programmentwicklung" publisher="Hanser Fachbuchverlag" isbn="3446151036"/>
<outline text="Bach, Maurice J." author="Maurice J. Bach" title="Design of the UNIX Operating System" publisher="Prentice Hall PTR" isbn="0132017997" year="1986"/>
</outline>
</body>
これが例外的な出力です
<p> Group by Year </p>
<table border="1">
<tr bgcolor="yellow">
<th>Year</th>
<th>Number</th>
</tr>
<tr>
<td>1963</td>
<td>1</td>
</tr>
<tr>
<td>1966</td>
<td>1</td>
</tr>
これが私のコードです:
<xsl:template match="body">
<xsl:copy>
<table border="1">
<tr bgcolor="Yellow">
<th class="cell"><span> Year </span></th>
<th class="cell"><span> Count </span></th>
</tr>
<xsl:apply-templates select="outline"/>
</table>
</xsl:copy>
</xsl:template>
<xsl:key name="groupbyyear" match="outline" use="@year"/)/>
<xsl:template match="outline/outline">
<tr>
<xsl:sort select="year" order="ascending" />
</tr>
</xsl:template>
</xsl:stylesheet>
xslキー関数の使用方法がわかりません。また、キー関数の後にテンプレート内で何をすべきですか?