Hi,
erstmal die XML Datei die ich benutze:
Alles anzeigen
Hier die XSL Datei:
Alles anzeigen
Und zwar möchte ich das er als Ergebnis mir eine Tabelle anzeigt die so aussieht:
Best.-Nr. | Best.Datum | Lieferdatum | Positionen
============================================================
1234568 | 20030416 | 20030530 | 3
AB012345 | 20030528 | 20030615 | 4
1234567 | 20030415 | 20030720 | 2
X54367 | 20030415 | 20030731 | 7
1234569 | 20030418 | 20030920 | 0
Die Tabelle oben ist nach dem Lieferdatum sortiert. Das Problem was ich habe ist,
dass ohne das sortieren mir die Tabelle so angezeigt wird, wie sie sein soll. Sprich von der Optik korrekt ist.
Wenn ich die aber dann nach dem Lieferdatum sortieren will, wird die Tabelle verschoben angezeigt. Und die Spaltenüberschriften befinden sich ganz oben und die Daten ein ganzes Stück weiter unten.
Was mache ich falsch? Wie kann ich den Fehler beheben, so dass meine Tabelle auch wenn ich nach dem Lieferdatum sortiere trotzdem richtig angezeigt wird.
mfg
n00b
erstmal die XML Datei die ich benutze:
Quellcode
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <?xml-stylesheet type="text/xsl" href="11-Bericht.xsl"?>
- <!DOCTYPE Bestellungen SYSTEM "08-bestell.dtd">
- <Bestellungen>
- <Bestellung id="myIDstring01">
- <Bestellkopf>
- <Belegnummer Belegart="Bestellung">1234567</Belegnummer>
- <Datum Funktion="Best" Format="ISOFMT">20030415</Datum>
- <Datum Funktion="LieferGew" Format="ISOFMT">20030720</Datum>
- <Handelspartner Rolle="Besteller">
- <Name>XY Handels AG</Name>
- <IdentNr IdentArt="GLN">2100000000001</IdentNr>
- </Handelspartner>
- <Handelspartner Rolle="Lieferant">
- <Name>ABC GmbH</Name>
- <IdentNr IdentArt="GLN">2900000200005</IdentNr>
- </Handelspartner>
- </Bestellkopf>
- <Bestellposition PosNr="1">
- <ArtNr IdentArt="ISBN">0-13-065198-2</ArtNr>
- <Beschreibung>XML Handbook 4th ed.</Beschreibung>
- <Menge>80</Menge>
- </Bestellposition>
- <Bestellposition PosNr="2">
- <ArtNr>2900000200005</ArtNr>
- <Beschreibung>Premium Pils alkoholfrei</Beschreibung>
- <Menge MengenArt="bestellt" MengenEinheit="LTR">100</Menge>
- </Bestellposition>
- <Bestellsumme>
- <Summenterm SummenArt="AnzPos">2</Summenterm>
- </Bestellsumme>
- </Bestellung>
- <Bestellung id="myIDstring02">
- <Bestellkopf>
- <Belegnummer Belegart="Bestellung">1234568</Belegnummer>
- <Datum Funktion="Best" Format="ISOFMT">20030416</Datum>
- <Datum Funktion="LieferGew" Format="DINFMT">20030530</Datum>
- <Handelspartner Rolle="Besteller">
- <Name>XY Handels AG</Name>
- <IdentNr IdentArt="GLN">2100000000001</IdentNr>
- </Handelspartner>
- <Handelspartner Rolle="Lieferant">
- <Name>ABC GmbH</Name>
- <IdentNr IdentArt="GLN">2900000200005</IdentNr>
- </Handelspartner>
- </Bestellkopf>
- <Bestellposition PosNr="1">
- <ArtNr IdentArt="ISBN">0-13-065198-2</ArtNr>
- <Beschreibung>XML Handbook 4th ed.</Beschreibung>
- <Menge>20</Menge>
- </Bestellposition>
- <Bestellposition PosNr="2">
- <ArtNr>2900000200005</ArtNr>
- <Beschreibung>Premium Pils alkoholfrei</Beschreibung>
- <Menge MengenArt="bestellt" MengenEinheit="LTR">20</Menge>
- </Bestellposition>
- <Bestellposition PosNr="3">
- <ArtNr>2900000200005</ArtNr>
- <Beschreibung>Premium Pils alkoholfrei</Beschreibung>
- <Menge MengenArt="ohne-Berechnung" MengenEinheit="LTR">5</Menge>
- </Bestellposition>
- <Bestellsumme>
- <Summenterm SummenArt="AnzPos">3</Summenterm>
- </Bestellsumme>
- </Bestellung>
- <Bestellung id="myIDstring03">
- <Bestellkopf>
- <Belegnummer Belegart="Bestellung">1234569</Belegnummer>
- <Datum Funktion="Best" Format="ISOFMT">20030418</Datum>
- <Datum Funktion="LieferGew" Format="ISOFMT">20030920</Datum>
- <Handelspartner Rolle="Besteller">
- <Name>XY Handels AG</Name>
- <IdentNr IdentArt="GLN">2100000000001</IdentNr>
- </Handelspartner>
- <Handelspartner Rolle="Lieferant">
- <Name>ABC GmbH</Name>
- <IdentNr IdentArt="GLN">2900000200005</IdentNr>
- </Handelspartner>
- </Bestellkopf>
- </Bestellung>
- <Bestellung id="myIDstring04">
- <Bestellkopf>
- <Belegnummer Belegart="Bestellung">X54367</Belegnummer>
- <Datum Funktion="Best" Format="ISOFMT">20030415</Datum>
- <Datum Funktion="LieferGew" Format="ISOFMT">20030731</Datum>
- <Handelspartner Rolle="Besteller">
- <Name>Nil AG</Name>
- <IdentNr IdentArt="GLN">2800000000004</IdentNr>
- </Handelspartner>
- <Handelspartner Rolle="Lieferant">
- <Name>ABC GmbH</Name>
- <IdentNr IdentArt="GLN">2900000200005</IdentNr>
- </Handelspartner>
- <Handelspartner Rolle="Warenempfänger">
- <Name>Nil AG, Lager München</Name>
- <IdentNr IdentArt="GLN">2800000000028</IdentNr>
- </Handelspartner>
- </Bestellkopf>
- <Bestellposition PosNr="10">
- <ArtNr IdentArt="ISBN">0-13-065198-2</ArtNr>
- <Beschreibung>XML Handbook 4th ed.</Beschreibung>
- <Menge>10</Menge>
- </Bestellposition>
- <Bestellposition PosNr="20">
- <ArtNr IdentArt="ISBN">1-861005-59-8</ArtNr>
- <Beschreibung>Beginning XML 2nd edition</Beschreibung>
- <Menge>10</Menge>
- </Bestellposition>
- <Bestellposition PosNr="30">
- <ArtNr IdentArt="ISBN">1-861005-06-7</ArtNr>
- <Beschreibung>XSLT 2nd edition</Beschreibung>
- <Menge>60</Menge>
- </Bestellposition>
- <Bestellposition PosNr="40">
- <ArtNr IdentArt="ISBN">0-201-71098-6</ArtNr>
- <Beschreibung>XML for the World Wide Web</Beschreibung>
- <Menge>10</Menge>
- </Bestellposition>
- <Bestellposition PosNr="50">
- <ArtNr IdentArt="ISBN">0-596-00355-2</ArtNr>
- <Beschreibung>XSL-FO</Beschreibung>
- <Menge>5</Menge>
- </Bestellposition>
- <Bestellposition PosNr="60">
- <ArtNr IdentArt="ISBN">0-201-71089-7</ArtNr>
- <Beschreibung>Programming Ruby</Beschreibung>
- <Menge>100</Menge>
- </Bestellposition>
- <Bestellposition PosNr="70">
- <ArtNr IdentArt="ISBN">0-201-71089-7</ArtNr>
- <Beschreibung>Programming Ruby</Beschreibung>
- <Menge MengenArt="ohne-Berechnung">10</Menge>
- </Bestellposition>
- <Bestellsumme>
- <Summenterm SummenArt="AnzPos">6</Summenterm>
- </Bestellsumme>
- </Bestellung>
- <Bestellung id="myIDstring05">
- <Bestellkopf>
- <Belegnummer Belegart="Bestellung">AB012345</Belegnummer>
- <Datum Funktion="Best" Format="ISOFMT">20030528</Datum>
- <Datum Funktion="LieferGew" Format="ISOFMT">20030615</Datum>
- <Handelspartner Rolle="Besteller">
- <Name>Neu Handels AG</Name>
- <IdentNr IdentArt="GLN">2200000000002</IdentNr>
- </Handelspartner>
- <Handelspartner Rolle="Lieferant">
- <Name>ABC GmbH, Getränke-Abteilung</Name>
- <IdentNr IdentArt="GLN">2900000200012</IdentNr>
- </Handelspartner>
- </Bestellkopf>
- <Bestellposition PosNr="1">
- <ArtNr>2900000300002</ArtNr>
- <Beschreibung>Cola Light 1.5l</Beschreibung>
- <Menge MengenArt="bestellt" MengenEinheit="LTR">150</Menge>
- </Bestellposition>
- <Bestellposition PosNr="2">
- <ArtNr>2900000200005</ArtNr>
- <Beschreibung>Premium Pils alkoholfrei</Beschreibung>
- <Menge MengenArt="bestellt" MengenEinheit="LTR">100</Menge>
- </Bestellposition>
- <Bestellposition PosNr="3">
- <ArtNr>2900000400009</ArtNr>
- <Beschreibung>Erdnüsse trocken geröstet, 150g</Beschreibung>
- <Menge MengenArt="bestellt" MengenEinheit="PCE">180</Menge>
- </Bestellposition>
- <Bestellposition PosNr="4">
- <ArtNr>2900000400009</ArtNr>
- <Beschreibung>Erdnüsse trocken geröstet, 150g</Beschreibung>
- <Menge MengenArt="ohne-Berechnung" MengenEinheit="PCE">20</Menge>
- </Bestellposition>
- <Bestellsumme>
- <Summenterm SummenArt="AnzPos">4</Summenterm>
- </Bestellsumme>
- </Bestellung>
- </Bestellungen>
Hier die XSL Datei:
Quellcode
- <xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:output method="text" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>
- <xsl:template match="Bestellungen">
- <xsl:text>
- Best.-Nr. |Best.Datum |Lieferdatum |Positionen
- ===========================================================
- </xsl:text>
- <xsl:apply-templates>
- <!--<xsl:sort select="Bestellkopf/Datum[@Funktion='LieferGew']" order="ascending"/>-->
- </xsl:apply-templates>
- </xsl:template>
- <xsl:template match="Bestellung">
- <xsl:value-of select="Bestellkopf/Belegnummer"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="Bestellkopf/Datum[@Funktion='Best']"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="Bestellkopf/Datum[@Funktion='LieferGew']"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="count(Bestellposition)"/>
- <xsl:text>
</xsl:text>
- </xsl:template>
- </xsl:stylesheet>
Und zwar möchte ich das er als Ergebnis mir eine Tabelle anzeigt die so aussieht:
Best.-Nr. | Best.Datum | Lieferdatum | Positionen
============================================================
1234568 | 20030416 | 20030530 | 3
AB012345 | 20030528 | 20030615 | 4
1234567 | 20030415 | 20030720 | 2
X54367 | 20030415 | 20030731 | 7
1234569 | 20030418 | 20030920 | 0
Die Tabelle oben ist nach dem Lieferdatum sortiert. Das Problem was ich habe ist,
dass ohne das sortieren mir die Tabelle so angezeigt wird, wie sie sein soll. Sprich von der Optik korrekt ist.
Wenn ich die aber dann nach dem Lieferdatum sortieren will, wird die Tabelle verschoben angezeigt. Und die Spaltenüberschriften befinden sich ganz oben und die Daten ein ganzes Stück weiter unten.
Was mache ich falsch? Wie kann ich den Fehler beheben, so dass meine Tabelle auch wenn ich nach dem Lieferdatum sortiere trotzdem richtig angezeigt wird.
mfg
n00b