Die Datenstruktur des XML XMLs von Wizard-Formularen setzt sich aus drei Kern-Elementen zusammen: Gruppen, Variablen und Listen.
Schema
Damit die XML-Daten von anderen Systemen validiert werden können, bieten wir ein XML Schema zum Download an: formData.xsd
Allgemeine Informationen
Jede Variable, Gruppe oder Liste besitzt eine ID, welche einen eindeutigen Schlüssel des Feldes kennzeichnet.
Zudem ist es möglich, Verarbeitungsanweisung (XML Processing Instructions) für andere Systeme mitzugeben. Diese beginnen mit dem Prefix "<?jax ". Bei Dateien wird der Name und die die Grösse der Datei automatisch im XML hinzugefügt:
Variablen
Listen
Gruppen
Dieser Wert entspricht bei einfachen Feldern dem Feldnamen.
Variablen
Codeblock | ||||
---|---|---|---|---|
| ||||
<var id="VAR_1">
<?jax format="TT.MM.JJJJ"?>
2020-05-04
</var>
<var id="VAR_2">
<?jax schluessel="wert"?>
test
</var>
<var id="VAR_3">muster</var>
<var id="VAR_4">example</var>
<var id="VAR_5">inhalt</var> |
Einzelne Felder werden mit dem XML-Element <var> gekennzeichnet. Die Felder können eigenständig, als Bestandteil von Listen oder in Gruppen vorkommen und repräsentieren die vom User getätigten Eingaben.
Listen
Bei dem Listenelement <list> wird zusätzlich noch die effektive Anzahl Einträge mit dem Attribut "size" mitgegeben. Ebenso sind die zusammengehörigen Felder eines Listeneintrages mit dem Tag "entry" umgeben. Die Verarbeitungsanweisungen werden innerhalb des Listenelements zuoberst gesetzt:
Codeblock | ||||
---|---|---|---|---|
| ||||
<list id="liste" size="3">
<entry>
<var id="liste_1_name">Müller</var>
<var id="liste_1_vorname">Stephan</var>
</entry>
<entry>
<var id="liste_2_name">Diethelm</var>
<var id="liste_2_vorname">Bernd</var>
</entry>
<entry>
<var id="liste_3_name">August</var>
<var id="liste_3_vorname">Gabriela</var>
</entry>
</list> |
Gruppen
Codeblock | ||||
---|---|---|---|---|
| ||||
<group id="GRP_1">
<?jax global1="true"?>
<var id="GRP_VAR_1">Müller</var>
<var id="GRP_VAR_2">Martin</var>
<var id="GRP_VAR_3">Teststrasse</var>
</group> |
Gruppen sind eine Kombination von Feldern und/oder Listenelementen und werden mit dem Element <group> gekennzeichnet.
pi Elemente
Codeblock | ||||
---|---|---|---|---|
| ||||
<group id="GRP_1">
<pi>
<key>global1</key>
<value>true</value>
</pi>
</group> |
"pi" steht für Processing Instruction und ist für Verarbeitungsinformationen für Drittsysteme gedacht. Diese werden standardmässig nur als eigentliche "XML processing instructions" (<?
jax
global1
=
"true"
?>
) serialisiert, können aber auch als eigene Tags mit "key" und "value" ausgegeben werden. Im Beispiel oben wird die Processing Instruction "global1" als Tags "key" und "value" unterhalb des Tags "pi" ausgegeben.