Antman: Anfängerfrage

Hallo Forum,

ich verstehe die Grundidee zu XSLT. In einem Verzeichnis habe ich folgende 2 Dateien. Einmal die xml Datei und dann die Transformationsdatei. Wie kann ich mir aber nun die HTML Ausgabe angucken?

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>

<?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="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Title</th>
      <th align="left">Artist</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

  1. Hallo Antman

    Die beiden Dateien müssen natürlich noch zusammengefügt, d.h. transformiert werden. Dazu brauchst du einen beliebigen XSL-Transformator. [Link:http://www.w3schools.com] liefert gute Infos zu dem Thema, und irgend wo wird der im IE integrierte und per Javascript einfach nutzbare Transformator besprochen...

    FG

    Tom2

    1. Hallo Tom2,

      Die beiden Dateien müssen natürlich noch zusammengefügt, d.h. transformiert werden. Dazu brauchst du einen beliebigen XSL-Transformator. [Link:http://www.w3schools.com] liefert gute Infos zu dem Thema, und irgend wo wird der im IE integrierte und per Javascript einfach nutzbare Transformator besprochen...

      Ja ich mache dort das XSLT Tutorial. Aber habe von XSL-Transformator weit und breit nix gelesen. Hättest du mal das Link?

  2. Hi,

    ich verstehe die Grundidee zu XSLT. In einem Verzeichnis habe ich folgende 2 Dateien. Einmal die xml Datei und dann die Transformationsdatei. Wie kann ich mir aber nun die HTML Ausgabe angucken?

    z.B. ins XML noch eine stylesheet-Anweisung für das XSLT reinsetzen, dann die XML-Datei im Browser aufrufen (soweit der Browser das unterstützt).

    Oder
    bei microsoft.com irgendwo (Suchen) das Programm msxsl runterladen, dann kannst Du das im Kommandozeileninterpreter ganz einfach aufrufen a la
    msxsl mein.xml mein.xsl

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  3. Hi,
    schreibe in das XML-File unterhalb der ersten Zeile dieses:

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

    Ersetze deinxslfile.xsl mit dem richtigen link zur xsl-datei.
    Dann kannst Du das XML-File mit IE6x oder Firefox öffnen und das Ergebnis sehen.

    1. Ersetze deinxslfile.xsl mit dem richtigen link zur xsl-datei.
      Dann kannst Du das XML-File mit IE6x oder Firefox öffnen und das Ergebnis sehen.

      Moment, ist dieses ganze XSl zeug Dynamisch und geht nur mit dem IE?
      Ich dachte ich könnte damit eine andere Datei _erzeugen_.
      Also von einer Ausgangsdatei. Geht das (nur) mit diesem Microsoft Tool?

      1. Hallo,

        Ersetze deinxslfile.xsl mit dem richtigen link zur xsl-datei.
        Dann kannst Du das XML-File mit IE6x oder Firefox öffnen und das Ergebnis sehen.

        Moment, ist dieses ganze XSl zeug Dynamisch und geht nur mit dem IE?
        Ich dachte ich könnte damit eine andere Datei _erzeugen_.
        Also von einer Ausgangsdatei. Geht das (nur) mit diesem Microsoft Tool?

        Nein.
        Du hast zwei Möglichkeiten:

        1. du _willst_ für alle Browser deine Seite zugäglich machen, dann muss du die XML/XSL-Transformation am Server ausführen, so dass es nur das ergebnis HTML an den Browser gesendet wird.
          Das kannst du z.B. mit PHP, ASP etc. serverseitigen Sprachen machen.

        2. du hast diese Möglichkeit der serverseitigen Transformation nicht, trotzdem möchtest du deine Seite "als" XML online stellen und im Browser darstellen lassen.Das geht auch, aber eben nicht mit allen Browser: IE, Mozilla, Netscape (ab 6.x), Firefox kann das.
          In diesem Fall brauchst du
          <?xml version="1.0" encoding="ISO-8859-1"?>
          <?xml-stylesheet type="text/xsl" href="deinxslfile.xsl"?>
           <catalog>
           ....
          in deinem XML-Datei.

        D.h. wenn jemand auf deinedomain.de/cdsammlung.xml kommt, werden die erwähnten Browser die XML/XSL-TRansformation selbst ausführen und der besucher bekommt "HTML" zu sehen.

        HTML deshalb im "", weil wenn du auf "Quelltext ansehen" gehst, die XML-Quelltext der Seite angezeigt wird, obwohl im Browser die HTML-Seite zu sehen ist.

        Willst du den tatsächlich produzierten HTML-Kode sehen, muss du bei Mozilla/Firefox/Netscape auf "alles markieren" klicken (oder STRG-A) und dann mit der rechten Maustaste das Kontextmenü aufrufen und dort auf  "View selection source" (ich weiss jetzt nicht wie es in der deutschen oberfläche genannt wird).

        Für den IE brauchst du ein kleines aber sehr nützliches Tool dazu http://www.microsoft.com/downloads/details.aspx?FamilyID=d23c1d2c-1571-4d61-bda8-adf9f6849df9&DisplayLang=en

        Grüße
        Thomas