Das Kapitel 15 hat gezeigt, wie man
mit Hilfe von DSSSL die Daten zu einzelnen
Autor(inn)en aufbereiten kann. Solange man sich darauf
konzentriert, das serverseitig zu tun (und das entsprechende
Knowhow im Hause hat), spricht nichts dagegen, das auch
weiterhin mit DSSSL zu tunDeswegen
haben wir das Kapitel nicht nach XSLT
umgeschrieben.. Je weiter man in die Zukunft
denkt, desto eher dürfte aber das offiziell sanktionierte
XSLT ins Spiel kommen, zumal diejenigen, die
jetzt anfangen, sich mit XML zu beschäftigen,
sich auf XSLT konzentrieren dürften.
In diesem Kaptel wird also nicht das genannte in XSLT wiederholt, sondern wir wollen ein paar Kleinigkeiten zeigen, die man mit XSLT gut machen kann. Das erste der beiden Beispiele (Sortieren von Daten) ist etwas, das in DSSSL alles andere als trivial ist. Es gibt zwar in Lisp geschriebene Sortieralgorithmen, aber sie auf Knotenmengen umzusetzen, ist schwierig. In XSLT hingegen ist gerade dies einfach, weil die Spezifikation das vorsieht und Tools wie Saxon es auch implementiert haben.
Grundlage der hier verwendeten Daten ist der
Einfachheit (und Demonstration) halber eine abgespeckte
Version der in Kapitel 15 vorgestellten. Eine
XML-Instanz, die aus Einträgen der folgenden Art
besteht, verzichtet im Vergleich zu Kapitel 15 auf weitere Lebensdaten (event)
und Werke (works).
<!-- Jane Austen --> <author id="austen" url="http://uts.cc.utexas.edu/~churchh/"> <name> <fname>Jane</fname> <lname>Austen</lname> </name> <vita> <born> <year>1775</year> <month>12</month> <day>16</day> <where> <place>Steventon/Hampshire</place> <country>uk</country> </where> </born> <died> <year>1817</year> <month>7</month> <day>18</day> <where> <place>Winchester</place> <country>uk</country> </where></died> </vita> </author>
Dafür bietet das unten folgende Stylesheet das, was in der DSSSL-Variante fehlte: den Überblick darüber, welche Autor(inn)en in einem Jahrhundert geboren wurden (in der richtigen Reihenfolge).