Von XML zu XML

(Auszug aus "XSLT Kochbuch" von Sal Mangano)

"Ändern und bessern ist zweierlei."
Deutsches Sprichwort

Einleitung

Eines der Wunder von XML ist es, dass Sie ein XML-Dokument einfach ändern können, wenn es Ihnen nicht gefällt. Da es unmöglich ist, jeden zufrieden zu stellen, ist die Transformation von XML nach XML ausgesprochen verbreitet. Sie werden jedoch XML nicht nur deshalb transformieren, um die Struktur eines schlecht gestalteten Schemas zu verbessern. Manchmal müssen Sie auch getrennte XML-Dokumente zu einem einzigen Dokument vereinen. Ein anderes Mal wollen Sie ein großes Dokument in mehrere kleinere Teildokumente aufteilen. Möglicherweise wollen Sie ein Dokument auch vorbereiten, indem Sie die relevanten Informationen herausfiltern, ohne seine Struktur zu verändern, bevor Sie es zur Weiterverarbeitung schicken.

Ein einfaches, aber wichtiges Werkzeug bei vielen XML-zu-XML-Transformationen ist die Identity-Transformation. Dabei handelt es sich um ein Stylesheet, das ein Eingabedokument in ein Ausgabedokument transformiert, ohne es zu ändern. Diese Aufgabe scheint für die Kopierfunktion des Betriebssystems besser geeignet zu sein. Wie jedoch die folgenden Beispiele demonstrieren, kann dieses einfache Stylesheet in andere Stylesheets importiert werden, um mit nur geringem zusätzlichen Kodieraufwand gebräuchliche Arten von Transformationen zu ermöglichen.

Das folgende Beispiel zeigt dieses Stylesheet. Ich persönlich nenne dieses Stylesheet am liebsten »das Kopier-Stylesheet« und bezeichne die Techniken, die es einsetzen, als überschreibenden Kopiervorgang.

Beispiel: copy.xslt

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="node() | @*">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2006 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT Kochbuch" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O'Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de