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:www-form-urlencode

<p:declare-step type="p:www-form-urlencode">
   <p:input port="source" primary="true"/>
   <p:output port="result"/>
   <p:input port="parameters" kind="parameter"/>
   <p:option name="match" required="true"/> <!-- XSLTMatchPattern -->
</p:declare-step>

Der Step <p:www-form-urlencode> erzeugt aus einem oder mehreren Parametern (<c:param>) einen “x-www-form-urlencoded“-konformen String und platziert diesen im Quelldokument. Die Parameter werden im Input-Port “parameter“ angegeben. Der Ort, an dem der neue Eintrag platziert werden soll, wird durch die Option “match“ mit einem entsprechenden XSLT-Ausdruck definiert. Das Quell-Dokument wird am Input-Port “source“ angegeben. Die Ausgabe erfolgt am Output-Port “result“. Wird der XSLT-Ausdruck so formuliert, dass er als Ziel ein Attribut trifft, so wird der String diesem Attribut als Wert übergeben. Trifft der Ausdruck einen Knoten im Zieldokument, so wird dieser komplett vom erzeugten String ersetzt.

Beispiel

Im folgenden Beispiel wird ein Parameter angegeben und einem Zieldokument als Attributwert übergeben.

<?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:inline>
         <Beispiel>
            <Parameter para=""/>
         </Beispiel>
      </p:inline>
   </p:input>
   <p:output port="result"/>
   <p:www-form-urlencode match="/Beispiel/Parameter/@para">
      <p:input port="parameters">
         <p:inline>
            <c:param name="BeispielName" value="TestWert"/>
         </p:inline>
      </p:input>
   </p:www-form-urlencode>
</p:declare-step>

Das Resultat dieses Prozesses sieht folgendermaßen aus:

<Beispiel xmlns:c="http://www.w3.org/ns/xproc-step">
   <Parameter xmlns:c="http://www.w3.org/ns/xproc-step" para="BeispielName=TestWert"/>
</Beispiel>
Tipp der data2type-Redaktion:
Zum Thema XProc bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: