Aus XML importieren
Aktionen des Typs Aus XML importieren ermöglichen es, Formularfelder mit dem Inhalt eines XML-Dokuments zu befüllen. Hierzu wird für jedes zu befüllende Formularfeld ein XPath angegeben auf einen entsprechend Wert im XML angegeben.
Parameter
Details für das Einlesen und Setzen
- XML-Quelle
- Auswahl der einer XML-Datei, welche als XML-Quelle dienen soll. Zur Verfügung stehen Formulardateien, Mandantdateien, über eine URL (externe Ressource) geladene Dateien, Vorganganhänge oder Dateien aus vorherigen Aktionen. Siehe Aktionen für eine Liste der unterstützten URL-Protokolle.
- XSL-Template
- Optional kann ein XSL-Template festgelegt werden, welches das XML-Dokument vor der Auswertung transformiert.
Zu setzende Werte
- Feldname
- Name des Formularelements, dessen Wert gesetzt wird.
- XPath
- XPath auf einen Wert im XML-Dokument, dessen Wert in das Formularfeld eingetragen wird.
Aktionsplatzhalter
Aktionen vom Typ Aus XML importieren stellen Aktionsplatzhalter bereit, welche in darauf folgenden Aktionen verwendet werden können.
Standardplatzhalter
- [%$<Aktionsname>.SUCCESS%]
- Rückgabe ob Aktion erfolgreich ausgeführt wurde. Liefert Boolean (true/false) zurück.
- [%$<Aktionsname>.RESULT%]
- Rückgabe aller von der Aktion bereitgestellten Ergebnisse in strukturierter Form.
- [%$<Aktionsname>.ERROR_CODE%]
- Der geworfene Fehler-Code im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
- [%$<Aktionsname>.ERROR_MESSAGE%]
- Die geworfene Fehler-Nachricht im Fehlerfall der Aktion. Leer wenn kein Fehler aufgetreten ist.
Aktionsspezifische Platzhalter
- [%$<Aktionsname>.ERROR.message%]
- Fehlernachricht, die zurückgeliefert wird, wenn die PDF-Datei nicht in das Dateisystem geschrieben werden konnte, die angegebene URL keinem gültigen Format entspricht, keine Quelldatei ermittelt werden konnte, das Datei-Format der Quelldatei nicht unterstützt wird, beim Verarbeiten der XML-Daten ein Fehler auftritt oder die XSLT-Transformation nicht erfolgreich war.
Beispiel
Zur Verdeutlichung sei ein kurzes Beispiel für die Nutzung von XPaths gegeben. Beispielweise sehe das XML-Dokument wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?>
<xfc-data xfc-version="7.0.0" generation-date="2021-07-27 11:23:43.190 MEZ">
<processes>
<process process-uid="f1e677ad-012d-4586-884b-ac2ee029cb00" creation-date="2021-07-27 11:23:43.0 MEZ" project-name="XML" status="">
<form version="1">
<field name="upl1">
<plainValue><![CDATA[]]></plainValue>
<values count="0"/>
<label><![CDATA[]]></label>
</field>
<field name="tf1">
<plainValue><![CDATA[foobar]]></plainValue>
<values count="1">
<value index="0"><![CDATA[foobar]]></value>
</values>
<label><![CDATA[]]></label>
</field>
<field name="xf-action">
<plainValue><![CDATA[btnPrev]]></plainValue>
<values count="1">
<value index="0"><![CDATA[btnPrev]]></value>
</values>
<label><![CDATA[]]></label>
</field>
</form>
</process>
</processes>
</xfc-data>
<xfc-data xfc-version="7.0.0" generation-date="2021-07-27 11:23:43.190 MEZ">
<processes>
<process process-uid="f1e677ad-012d-4586-884b-ac2ee029cb00" creation-date="2021-07-27 11:23:43.0 MEZ" project-name="XML" status="">
<form version="1">
<field name="upl1">
<plainValue><![CDATA[]]></plainValue>
<values count="0"/>
<label><![CDATA[]]></label>
</field>
<field name="tf1">
<plainValue><![CDATA[foobar]]></plainValue>
<values count="1">
<value index="0"><![CDATA[foobar]]></value>
</values>
<label><![CDATA[]]></label>
</field>
<field name="xf-action">
<plainValue><![CDATA[btnPrev]]></plainValue>
<values count="1">
<value index="0"><![CDATA[btnPrev]]></value>
</values>
<label><![CDATA[]]></label>
</field>
</form>
</process>
</processes>
</xfc-data>
Zum Selektieren des Wertes des Feldes mit Namen tf1 kann der folgende XPath genutzt werden.
//processes//field[@name="tf1"]/plainValue/text()