XProc Steps

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

 

 

p:unwrap

      <p:declare-step type="p:unwrap">
         <p:input port="source"/>
         <p:output port="result"/>
         <p:option name="match" required="true"/> <!-- XSLTMatchPattern -->
      </p:declare-step>
 

Durch den <p:unwrap> Step können umschliessende Elemente entfernt werden. Diese werden dann durch Ihre entsprechenden Kind-Elemente ersetzt. Das zu entfernende umschliessende Element wird durch einen XSLT Ausdruck definiert. Das Quell-Dokument wird über den Input-Port (“source“) eingelesen. Die Ausgabe erfolgt über den Output-Port (“result“).

Beispiel

Im folgenden Beispiel sollen dem bekannten Dokument (“filmsammlung.xml“) die umschliessenden Elemente “Cast“ entfernt werden, so dass die entsprechenden Kind-Elemente (“Hauptdarsteller“) an dessen Stelle treten können.

      <?xml version="1.0" encoding="UTF-8"?>
      <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" 
      xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
        <p:input port="source">
          <p:document href="filmsammlung.xml"/>
        </p:input>
        <p:output port="result"/>
        <p:unwrap match="Cast"/>
      </p:declare-step>
 

Nach dem Durchführen dieses Prozesses, sieht das Resultat folgendermaßen aus (Auszug):

      <Produzent>George Lucas</Produzent>
            <Hauptdarsteller>Mark Hamill</Hauptdarsteller>
            <Hauptdarsteller>Harrison Ford</Hauptdarsteller>
            <Laenge>121 min</Laenge>

Das umschliessende “Cast“ Element wurde entfernt.