Steps

Steps sind als Zwischenstationen, die die XML-Dokumente verarbeiten, innerhalb eines XProc-Ablaufs zu betrachten. Zusammen mit den jeweiligen Ports definiert sich aus ihnen eine Pipeline.

Abbildung XProc-Steps

Abb. XProc-Steps

Jeder Step verfügt über einen Ein- und einen Ausgang, aus dem für den nächsten Schritt ein Ausgabedokument bereitgestellt werden kann. In XProc wird unter drei Typen von Steps unterschieden (Atomic Steps, Compound Steps, Multi-Container Steps).

Die Spezifikation von XProc beschreibt eine ganze Reihe an Steps mit unterschiedlichen Funktionen. Manche davon sind vorgeschrieben (“Built-In“, “Standard Step“) und müssen somit von den jeweiligen Implementierungen (z.B. Calabash, Calumet) verarbeitet werden können. Andere werden als optional bezeichnet, sind also nicht verpflichtend von den Prozessoren einzuhalten (Calabash und Calumet unterstützen derzeit alle vom W3C definierten Steps).

Weiterhin ist es möglich, eigene Steps zu kreieren. Dafür gibt es zwei Möglichkeiten. Entweder sie werden aus den vorhandenen XProc-Steps zusammengebaut. Also eine eigene Pipeline, die als Step in einer anderen Pipeline in Erscheinung tritt. Oder der eigene Step wird in einer Hochsprache entwickelt. Vorzugsweise in Java, da dieser Code dann in einen der gängigen Prozessoren (diese sind derzeit alle in Java geschrieben) eingebunden werden muss. Alle selbst entwickelten Steps müssen jedoch einen eigenen Namensraum zugewiesen bekommen, da sie nicht Teil vom offiziellen XProc-Namensraum sind.

In den folgenden Seiten werden die einzelnen (W3C-)Step-Varianten sowohl in der Theorie als auch in der Praxis vorgestellt. Sämtliche Beispiele, sofern nicht anders vermerkt, nehmen Bezug auf das folgende XML-Dokument “Filmsammlung.xml“.

<?xml version="1.0" encoding="UTF-8"?>
<FilmSammlung>
  <Film>
    <Titel>Star Wars: Episode IV - A New Hope</Titel>
    <Jahr>1978</Jahr>
    <Genre>SciFi</Genre>
    <Regisseur>George Lucas</Regisseur>
    <Produzent>George Lucas</Produzent>
    <Cast>
      <Hauptdarsteller>Mark Hamill</Hauptdarsteller>
      <Hauptdarsteller>Harrison Ford</Hauptdarsteller>
    </Cast>
    <Laenge>121 min</Laenge>
    <Autor>George Lucas</Autor>
  </Film>
  <Film>
    <Titel>Eraserhead</Titel>
    <Jahr>1976</Jahr>
    <Genre>Horror</Genre>
    <Regisseur>David Lynch</Regisseur>
    <Produzent>David Lynch</Produzent>
    <Cast>
      <Hauptdarsteller>Jack Nance</Hauptdarsteller>
      <Hauptdarsteller>Allen Joseph</Hauptdarsteller>
    </Cast>
    <Laenge>89 min</Laenge>
    <Autor>David Lynch</Autor>
  </Film>
  <Film>
    <Titel>Unforgiven</Titel>
    <Jahr>1992</Jahr>
    <Genre>Western</Genre>
    <Regisseur>Clint Eastwood</Regisseur>
    <Produzent>Clint Eastwood</Produzent>
    <Cast>
      <Hauptdarsteller>Clint Eastwood</Hauptdarsteller>
      <Hauptdarsteller>Gene Hackman</Hauptdarsteller>
    </Cast>
    <Laenge>131 min</Laenge>
    <Autor>David Webb Peoples</Autor>
  </Film>
</FilmSammlung>
Tipp der data2type-Redaktion:
Zum Thema XProc bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: