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:viewport
<p:viewport
name? = NCName
match = XSLTMatchPattern>
((p:viewport-source? &
p:output? &
p:log?),
subpipeline)
</p:viewport>
Durch den <p:viewport>-Compound Step lassen sich bestimmte Teile eines Dokuments durch einen entsprechenden XSLT-Ausdruck selektieren, um diese dann in einer Subpipeline verarbeiten zu können. Alternativ kann auch durch <p:viewport-source> der gewünschte Inhalt bereitgestellt werden.
<p:viewport-source>
(p:pipe |
p:document |
p:inline |
p:data)?
</p:viewport-source>
<p:viewport-source> steht nur als Teil von <p:viewport> zur Verfügung. Es muss hier zwingend ein Dokument angegeben werden. Dies kann durch die Elemente <p:pipe>, <p:document>, <p:inline> oder <p:data> realisert werden. Wird kein Dokument angegeben, wird ein dynamischer Fehler erzeugt.
Beispiel
Im folgenden Beispiel soll nur ein Teil des initalen Dokuments verarbeitet werden.
<?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:viewport match="/FilmSammlung/Film/Titel">
<p:wrap match="/" wrapper="test"></p:wrap>
</p:viewport>
</p:declare-step>
Der XSLT-Ausdruck im Attribut “match“ vom Step <p:viewport> adressiert sämtliche “Titel“-Elemente vom Quelldokument. Dieser Teil des Dokuments wird nun in die Subpipeline von <p:viewport>, im Beispiel lediglich der Step <p:wrap>, weitergeleitet. Dort werden sämtliche “Titel“-Elemente in “test“ umbenannt.
Tipp der data2type-Redaktion: Zum Thema XProc bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |