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:http-request
<p:declare-step type="p:http-request">
<p:input port="source"/>
<p:output port="result"/>
<p:option name="byte-order-mark"/> <!-- boolean -->
<p:option name="cdata-section-elements" select="''"/> <!-- ListOfQNames -->
<p:option name="doctype-public"/> <!-- string -->
<p:option name="doctype-system"/> <!-- anyURI -->
<p:option name="encoding"/> <!-- string -->
<p:option name="escape-uri-attributes" select="'false'"/> <!-- boolean -->
<p:option name="include-content-type" select="'true'"/> <!-- boolean -->
<p:option name="indent" select="'false'"/> <!-- boolean -->
<p:option name="media-type"/> <!-- string -->
<p:option name="method" select="'xml'"/> <!-- QName -->
<p:option name="normalization-form" select="'none'"/> <!-- NormalizationForm -->
<p:option name="omit-xml-declaration" select="'true'"/> <!-- boolean -->
<p:option name="standalone" select="'omit'"/> <!-- "true" | "false" | "omit" -->
<p:option name="undeclare-prefixes"/> <!-- boolean -->
<p:option name="version" select="'1.0'"/> <!-- string -->
</p:declare-step>
Durch den <p:http-request>-Step ist es möglich, Anfragen an Webservices zu senden. Unterstützt werden hierbei sowohl REST- als auch SOAP-betriebene Webservice-Implementierungen. Die eigentliche Anfrage wird auch hier über den Input-Port (“source“) realisiert. Alle verfügbaren Optionen sind optional und dienen der individuellen Konfiguration der Anfrage. Die Service-Anfrage muss durch ein <c:request>-Element implementiert werden, andernfalls hätte dies einen dynamischen Fehler zur Folge.
<c:request
method = NCName
href? = anyURI
detailed? = boolean
status-only? = boolean
username? = string
password? = string
auth-method? = string
send-authorization? = boolean
override-content-type? = string>
(c:header*,
(c:multipart |
c:body)?)
</c:request>
Auch hier gibt es je nach Art der Anfrage diverse Optionen. Relevant ist die Angabe der zu verwendenden Übertragungsmethode (“POST“ oder “GET“) sowie “href“, hier wird die Adresse des auszulesenden Services hinterlegt. Die anderen Angaben sind je nach Fall relevant (z.B. für Webservices, die eine Anmeldung via Kennwort erfordern usw.) und werden im Rahmen dieser Arbeit nicht weiter vertieft.
Beispiel
Im folgenden Beispiel wird der RSS-Feed der Webseite "http://www.imdb.com" ausgelesen.
<?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>
<c:request method="GET" href="http://rss.imdb.com/news/"/>
</p:inline>
</p:input>
<p:output port="result"/>
<p:http-request/>
</p:declare-step>
Tipp der data2type-Redaktion: Zum Thema XProc bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |