Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 36 Nächste Version anzeigen »

Die Datenstruktur des XML 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. Dieser Wert entspricht bei einfachen Feldern dem Feldnamen.

Verarbeitungsanweisungen

Es ist zudem möglich, Verarbeitungsanweisung (XML Processing Instructions) für andere Systeme mitzugeben. Diese beginnen mit dem Prefix "<?jax " und sind intern nach dem key="value"-Prinzip aufgebaut. Diese können im Wizard unter "Feldeigenschaften -> Verarbeitung" für Gruppen und Elemente hinterlegt werden: 

Ein erzeugtes XML weist dann folgende Struktur auf:

1) Fingerprint

Im sogenannten Fingerprint stehen generelle Informationen zur Formularinstanz sowie die bei der Formulardefinition als zu Serialisieren angegebenen Eigenschaften, getrennt durch Semikolon. Folgende Parameter werden immer mitgeliefert:

SchlüsselBedeutungBeispielswert
versionJAXFront Core Versionsnummer3.26.1
time / CREATEDErstellzeitpunkt des Formulareinganges2019-07-08 17:44:52.119
MANDANT_IDSysteminterne ID des Mandanten15
SEQUENCE_IDSequenz-ID des Formulareinganges52
LASTUPDATE_USERUser, welche als letztes die Formularinstanz aktualisiert hat. Im Falle eines öffentlichen Formulars ist dies stets "anonymous".admin
LASTUPDATEDatum, wann als letztes die Formularinstanz aktualisiert wurde. Dies deckt sich im Normalfall mit "time", wenn keine Aktualisierung stattfand.2019-07-08 17:44:52.119
STATUSJetztiger Formularinstanz-Status, abhängig von den im Workflow hinterlegten Zuständen. 2
STATUS_TARGETZielstatus, welcher im Normalfall immer STATUS entsprechen sollte. Es ist jedoch möglich, dass programmatisch interferiert wird und bewusst beim STATUS nicht der Zielstatus gesetzt wird.4
STATUS_ORIGINUrsprungsstatus der Formularinstanz vor dem Speichern1
FORM_IDSystem-ID des FormularsKontaktformular
NAMESystem-Name des FormularsKontaktformular
pidProzess-ID des Formulareinganges13427
GUIDGUID des Formulareinganges6068bfc0-75fd-4fdb-b50a-40d77cb11d5b
OWNERUrsprünglicher Ersteller des Formulareinganges. Im Falle eines öffentlichen Formulars ist dies stets "anonymous".anonymous
ORIGIN_URLUrsprüngliche URL des Formulareshttp://testdomain.ch/formservice/eforms
GROUP_IDSysteminterne ID der Gruppe, zu welcher das Formular gehört7277


2) Processing Instructions: Elemente/Gruppen

Diese Verarbeitungsanweisungen wurden im Wizard hinterlegt, hier auf Feld und Gruppen-Ebene (analog Screenshot: Feldeigenschaften). 

3) Automatisch generierte Processing Instructions

Bei Dateien wird der Name und die die Grösse der Datei (Bytes) automatisch im XML hinzugefügt:

<var id="dateiupload-1">
	<?jax fileName="Grenzmutationsgesuch_13453.pdf" fileSize="62526" ?>
	a6f53b10-f897-4613-a3af-7d51d5ea1f80
</var>

Variablen

<var id="freitext_xsmall">keine</var>
<var id="freitext_large">Lorem ipsum set amet</var>
<var id="freitext_zwingend">Testfeld Zwingend</var>
<var id="freitext_mehrzeilig">Test Mehrzeilig</var>
<var id="email">asdfasdf@test.ch</var>
<var id="datum">2019-07-03</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

<list id="berechnung_liste" size="4">
	<var id="berechnung_liste_1_betrag">234234</var>
	<var id="berechnung_liste_1_mwst">2.5</var>
	<var id="berechnung_liste_1_betrag_brutto">240089.85</var>
	<var id="berechnung_liste_2_betrag">11234</var>
	<var id="berechnung_liste_2_mwst">2.5</var>
	<var id="berechnung_liste_2_betrag_brutto">11514.85</var>
	<var id="berechnung_liste_3_betrag">223442</var>
	<var id="berechnung_liste_3_mwst">2.5</var>
	<var id="berechnung_liste_3_betrag_brutto">229028.05</var>
	<var id="berechnung_liste_4_betrag">1522</var>
	<var id="berechnung_liste_4_mwst">2.5</var>
	<var id="berechnung_liste_4_betrag_brutto">1560.05</var>
</list>

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 numerisch gekennzeichnet. Die Verarbeitungsanweisungen werden innerhalb des Listenelements zuoberst gesetzt:

<list id="listeNr2" size="3">
	<?jax listType="singleEntry"?>
	<var id="listeNr2_1_name">Martin Müller</var>
	<var id="listeNr2_2_name">Jonas Peterson</var>
	<var id="listeNr2_3_name">Michael Rüegger</var>
</list>

Gruppen

<group id="MWST">
	<?jax global1="true"?>
	<var id="calc_anzahl">2</var>
	<var id="calc_preis">42.00</var>
	<var id="calc_mwst">8.0</var>
</group>

Gruppen sind eine Kombination von Feldern und/oder Listenelementen und werden mit dem Element <group> gekennzeichnet.






  • Keine Stichwörter