Wiki-Quellcode von Formularwerte aus XML importieren
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | Aktionen des Typs //XML einlesen und Formularfelder setzen// ermöglichen es, Formularfelder mit dem Inhalt eines XML-Dokuments zu befüllen. Hierzu wird für jedes zu befüllende Formularfeld ein [[XPath>>url:https://www.data2type.de/xml-xslt-xslfo/xpath/xpath-einfuehrung/]] [[angegeben>>url:http://www.zvon.org/xxl/XPathTutorial/General_ger/examples.html]] auf einen entsprechend Wert im XML angegeben. | ||
2 | |||
3 | {{figure image="actionXML.png"}} | ||
4 | Oberfläche zum Einstellen der Parameter von Aktionen des Typs //XML einlesen und Formularfelder setzen//. | ||
5 | {{/figure}} | ||
6 | |||
7 | == Parameter == | ||
8 | |||
9 | * {{litem title="XML-Quelle aus Aktion"}}Dateibereitstellende Aktion, aus der das XML-Dokument gelesen wird{{/litem}}. | ||
10 | * {{litem title="XSL-Template"}}Optional kann ein XSL-Template festgelegt werden, welches das XML-Dokument vor der Auswertung transformiert.{{/litem}} | ||
11 | * {{litem title="XPath festlegen"}}* {{litem title="Feldname"}}Name des Formularelements, dessen Wert gesetzt wird.{{/litem}} | ||
12 | * {{litem title="XPath"}}XPath auf einen Wert im XML-Dokument, dessen Wert in das Formularfeld eingetragen wird.{{/litem}}{{/litem}} | ||
13 | |||
14 | == Beispiel == | ||
15 | |||
16 | Zur Verdeutlichung sei ein kurzes Beispiel für die Nutzung von XPaths gegeben. Beispielweise sehe das XML-Dokument wie folgt aus: | ||
17 | |||
18 | {{code language="XML"}} | ||
19 | <?xml version="1.0" encoding="UTF-8"?> | ||
20 | <xfc-data xfc-version="4.5.2" generation-date="2017-01-09 11:23:43.190 MEZ"> | ||
21 | <processes> | ||
22 | <process process-uid="f1e677ad-012d-4586-884b-ac2ee029cb00" creation-date="2017-01-09 11:23:43.0 MEZ" project-name="XML" status=""> | ||
23 | <form version="1"> | ||
24 | <field name="upl1"> | ||
25 | <plainValue><![CDATA[]]></plainValue> | ||
26 | <values count="0"/> | ||
27 | <label><![CDATA[]]></label> | ||
28 | </field> | ||
29 | <field name="tf1"> | ||
30 | <plainValue><![CDATA[foobar]]></plainValue> | ||
31 | <values count="1"> | ||
32 | <value index="0"><![CDATA[foobar]]></value> | ||
33 | </values> | ||
34 | <label><![CDATA[]]></label> | ||
35 | </field> | ||
36 | <field name="xf-action"> | ||
37 | <plainValue><![CDATA[btnPrev]]></plainValue> | ||
38 | <values count="1"> | ||
39 | <value index="0"><![CDATA[btnPrev]]></value> | ||
40 | </values> | ||
41 | <label><![CDATA[]]></label> | ||
42 | </field> | ||
43 | </form> | ||
44 | </process> | ||
45 | </processes> | ||
46 | </xfc-data> | ||
47 | {{/code}} | ||
48 | |||
49 | Zum Selektieren des Wertes des Feldes mit Namen //tf1// kann der folgende XPath genutzt werden. | ||
50 | |||
51 | {{code language="XPath"}} | ||
52 | //processes//field[@name="tf1"]/plainValue/text() | ||
53 | {{/code}} |