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:add-attribute

<p:declare-step type="p:add-attribute">
   <p:input port="source"/>
   <p:output port="result"/>
   <p:option name="match" required="true"/> <!-- XSLTMatchPattern -->
   <p:option name="attribute-name" required="true"/> <!-- QName -->
   <p:option name="attribute-prefix"/> <!-- NCName -->
   <p:option name="attribute-namespace"/> <!-- anyURI -->
   <p:option name="attribute-value" required="true"/> <!-- string -->
</p:declare-step>

Der <p:add-attribute>-Step fügt an einer, durch einen XSLT-Ausdruck definierten Stelle einem Element ein Attribut hinzu. Das Dokument, dem das Attribut hinzugefügt wird, wird am Input-Port (“source“) angegeben. Das Resultat der Prozedur wird über den Output-Port (“result“) ausgegeben. Das Attribut wird über entsprechende Options des Steps erstellt. Mittels “match“ wird durch einen XSLT-Ausdruck der gewünschte Standort des Attributs festgelegt. “attribute-name“ legt den Namen des Attributs fest. Weiterhin können durch “attribute-prefix“ ein Präfix und mittels “attribute-namespace“ ein Namensraum angegeben werden. In “attribute-value“ wird der gewünschte Inhalt des Attributs definiert. Die Optionen “match“, “attribute-name“ und “attribute-value“ sind Pflichtangaben, während die anderen optional sind.

Beispiel

Im folgenden Beispiel wird dem bekannten Eingangsdokument ein Attribut hinzugefügt.

<?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:add-attribute attribute-name="Geschlecht" attribute-value="Maennlich" match="/FilmSammlung/Film/Autor"/>
</p:declare-step>

Sämtlichen “Autor“-Elementen im Dokument würde nach Ausführen dieses Stylesheets ein Attribut “Geschlecht“ mit dem Wert “Maennlich“ hinzugefügt werden. Durch eine Kombination mit <p:with-option> und entsprechenden Schleifen, kann der Inhalt der Attribute dynamischer und somit sinnvoller verarbeitet werden.

 

Tipp der data2type-Redaktion:
Zum Thema XProc bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: