Problem bei XSL-Datei

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem bei XSL-Datei

    Hallo,

    ich bin neu was XML(XSL) Betrifft und löse Aufgaben aus einem Heft. Jetzt bin ich aber an einer Stelle wo ich nicht weiter komme. Es ist bestimmt total einfach, aber ich komme nicht auf die Lösung.
    Hier mal der Code:

    Quellcode

    1. <?xml version="1.0" ?>
    2. <xsl:stylesheet xmlns:xsl="http://www.w3org/1999/XSL/Transform" version="1.0">
    3. <xsl:template match="/">
    4. <html>
    5. <head>
    6. <title>Bestellte Positionen</title>
    7. </head>
    8. <body>
    9. <xsl:apply-templates />
    10. </body>
    11. </html>
    12. </xsl:template>
    13. <xsl:template match="Positionen">
    14. <h2>Folgende Positionen werden geliefert:</h2>
    15. ????????????????????????
    16. <xsl:apply-templates />
    17. </xsl:template>
    18. <xsl:template match="Bestellposition">
    19. <i>Betellposition</i><br />
    20. <b><xsl:value-of select="Bezeichnung" /></b><br />
    21. <b>Anzahl:</b>
    22. <xsl:value-of select="Artikelanzahl" /><br />
    23. <b>Artikel:</b>
    24. <xsl:value-of select="Artikelnummer" /><br />
    25. <hr />
    26. </xsl:template>
    27. </xsl:stylesheet>
    Alles anzeigen


    So sieht der Code aus, wo ich die Fragezeichen gesetzt habe fehlt mir die entsprechende Zeile. Den Rest habe ich schon ausgefüllt und sonst ist es vorgegeben. Wenn ich den Code so teste steht nichts in der Ausgabe, denke das ist die Zeile die mir fehlt.

    Wäre schön wenn jemand eine Idee hätte und mir so weiter helfen kann.

    Danke schon mal.

    VG
    green
  • Hi,

    wie sieht denn das XML Dokument dazu aus? Ich sehe keinen Fehler im XSLT Stylesheet.

    Aber prinzipiell könntest du auch eine for-each Schleife verwenden.
    http://de.selfhtml.org/xml/darstellung/xsltelemente.htm#for_each

    Quellcode

    1. <xsl:for-each select="Bestellposition">
    2. <i>Betellposition</i><br />
    3. <b><xsl:value-of select="Bezeichnung" /></b><br />
    4. <b>Anzahl:</b>
    5. <xsl:value-of select="Artikelanzahl" /><br />
    6. <b>Artikel:</b>
    7. <xsl:value-of select="Artikelnummer" /><br />
    8. <hr />
    9. </xsl:for-each>


    Reduzier das Problem mal auf den konkreten Fehler.
    Dass du gar nichts in der Ausgabe erhältst ist unwahrscheinlich.
    "Bestellte Positionen" muss definitiv in der Browser-Titelzeile stehen.

    Wenn es ein Tag Positionen gibt, hätte irgendwo auch der Text "Folgende Positionen werden geliefert:" stehen müssen.
  • Hallo,

    meine XML Datei sieht so aus:

    Quellcode

    1. <?xml version="1.0"?>
    2. <?xml-stylesheet href="Positionen.css" type="text/css"?>
    3. <Positionen>
    4. <Bestellposition>
    5. <Bezeichnung>Lernheft XML 1</Bezeichnung>
    6. <Artikelnummer>4711</Artikelnummer>
    7. <Artikelanzahl>5</Artikelanzahl>
    8. </Bestellposition>
    9. <Bestellposition>
    10. <Bezeichnung>Lernheft XML </Bezeichnung>
    11. <Artikelnummer>4712</Artikelnummer>
    12. <Artikelanzahl>5</Artikelanzahl>
    13. </Bestellposition>
    14. </Positionen>
    Alles anzeigen


    Es soll ja was in der Ausgabe sein und die Zeile mit den Fragezeichen soll gefüllt werden. Ich habe meinen Lehrer gefragt aber der hat nur gemeint ich soll auf einer Seite im Buch schauen, da steht der Code allerdings ohne diese Zeile!!

    Der Text steht bei der Ausgabe da, allerdings ohne die Positionen.

    Danke noch mal.
  • Du hast einen Fehler in der URL:

    Quellcode

    1. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">


    Danach sollte es funktionieren. Bei mir klappts jedenfalls schon im Firefox, wenn ich das Stylesheet in die XML einbinde:

    Quellcode

    1. <?xml-stylesheet type="text/xsl" href="test.xsl" ?>


    Ganz ohne Ergänzung:

    Quellcode

    1. <html><head>
    2. <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    3. <title>Bestellte Positionen</title>
    4. </head>
    5. <body>
    6. <h2>Folgende Positionen werden geliefert:</h2>
    7. <i>Betellposition</i><br>
    8. <b>Lernheft XML 1</b><br>
    9. <b>Anzahl:</b>5<br>
    10. <b>Artikel:</b>4711<br>
    11. <hr>
    12. <i>Betellposition</i><br>
    13. <b>Lernheft XML </b>
    14. <br><b>Anzahl:</b>5<br>
    15. <b>Artikel:</b>4712<br>
    16. <hr>
    17. </body></html>
    Alles anzeigen
  • Hallo,
    ich habe das jetzt ausführlich getestet und versucht aber wenn ich die eine Zeile raus nehme bekomme ich eine Fehlermeldung das er es nicht verarbeiten kann weil dem IE der Code für XSL fehlt, auch im Firefox gehts nicht :( Gibt es noch eine andere Möglichkeit?

    Sorry für die erst so späte Antwort, konnte nicht früher!!

    Danke noch mal.