XML-файл:
<books>
<scifi key=...>
<author>Don Larson</author>
<title>The Edge</title>
<year>...</year>
</scifi>
<scifi key=...>
<author>Don Larson</author>
<author>James Kiddleton</author>
<author>Danny Wobers</author>
<title>Incognitum</title>
<year>1987</year>
</scifi>
<scifi key=...>
<author>....</author>
<author>....</author>
<title>...</title>
<year>...</year>
</scifi>
etc......................
</books>
XSL-файл:
<xsl:template match="/">
<html>
<body>
<center><h1>SciFi</h1>
<table border="1">
<tr>
<th>Title</th>
<th>Authors</th>
<th>Year</th>
</tr>
<xsl:for-each select="books/scifi">
<xsl:sort select="year"/>
<tr>
<td><center><xsl:value-of select="title"/></center></td>
<td>
<xsl:for-each select="author">
<p><xsl:value-of select="."/></p>
</xsl:for-each>
</td>
<td><xsl:value-of select="year"/></td>
</tr>
</xsl:for-each>
</table>
</center>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Когда отображается приведенная выше таблица, для каждой ячейки, содержащей заголовок, в ячейке рядом с ней содержатся все авторы, связанные с этим заголовком
например:
Title Authors Year
(1cell) (1cell) (1cell)
----- ------- ----
Don Larson
Incognitum James Kiddleton 1987
Danny Wobers
Теперь я хочу, чтобы для каждого заголовка отображались авторы (если их больше ...), связанные с ним в отдельных ячейках, и получалось что-то вроде этого:
Title Authors Year
(3cells) (3cells) (3cells)
----- ------- ----
Incognitum Don Larson 1987
Incognitum James Kiddleton 1987
Incognitum Danny Wobers 1987
Вместо того, чтобы иметь одну ячейку для заголовка и одну ячейку, содержащую всех трех авторов, связанных с этим заголовком, я хочу иметь три ячейки с одинаковым заголовком, и каждая из этих ячеек может иметь ячейку с соответствующим автором рядом с ней.
Я все еще хочу сортировать все по годам, и я все еще хочу, чтобы порядок моих ячеек (слева-> справа) был Титул-> Автор-> Год
Что мне нужно изменить в моем XSL-файле?