Hallo nochmal.
Es geht diesmal wieder um meine Bibliotheks-Liste, die ich nun über XSL ausgeben möchte in eine speziellen Art und Weise.
Die Struktur der XML ist die folgende: (gekürzt)
Ihr seht, es gibt in der Datei tausende Einträge von unterschiedlichen Typen (Article, Phdthesis, Inproceedings, ...), die nun über XSL geordnet nach dem Author ausgegeben werden sollen und genau da ist mein Problem.
Der Aufbau des XSL sieht folgendermaßen aus: (gekürzt)
Es wird zwar alles ausgegeben, aber eben nicht sortiert nach Author.
Was kann ich tun, um zum gewünschten Ziel zu kommen??
Es geht diesmal wieder um meine Bibliotheks-Liste, die ich nun über XSL ausgeben möchte in eine speziellen Art und Weise.
Die Struktur der XML ist die folgende: (gekürzt)
PHP-Code:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="layout.xsl" ?>
<bibliography xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="lasttry.xsd">
<bibo>
<bib_phdthesis type="phdthesis" id="Abadie:92">
<author>B. Abadie</author>
<title>On the K-theory of non-commutative Heisenberg manifolds</title>
<school>Univ. of California at Berkeley</school>
<year>1992</year>
</bib_phdthesis>
<bib_inproceedings type="inproceedings" id="Abadie:94">
<author>B. Abadie</author>
<title>”Vector bundles” over quantum Heisenberg manifolds</title>
<booktitle>Algebraic Methods in Operator Theory</booktitle>
<editor>R. Curto and P. E. T. Jørgensen</editor>
<publisher>Birkhäuser, Boston - Basel - Berlin</publisher>
<year>1994</year>
<note>307-315</note>
</bib_inproceedings>
<bib_article type="article" id="Abadie:95">
<author>B. Abadie</author>
<title>Generalized fixed-point algebras of certain actions on crossed products</title>
<journal>Pacific J. Math.</journal>
<volume>171</volume>
<year>1995</year>
<note>1-21</note>
</bib_article>
...
Der Aufbau des XSL sieht folgendermaßen aus: (gekürzt)
PHP-Code:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html><head>
</head>
<body>
<h2>Hilbert C* Modules Bibliography</h2>
<xsl:for-each select="bibliography/bibo">
<xsl:sort select="author"/>
<xsl:for-each select="bib_article">
<table>
<tr>
<td class="nummer">
<xsl:number level="single" count="*" format="[1]" />
</td>
<td class="inhalt">
<xsl:if test="author">
<xsl:text> </xsl:text>
<xsl:value-of select="author" />
</xsl:if>
<xsl:if test="title">
<xsl:text>, </xsl:text>
<span class="title"><xsl:value-of select="title" /></span>
</xsl:if>
<xsl:if test="journal">
<xsl:text>, </xsl:text>
<xsl:value-of select="journal" />
</xsl:if>
<xsl:if test="volume">
<xsl:text> </xsl:text>
<span class="volume"><xsl:value-of select="volume" /></span>
</xsl:if>
<xsl:if test="year">
<xsl:text> (</xsl:text>
<xsl:value-of select="year" />
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:if test="number">
<xsl:text>, number: </xsl:text>
<xsl:value-of select="number" />
</xsl:if>
<xsl:if test="pages">
<xsl:text>, pages: </xsl:text>
<xsl:value-of select="pages" />
</xsl:if>
<xsl:if test="month">
<xsl:text>, month: </xsl:text>
<xsl:value-of select="month" />
</xsl:if>
</td>
</tr>
</table>
</xsl:for-each>
<xsl:for-each select="bib_book">
<table>
<tr>
<td class="nummer">
<xsl:number level="single" count="*" format="[1]" />
</td>
<td class="inhalt">
<xsl:if test="author">
<xsl:text> </xsl:text>
<xsl:value-of select="author" />
</xsl:if>
<xsl:if test="title">
<xsl:text>, </xsl:text>
<span class="title"><xsl:value-of select="title" /></span>
</xsl:if>
<xsl:if test="publisher">
<xsl:text>, </xsl:text>
<xsl:value-of select="publisher" />
</xsl:if>
<xsl:if test="year">
<xsl:text> (</xsl:text>
<xsl:value-of select="year" />
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:if test="number">
<xsl:text>, number: </xsl:text>
<xsl:value-of select="number" />
</xsl:if>
<xsl:if test="pages">
<xsl:text>, pages: </xsl:text>
<xsl:value-of select="pages" />
</xsl:if>
<xsl:if test="month">
<xsl:text>, month: </xsl:text>
<xsl:value-of select="month" />
</xsl:if>
</td>
</tr>
</table>
</xsl:for-each>
</xsl:for-each>
</body></html>
</xsl:template>
</xsl:stylesheet>
Was kann ich tun, um zum gewünschten Ziel zu kommen??
Kommentar