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 umschließende Elemente entfernt werden. Diese werden dann durch ihre entsprechenden Kind-Elemente ersetzt. Das zu entfernende umschließende 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 umschließenden Elemente “Cast“ entfernt werden, sodass 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 umschließende “Cast“-Element wurde entfernt.
Tipp der data2type-Redaktion: Zum Thema XProc bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |