XSLT: Prozessor-Steuerung


... [ Seminar XML und Haskell ] ... [ XSLT ] ... [ Literaturverzeichnis ] ...

Übersicht: Prozessor-Steuerung


Nachrichten an den Benutzer

Man kann den Prozessor dazu veranlassen, Meldungen an den Benutzer auszugeben, die nicht in das Zieldokument geschrieben werden:

  <xsl:template>
    <xsl:message terminate="yes">
      Schwerer Fehler!
    </xsl:message>
  </xsl:template>

Setzt man das Attribut terminate auf "yes", so wird der Verarbeitungsprozeß an dieser Stelle abgebrochen (z. B. bei schwerwiegenden Fehlern).

Nach oben

Steuerung der Ausgabe

Das Ergebnis der XSL-Transformation ist eine Baumstruktur, deren Format nur dem Prozessor bekannt ist. Um diese Struktur auszugeben, muß dem Prozessor mitgeteilt werden, in welchem Format dies zu erfolgen hat.
Drei Formate sind vordefiniert: xml, html und text.

xml erzeugt ein XML-Dokument:

  <xsl:stylesheet version="1.0">
    <xsl:output method="xml" version="1.0" standalone="yes" omit-xml-declaration="no" cdata-section-elements="e1 e2"/>
  </xsl:stylesheet>

omit-xml-declaration verhindert, daß eine <?xml version?>-Deklaration erzeugt wird; cdata-section-elements gibt die Elemente an, deren Inhalt als CDATA-Sektion ausgegeben werden soll.

html erzeugt ein HTML-Dokument:

  <xsl:stylesheet version="1.0">
    <xsl:output method="html" version="4.0" encoding="iso8859-1" media-type="text/html"/>
  </xsl:stylesheet>

Die Werte der Attribute encoding und media-type werden dabei automatisch als META-Tags in den Kopf des Dokuments eingebaut.

text erzeugt ein Textdokument, d. h. es werden nur Textknoten ausgegeben:

  <xsl:stylesheet version="1.0">
    <xsl:output method="text"/>
  </xsl:stylesheet>

Andere Formate können definiert werden, wenn sie mit einem Namenspräfix beginnen. Der SAXON-XSLT-Prozessor ermöglicht die Ausgabe z. B. im Apache-FOP-Format:

  <xsl:stylesheet version="1.0">
    <xsl:output method="saxon:fop" xmlns:saxon="http://www.icl.com/"/>
  </xsl:stylesheet>
Nach oben

... [ Seminar XML und Haskell ] ... [ XSLT ] ... [ Literaturverzeichnis ] ...