Main /

Xslt Beispiele

Allgemein

Knowledge Base

Virtualisierung Emulation

Technik und Wissen

Community

Privat

%center%[[http://validator.w3.org/check?uri=referer|http://www.w3.org/Icons/valid-xhtml10.png]]%%

Xslt Beispiele

/ HomePage / Computer / Software / Programmierung / Xslt Beispiele

XSLT-Beispiele

Beispiele wie man beliebige XML-Dokumente in besser lesbare HTML-Form verwandelt. Die Beispiele wurden für XML-Dateien entwickelt die keine Attribute in den Tags besitzen. Attribute werden ignoriert. Als Ausgabe wird HTML erzeugt.

1. Beispiel-XML als Eingabe Datei

Die folgende Xml-Date wurde beispielhaft als Eingabe verwendet. In der zweiten Zeile wird auf das XSLT-Stylesheet referenziert (in diesem Fall @textliste.xslt@]) welches die Transformation vornimmt. Befinden sich beide Dateien im gleichen Verzeichnis kann man sich die XML-Datei einfach mit dem Firefox ansehen, und man sieht anstatt der farbigen Darstellung des XML-Quelltextes die transformierte Ausgabe.

1.1 XML-Quellcode

<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet type="text/xml" href="textliste.xslt" version="1.0"?>
<Buecher>
   <Buch>
      <Titel>Die C++ Programmiersprache</Titel>
      <Verlag>Addison-Wesley</Verlag>
      <Auflage>4</Auflage>
      <Erscheinungsjahr>2000</Erscheinungsjahr>
      <Seiten>1086</Seiten>
      <Isbn>3-8272-1660-X</Isbn>
      <Autoren>
         <Autor>Bjarne Stroustrup</Autor>
      </Autoren>
   </Buch>
   <Buch>
      <Titel>Das Handbuch Microsoft Office SharePoint Server 2007</Titel>
      <Verlag>Microsoft Press</Verlag>
      <Auflage>1</Auflage>
      <Erscheinungsjahr>2007</Erscheinungsjahr>
      <Seiten>1168</Seiten>
      <Isbn>978-3-86645-117-9</Isbn>
      <Autoren>
         <Autor>Bill English et al.</Autor>
      </Autoren>
   </Buch>
   <Buch>
      <Titel>Design Patterns</Titel>
      <Verlag>Addison-Wesley</Verlag>
      <Auflage>1</Auflage>
      <Erscheinungsjahr>1995</Erscheinungsjahr>
      <Seiten>394</Seiten>
      <Isbn>0-2016-3361-2</Isbn>
      <Autoren>
         <Autor>Erich Gamma</Autor>
         <Autor>Richard Helm</Autor>
         <Autor>Ralph Johnson</Autor>
         <Autor>John Vlissides</Autor>
      </Autoren>
   </Buch>
</Buecher>

2. Erzeugt lineare Text-Liste, Übergeordnete Tags sind unterstrichen

Dieses XSLT erzeugt eine einfache Text-Repräsentation der XML-Daten.

Schwächen: Sieht nur einigermassen gut aus wenn sich untergeordnete Listen (in unserem Fall die Autoren) nicht zwischen den Tags auf gleicher Ebene befinden sondern am Anfang oder Ende.

2.1 XSLT-Quellcode

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="html"/>
   <xsl:template match="/">
   <html>
     <body>
       <xsl:apply-templates/>
     </body>
   </html>
   </xsl:template>

   <xsl:template match="*">
      <xsl:if test="count(node()) &gt; 1">
         <br />
      </xsl:if>
      <xsl:value-of select="name()"/>:
      <xsl:if test="count(node()) &gt; 1">
         <br />------------------------------------------------<br />
         <xsl:for-each select="*">
            <xsl:if test="count(node()) = 1 or count(node()) = 0">
               <xsl:value-of select="name()"/>: <xsl:value-of select="."/><br />
            </xsl:if>
            <xsl:if test="count(node()) &gt; 1">
               <br /><xsl:value-of select="name()"/>:
               <br />------------------------------------------------<br />
               <xsl:apply-templates/>
            </xsl:if>
         </xsl:for-each>
      </xsl:if>
      <xsl:if test="count(node()) = 1 or count(node()) = 0">
         <xsl:value-of select="."/><br />
      </xsl:if>
   </xsl:template>
</xsl:stylesheet>

2.2 Ausgabe


Buecher:
------------------------------------------------

Buch:
------------------------------------------------
Titel: Die C++ Programmiersprache
Verlag: Addison-Wesley
Auflage: 4
Erscheinungsjahr: 2000
Seiten: 1086
Isbn: 3-8272-1660-X

Autoren:
------------------------------------------------
Autor: Bjarne Stroustrup

Buch:
------------------------------------------------
Titel: Das Handbuch Microsoft Office SharePoint Server 2007
Verlag: Microsoft Press
Auflage: 1
Erscheinungsjahr: 2007
Seiten: 1168
Isbn: 978-3-86645-117-9

Autoren:
------------------------------------------------
Autor: Bill English et al.

Buch:
------------------------------------------------
Titel: Design Patterns
Verlag: Addison-Wesley
Auflage: 1
Erscheinungsjahr: 1995
Seiten: 394
Isbn: 0-2016-3361-2

Autoren:
------------------------------------------------
Autor: Erich Gamma
Autor: Richard Helm
Autor: Ralph Johnson
Autor: John Vlissides

3. Erzeugt HTML-Bullet-Point Liste gemäß der XML-Struktur

3.1 XSLT-Quellcode

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="html"/>

   <xsl:template match="/">
   <html>
      <body>
         <xsl:apply-templates/>
      </body>
   </html>
   </xsl:template>

   <xsl:template match="*">
      <ul>
      <li><b><xsl:value-of select="name()"/>: </b>
      <xsl:if test="count(node()) &gt; 1">
         <ul>
         <xsl:for-each select="*">
            <xsl:if test="count(node()) = 1 or count(node()) = 0">
               <li><b><xsl:value-of select="name()"/>: </b><xsl:value-of select="."/></li>
            </xsl:if>
            <xsl:if test="count(node()) &gt; 1">
               <li><b><xsl:value-of select="name()"/>: </b><xsl:apply-templates/></li>
            </xsl:if>
         </xsl:for-each>
         </ul>
      </xsl:if>
      <xsl:if test="count(node()) = 1 or count(node()) = 0">
         <xsl:value-of select="."/>
      </xsl:if>
      </li>         
      </ul>
   </xsl:template>
</xsl:stylesheet>

3.2 Ausgabe

  • Buecher:
    • Buch:
      • Titel: Die C++ Programmiersprache
      • Verlag: Addison-Wesley
      • Auflage: 4
      • Erscheinungsjahr: 2000
      • Seiten: 1086
      • Isbn: 3-8272-1660-X
      • Autoren:
        • Autor: Bjarne Stroustrup
    • Buch:
      • Titel: Das Handbuch Microsoft Office SharePoint Server 2007
      • Verlag: Microsoft Press
      • Auflage: 1
      • Erscheinungsjahr: 2007
      • Seiten: 1168
      • Isbn: 978-3-86645-117-9
      • Autoren:
        • Autor: Bill English et al.
    • Buch:
      • Titel: Design Patterns
      • Verlag: Addison-Wesley
      • Auflage: 1
      • Erscheinungsjahr: 1995
      • Seiten: 394
      • Isbn: 0-2016-3361-2
      • Autoren:
        • Autor: Erich Gamma
        • Autor: Richard Helm
        • Autor: Ralph Johnson
        • Autor: John Vlissides
Frische Änderungen (All) | Edit SideBar Zuletzt geändert am 07.02.2008 11:16 Uhr Seite Bearbeiten | Seitenhistorie
Powered by PmWiki