XML Pipeline

XML Pipeline

Eine XML-Pipeline wird gebildet, wenn mehrere XML- (Extensible Markup Language)-Prozesse wie Transformationen und Validierungen miteinander verbunden werden. Zum Beispiel können zwei Transformationen, T1 und T2, so miteinander verbunden werden, dass das Eingangsdokument von T1 transformiert wird und dann die Ausgabe von T1 als Eingangsdokument von T2 gilt.

Inhaltsverzeichnis

Lineare Operationen

Einfache Pipelines, wie solche, die oben beschrieben werden, werden als linear bezeichnet; ein einzelnes Eingangsdokument durchläuft immer dieselben Schritte einer Transformation, um letztendlich ein einziges Ausgangsdokument zu erstellen.

Hier sind einige Beispiele an Operationen, die in einer linearen Pipeline vorkommen können:

  • Identitätstransformation – erzeugt eine identische Kopie des Inputs als Output
  • Transform – führt eine Transformation des Eingangsdokuments unter Benutzung einer spezifischen XSLT-Datei durch. Version 1.0 oder 2.0 sollten spezifiziert werden.
  • Rename – benennt Elemente oder Attribute um, ohne den Inhalt zu modifizieren
  • Replace – ersetzt Elemente oder Attribute
  • Insert – fügt ein neues Datenelement zum Ausgabe-Stream an einem bestimmten Punkt hinzu
  • Delete – entfernt ein Element oder Attribut
  • Split – teilt ein einziges XML-Dokument in einzelne Dokumente auf
  • Wrap – hüllt Elemente in weitere Elemente ein
  • Reorder – ändert die Reihenfolge von Elementen

Nicht-linear

Nicht-lineare Operationen von Pipelines sind zum Beispiel:

  • Conditionals – dabei wird eine gegebene Transformation ausgeführt, wenn eine bestimmte Bedingung erfüllt ist, ansonsten wird eine andere Transformation ausgeführt
  • Schleifen – dabei wird eine Transformation an jedem Knoten einer Knotenmenge, die aus einem Dokument oder einer Transformation ausgewählt wird, solange ausgeführt, bis eine bestimmte Bedingung falsch wird.
  • Tees – dabei werden mehrere Transformationen an einem Dokument ausgeführt, die potentiell parallel verlaufen
  • Aggregations – dabei werden mehrere Dokumente zu einem einzigen Dokument zusammengeführt
  • Exception Handling – Fehler während des Vorgangs führen dazu, dass eine alternative Pipeline ausgeführt wird

Einige Standards kategorisieren Transformationen auch als Macro- (Änderungen, die die gesamte Datei betreffen) oder Micro-Transformationen (solche, die nur ein Element oder Attribut betreffen)

XML-Pipeline-Sprachen

XML-Pipeline-Sprachen werden dazu genutzt, Pipelines zu definieren. Ein Programm, das in einer XML-Pipeline-Sprache geschrieben ist, wird von Software implementiert, die auch unter der Bezeichnung XML Pipeline Engine bekannt ist. Diese erzeugt die Vorgänge, verbindet diese miteinander und führt schließlich die gesamte Pipeline aus. Existierende XML-Pipeline-Sprachen sind zum Beispiel:

  • XProc: An XML Pipeline Language ist eine W3C-Empfehlung.[1]
  • W3C XML Pipeline Definition Language wird in einer W3C-Note spezifiziert; Sun liefert die Implementation.
  • W3C XML Pipeline Language (XPL) Version 1.0 (Entwurf) [2] wird in einer W3C-Submission spezifiziert und in einer Komponente des Orbeon Presentation Servers OPS (jetzt benannt als Orbeon Forms). Diese Spezifikation bietet eine Implementation einer früheren Version der Sprache. XPL erlaubt die Deklaration komplexer Pipelines mit Conditionals, Loops, Trees, Aggregations und Sub-Pipelines.
  • Cocoon-Sitemaps bieten, neben anderen Funktionen, die Deklaration von XML-Pipelines. Cocoon-Sitemaps sind eine der früheren Implementationen des Konzeptes der XML-Pipeline.
  • smallx XML Pipelines werden vom smallx-Projekt genutzt
  • ServingXML definiert Vokabular zur Darstellung von flat-XML-, XML-flat-, flat-flat- und XML-XML-Transformationen in Pipelines.

Pipe-Granularität

Unterschiedliche XML-Pipeline-Implementationen unterstützen unterschiedliche Granularitäten des Ablaufs:

  • Dokument: Komplette Dokumente durchlaufen die Pipe als atomare Einheiten. Ein Dokument kann nur an einem Platz zur Zeit sein, obwohl durchaus manchmal mehrere Dokumente in einer Pipe zur gleichen Zeit sein können.
  • Event: Einzelne Teile des Dokumentes können, ausgelöst durch Ereignisse (engl. events), parallel und gleichzeitig durch verschiedene Pfade laufen.

Siehe auch

Weblinks

Einzelnachweise

  1. XProc bei w3.org
  2. XPL: Submission und TR bei w3.org

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • XML pipeline — In computer science, an XML Pipeline is formed when XML (Extensible Markup Language) processes, sometimes called XML transformations, are connected together.For instance, given two transformations T1 and T2, the two can be connected together so… …   Wikipedia

  • Pipeline — may refer to:* Classic RISC pipeline, a five stage hardware based computer instruction set. * Pipeline transport, a conduit made from pipes connected end to end for long distance fluid transport * Plastic pressure pipeline, for fluid handling *… …   Wikipedia

  • Pipeline XML — Un pipeline XML, ou chaîne de transformation XML, représente la mise bout à bout de transformation XML, avec éventuellement en bout de chaîne, une transformation finale vers un format quelconque (dialecte XML, HTML, texte, etc.). Outils Il existe …   Wikipédia en Français

  • .xml — Extensible Markup Language Extensible Markup Language Extension de fichier .xml Type MIME application/xml, text/xml Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

  • XML — Extensible Markup Language Extensible Markup Language Extension de fichier .xml Type MIME application/xml, text/xml Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

  • Xml — Extensible Markup Language Extensible Markup Language Extension de fichier .xml Type MIME application/xml, text/xml Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

  • Pipeline (software) — In software engineering, a pipeline consists of a chain of processing elements (processes, threads, coroutines, etc .), arranged so that the output of each element is the input of the next. Usually some amount of buffering is provided between… …   Wikipedia

  • Pipeline (Unix) — In Unix like computer operating systems, a pipeline is the original software pipeline : a set of processes chained by their standard streams, so that the output of each process ( stdout ) feeds directly as input ( stdin ) of the next one. Each… …   Wikipedia

  • Pipeline (Begriffsklärung) — Eine Pipeline (Englisch „Rohrleitung“, von pipe „Rohr, Röhre“ und line „Linie, Leitung, Verbindung“) ist: ein Rohrleitungssystem zum Transport von Flüssigkeiten oder Gasen, siehe Pipeline, in der Massenproduktion eine „Bearbeitungsröhre“, siehe… …   Deutsch Wikipedia

  • Pipeline (computing) — In computing, a pipeline is a set of data processing elements connected in series, so that the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time sliced fashion; in that case,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”