Hi!
Ich versuche jetzt seit einiger Zeit die xsl:sort Funktion richtig einzubinden und dachte irgendwie, dass ich das auch hätte, nur sortiert es mir die Werte nicht bzw. falsch.
Hier meine xsl Datei.
Alles anzeigen
Und die xml Datei:
Alles anzeigen
In der zweiten Tabelle sollen die Räume übergreifend nach Anzahl der Beamer sortiert werden. Das sort wird aber irgendwie komplett ignoriert. Wenn es in der inneren for-each schleife steht, dann wird aber auch nicht richtig sortiert.
Noch dazu funktioniert <xsl:value-of select="gebaeude/strasse"/> nicht. Funktionieren an der Stelle absolute Pfade nicht?
Sitze schon ne Weile daran, bin für jede Hilfe dankbar.
Ich versuche jetzt seit einiger Zeit die xsl:sort Funktion richtig einzubinden und dachte irgendwie, dass ich das auch hätte, nur sortiert es mir die Werte nicht bzw. falsch.
Hier meine xsl Datei.
Quellcode
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:template match="unidaten">
- <html>
- <body>
- <table border="1">
- <tr bgcolor="#FF7A00">
- <th>Raum Nr</th>
- <th>Typ</th>
- <th>Sitze</th>
- <th>Beamer</th>
- <th>Fakultät</th>
- </tr>
- <xsl:for-each select="gebaeude/stockwerk/raum">
- <xsl:sort select="fakultaet" data-type="text"/>
- <xsl:sort select="sitze" data-type="number"/>
- <xsl:sort select="typ" data-type="text"/>
- <tr>
- <td><xsl:value-of select="@nr"/></td>
- <td><xsl:value-of select="typ"/></td>
- <td><xsl:value-of select="sitze"/></td>
- <td><xsl:value-of select="beamer"/></td>
- <td><xsl:value-of select="fakultaet"/></td>
- </tr>
- </xsl:for-each>
- </table>
- <table border="1">
- <h2>Serviceverzeichnis:</h2>
- <tr bgcolor="#218359">
- <th>Gebäude</th>
- <th>Raum Nr</th>
- <th>Typ</th>
- <th>Beamer</th>
- </tr>
- <xsl:for-each select="gebaeude">
- <xsl:for-each select="stockwerk/raum">
- <xsl:sort select="beamer" data-type="number" order="descending"/>
- <tr>
- <td><xsl:value-of select="gebaeude/strasse"/></td>
- <td><xsl:value-of select="@nr"/></td>
- <td><xsl:value-of select="typ"/></td>
- <td><xsl:value-of select="beamer"/></td>
- </tr>
- </xsl:for-each>
- </xsl:for-each>
- </table>
- </body>
- </html>
- </xsl:template>
- </xsl:stylesheet>
Und die xml Datei:
Quellcode
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!DOCTYPE unidaten SYSTEM "raumplan.dtd">
- <?xml-stylesheet type="text/xsl" href="raumansicht.xsl" ?>
- <unidaten>
- <gebaeude baujahr="2010">
- <adresse>
- <plz></plz>
- <ort></ort>
- <strasse>Baumstrasse</strasse>
- <nr>21</nr>
- </adresse>
- <kuerzel></kuerzel>
- <spitzname></spitzname>
- <wahl>Aufzug</wahl>
- <stockwerk nr="1">
- <raum nr="1">
- <typ>Hörsaal</typ>
- <sitze>110</sitze>
- <beamer>1</beamer>
- <fakultaet>GuK</fakultaet>
- </raum>
- <raum nr="2">
- <typ>Hörsaal</typ>
- <sitze>100</sitze>
- <beamer>2</beamer>
- <fakultaet>SoWi</fakultaet>
- </raum>
- <raum nr="3">
- <typ>Seminarraum</typ>
- <sitze>50</sitze>
- <beamer>2</beamer>
- <fakultaet>GuK</fakultaet>
- </raum>
- </stockwerk>
- <stockwerk nr="2">
- <raum nr="1">
- <typ>Seminarraum</typ>
- <sitze>60</sitze>
- <beamer>1</beamer>
- <fakultaet>SoWi</fakultaet>
- </raum>
- <raum nr="2">
- <typ>Büro</typ>
- <sitze>3</sitze>
- <beamer>0</beamer>
- <fakultaet>GuK</fakultaet>
- </raum>
- <raum nr="3">
- <typ>Labor</typ>
- <sitze>10</sitze>
- <beamer>1</beamer>
- <fakultaet></fakultaet>
- </raum>
- </stockwerk>
- </gebaeude>
- </unidaten>
In der zweiten Tabelle sollen die Räume übergreifend nach Anzahl der Beamer sortiert werden. Das sort wird aber irgendwie komplett ignoriert. Wenn es in der inneren for-each schleife steht, dann wird aber auch nicht richtig sortiert.
Noch dazu funktioniert <xsl:value-of select="gebaeude/strasse"/> nicht. Funktionieren an der Stelle absolute Pfade nicht?
Sitze schon ne Weile daran, bin für jede Hilfe dankbar.