... |
... |
@@ -8,12 +8,12 @@ |
8 |
8 |
|
9 |
9 |
== Workflow im Beispiel == |
10 |
10 |
|
11 |
|
-Im Formularstore kann das Beispielformular mit dem Namen "ALVA Sonn- und Feiertagsverbot" importiert oder heruntergeladen werden. In diesem werden Informationen gesammelt und diese nach dem Absenden des Formulars im [[Workflow>>doc:Formcycle.Designer.Workflow.WebHome]] über eine [[XSL-Transformation>>doc:https://de.wikipedia.org/wiki/XSL_Transformation]] in ein für ALVA9 importierbares XML-Format umgewandelt. Anschließend erstellt der Workflow aus diese XML-Datei, allen im Formular übertragenen Daten und einer PDF-Druckquittung ein ZIP-Archiv. |
|
11 |
+Im Formularstore kann das Beispielformular mit dem Namen "ALVA Sonn- und Feiertagsverbot" importiert oder heruntergeladen werden. In diesem werden Informationen gesammelt und diese nach dem Absenden des Formulars im [[Workflow>>doc:Formcycle.Designer.Workflow.WebHome]] über eine [[XSL-Transformation>>doc:Formcycle.UserInterface.FilesAndTemplates.XSLTransformation]] in ein für ALVA9 importierbares XML-Format umgewandelt. Anschließend erstellt der Workflow aus diese XML-Datei, allen im Formular übertragenen Daten und einer PDF-Druckquittung ein ZIP-Archiv. |
12 |
12 |
Dieses wird anschließend in das Austauschverzeichnis gespeichert. Das Austauschverzeichnis ist im Beispielformular noch nicht konfiguriert und muss in den jeweiligen Aktionen zunächst noch festgelegt werden. Der Grund dafür ist, dass der Pfade nicht allgemengültig sind und vom jeweiligen System abhängen, in welches das Beispielformular importiert wurde. |
13 |
13 |
|
14 |
14 |
=== Inhalt und Erstellung der XML-Datei === |
15 |
15 |
|
16 |
|
-Die XML-Datei mit allen im Formular eingegebenen Daten wird über eine sagenannte [[XSL-Transformation>>WIKIPEDIA]] erzeugt. Die Struktur der erzeugten XML-Datei wird dabei von ALVA9 vorgegeben und besteht im Beispiel aus den Konten //daten// und //datensatz//, wobei in letzteren die einzelnen Informationen als eigene Unterknoten eingefügt werden. |
|
16 |
+Die XML-Datei mit allen im Formular eingegebenen Daten wird über eine sagenannte [[XSL-Transformation>>https://de.wikipedia.org/wiki/XSL_Transformation]] erzeugt. Die Struktur der erzeugten XML-Datei wird dabei von ALVA9 vorgegeben und besteht im Beispiel aus den Konten //daten// und //datensatz//, wobei in letzteren die einzelnen Informationen als eigene Unterknoten eingefügt werden. |
17 |
17 |
|
18 |
18 |
Die vollständige XSL-Transformation für das Beispiel sieht wie folgt aus: |
19 |
19 |
|
... |
... |
@@ -21,104 +21,104 @@ |
21 |
21 |
{{code language="xslt"}} |
22 |
22 |
<?xml version="1.0" encoding="UTF-8"?> |
23 |
23 |
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
24 |
|
- <xsl:template match="process"> |
25 |
|
- <daten> |
26 |
|
- <datensatz> |
27 |
|
- <NAME1><xsl:value-of select="form/field[@name='tfOrgName']/plainValue"/> <xsl:value-of select="form/field[@name='Rechtsform']/plainValue"/></NAME1> |
28 |
|
- <NAME2><xsl:value-of select="form/field[@name='tfAntragstellerAnrede']/plainValue"/> <xsl:value-of select="form/field[@name='tfAntragstellerTitel']/plainValue"/> <xsl:value-of select="form/field[@name='tfAntragstellerVorname']/plainValue"/> <xsl:value-of select="form/field[@name='tfAntragstellerName']/plainValue"/></NAME2> |
29 |
|
- <NAME3><xsl:value-of select="form/field[@name='']/plainValue"/></NAME3> |
|
24 |
+ <xsl:template match="process"> |
|
25 |
+ <daten> |
|
26 |
+ <datensatz> |
|
27 |
+ <NAME1><xsl:value-of select="form/field[@name='tfOrgName']/plainValue"/> <xsl:value-of select="form/field[@name='Rechtsform']/plainValue"/></NAME1> |
|
28 |
+ <NAME2><xsl:value-of select="form/field[@name='tfAntragstellerAnrede']/plainValue"/> <xsl:value-of select="form/field[@name='tfAntragstellerTitel']/plainValue"/> <xsl:value-of select="form/field[@name='tfAntragstellerVorname']/plainValue"/> <xsl:value-of select="form/field[@name='tfAntragstellerName']/plainValue"/></NAME2> |
|
29 |
+ <NAME3><xsl:value-of select="form/field[@name='']/plainValue"/></NAME3> |
30 |
30 |
<NAME4><xsl:value-of select="form/field[@name='']/plainValue"/></NAME4> |
31 |
|
- <STRASSE><xsl:value-of select="form/field[@name='tfAntragstellerAdresse']/plainValue"/></STRASSE> |
32 |
|
- <HAUS_NR><xsl:value-of select="form/field[@name='']/plainValue"/></HAUS_NR> |
33 |
|
- <ORT><xsl:value-of select="form/field[@name='tfAntragstellerOrt']/plainValue"/></ORT> |
34 |
|
- <PLZ><xsl:value-of select="form/field[@name='tfAntragstellerPLZ']/plainValue"/></PLZ> |
35 |
|
- <TELEFON><xsl:value-of select="form/field[@name='tfAntragstellerTelefon']/plainValue"/></TELEFON> |
36 |
|
- <EMAIL><xsl:value-of select="form/field[@name='tfAntragstellerEmail']/plainValue"/></EMAIL> |
37 |
|
- <FAX><xsl:value-of select="form/field[@name='tfAntragstellerFax']/plainValue"/></FAX> |
38 |
|
- <SONNTAGE><xsl:value-of select="form/field[@name='cbSONNTAGE']/plainValue"/></SONNTAGE> |
39 |
|
- <FERIEN><xsl:value-of select="form/field[@name='cbFERIEN']/plainValue"/></FERIEN> |
|
31 |
+ <STRASSE><xsl:value-of select="form/field[@name='tfAntragstellerAdresse']/plainValue"/></STRASSE> |
|
32 |
+ <HAUS_NR><xsl:value-of select="form/field[@name='']/plainValue"/></HAUS_NR> |
|
33 |
+ <ORT><xsl:value-of select="form/field[@name='tfAntragstellerOrt']/plainValue"/></ORT> |
|
34 |
+ <PLZ><xsl:value-of select="form/field[@name='tfAntragstellerPLZ']/plainValue"/></PLZ> |
|
35 |
+ <TELEFON><xsl:value-of select="form/field[@name='tfAntragstellerTelefon']/plainValue"/></TELEFON> |
|
36 |
+ <EMAIL><xsl:value-of select="form/field[@name='tfAntragstellerEmail']/plainValue"/></EMAIL> |
|
37 |
+ <FAX><xsl:value-of select="form/field[@name='tfAntragstellerFax']/plainValue"/></FAX> |
|
38 |
+ <SONNTAGE><xsl:value-of select="form/field[@name='cbSONNTAGE']/plainValue"/></SONNTAGE> |
|
39 |
+ <FERIEN><xsl:value-of select="form/field[@name='cbFERIEN']/plainValue"/></FERIEN> |
40 |
40 |
<GRUND2><xsl:value-of select="form/field[@name='cbGRUND2']/plainValue"/></GRUND2> |
41 |
41 |
<GRUND1><xsl:value-of select="form/field[@name='cbGRUND1']/plainValue"/></GRUND1> |
42 |
|
- <ANTR_DATUM><xsl:value-of select="substring-before(./@creation-date, ' ')" /></ANTR_DATUM> |
43 |
|
- <NAME_HALT><xsl:value-of select="form/field[@name='tfNAME_HALT']/plainValue"/></NAME_HALT> |
44 |
|
- <FIRMA_HALT><xsl:value-of select="form/field[@name='tfFIRMA_HALT']/plainValue"/></FIRMA_HALT> |
45 |
|
- <POS_HALTER><xsl:value-of select="form/field[@name='tfPOS_HALTER']/plainValue"/></POS_HALTER> |
46 |
|
- <xsl:if test="form/field[@name='cbLKW']/plainValue!=1"><LKW>0</LKW></xsl:if> |
47 |
|
- <xsl:if test="form/field[@name='cbLKW']/plainValue=1"><LKW><xsl:value-of select="form/field[@name='cbLKW']/plainValue"/></LKW></xsl:if> |
48 |
|
- <xsl:if test="form/field[@name='cbANHAENGER']/plainValue!=1"><ANHAENGER>0</ANHAENGER></xsl:if> |
49 |
|
- <xsl:if test="form/field[@name='cbANHAENGER']/plainValue=1"><ANHAENGER><xsl:value-of select="form/field[@name='cbANHAENGER']/plainValue"/></ANHAENGER></xsl:if> |
50 |
|
- <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue!=1"><ZUGMASCHIN>0</ZUGMASCHIN></xsl:if> |
51 |
|
- <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue=1"><ZUGMASCHIN><xsl:value-of select="form/field[@name='cbZUGMASCHIN']/plainValue"/></ZUGMASCHIN></xsl:if> |
52 |
|
- <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue!=1"><AUFLIEGER>0</AUFLIEGER></xsl:if> |
53 |
|
- <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue=1"><AUFLIEGER><xsl:value-of select="form/field[@name='cbAUFLIEGER']/plainValue"/></AUFLIEGER></xsl:if> |
54 |
|
- <xsl:if test="form/field[@name='cbERSATZ1']/plainValue!=1"><ERSATZ1>0</ERSATZ1></xsl:if> |
55 |
|
- <xsl:if test="form/field[@name='cbERSATZ1']/plainValue=1"><ERSATZ1><xsl:value-of select="form/field[@name='cbERSATZ1']/plainValue"/></ERSATZ1></xsl:if> |
56 |
|
- <xsl:if test="form/field[@name='cbERSATZ2']/plainValue!=1"><ERSATZ2>0</ERSATZ2></xsl:if> |
57 |
|
- <xsl:if test="form/field[@name='cbERSATZ2']/plainValue=1"><ERSATZ2><xsl:value-of select="form/field[@name='cbERSATZ2']/plainValue"/></ERSATZ2></xsl:if> |
58 |
|
- <LKW_KENNZ><xsl:value-of select="form/field[@name='tfLKW_KENNZ']/plainValue"/></LKW_KENNZ> |
59 |
|
- <ANH_KENNZ><xsl:value-of select="form/field[@name='tfANH_KENNZ']/plainValue"/></ANH_KENNZ> |
60 |
|
- <ZUG_KENNZ><xsl:value-of select="form/field[@name='tfZUG_KENNZ']/plainValue"/></ZUG_KENNZ> |
61 |
|
- <AUF_KENNZ><xsl:value-of select="form/field[@name='tfAUF_KENNZ']/plainValue"/></AUF_KENNZ> |
62 |
|
- <ERS_KENNZ1><xsl:value-of select="form/field[@name='tfERS_KENNZ1']/plainValue"/></ERS_KENNZ1> |
63 |
|
- <ERS_KENNZ2><xsl:value-of select="form/field[@name='tfERS_KENNZ2']/plainValue"/></ERS_KENNZ2> |
64 |
|
- <LKW2KENNZ><xsl:value-of select="form/field[@name='tfLKW2KENNZ']/plainValue"/></LKW2KENNZ> |
65 |
|
- <ANH2KENNZ><xsl:value-of select="form/field[@name='tfANH2KENNZ']/plainValue"/></ANH2KENNZ> |
66 |
|
- <ZUG2KENNZ><xsl:value-of select="form/field[@name='tfZUG2KENNZ']/plainValue"/></ZUG2KENNZ> |
67 |
|
- <AUF2KENNZ><xsl:value-of select="form/field[@name='tfAUF2KENNZ']/plainValue"/></AUF2KENNZ> |
68 |
|
- <ERS2KENNZ1><xsl:value-of select="form/field[@name='tfERS2KENNZ1']/plainValue"/></ERS2KENNZ1> |
69 |
|
- <ERS2KENNZ2><xsl:value-of select="form/field[@name='tfERS2KENNZ2']/plainValue"/></ERS2KENNZ2> |
70 |
|
- <LKW_GEWICH> |
|
42 |
+ <ANTR_DATUM><xsl:value-of select="substring-before(./@creation-date, ' ')" /></ANTR_DATUM> |
|
43 |
+ <NAME_HALT><xsl:value-of select="form/field[@name='tfNAME_HALT']/plainValue"/></NAME_HALT> |
|
44 |
+ <FIRMA_HALT><xsl:value-of select="form/field[@name='tfFIRMA_HALT']/plainValue"/></FIRMA_HALT> |
|
45 |
+ <POS_HALTER><xsl:value-of select="form/field[@name='tfPOS_HALTER']/plainValue"/></POS_HALTER> |
|
46 |
+ <xsl:if test="form/field[@name='cbLKW']/plainValue!=1"><LKW>0</LKW></xsl:if> |
|
47 |
+ <xsl:if test="form/field[@name='cbLKW']/plainValue=1"><LKW><xsl:value-of select="form/field[@name='cbLKW']/plainValue"/></LKW></xsl:if> |
|
48 |
+ <xsl:if test="form/field[@name='cbANHAENGER']/plainValue!=1"><ANHAENGER>0</ANHAENGER></xsl:if> |
|
49 |
+ <xsl:if test="form/field[@name='cbANHAENGER']/plainValue=1"><ANHAENGER><xsl:value-of select="form/field[@name='cbANHAENGER']/plainValue"/></ANHAENGER></xsl:if> |
|
50 |
+ <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue!=1"><ZUGMASCHIN>0</ZUGMASCHIN></xsl:if> |
|
51 |
+ <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue=1"><ZUGMASCHIN><xsl:value-of select="form/field[@name='cbZUGMASCHIN']/plainValue"/></ZUGMASCHIN></xsl:if> |
|
52 |
+ <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue!=1"><AUFLIEGER>0</AUFLIEGER></xsl:if> |
|
53 |
+ <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue=1"><AUFLIEGER><xsl:value-of select="form/field[@name='cbAUFLIEGER']/plainValue"/></AUFLIEGER></xsl:if> |
|
54 |
+ <xsl:if test="form/field[@name='cbERSATZ1']/plainValue!=1"><ERSATZ1>0</ERSATZ1></xsl:if> |
|
55 |
+ <xsl:if test="form/field[@name='cbERSATZ1']/plainValue=1"><ERSATZ1><xsl:value-of select="form/field[@name='cbERSATZ1']/plainValue"/></ERSATZ1></xsl:if> |
|
56 |
+ <xsl:if test="form/field[@name='cbERSATZ2']/plainValue!=1"><ERSATZ2>0</ERSATZ2></xsl:if> |
|
57 |
+ <xsl:if test="form/field[@name='cbERSATZ2']/plainValue=1"><ERSATZ2><xsl:value-of select="form/field[@name='cbERSATZ2']/plainValue"/></ERSATZ2></xsl:if> |
|
58 |
+ <LKW_KENNZ><xsl:value-of select="form/field[@name='tfLKW_KENNZ']/plainValue"/></LKW_KENNZ> |
|
59 |
+ <ANH_KENNZ><xsl:value-of select="form/field[@name='tfANH_KENNZ']/plainValue"/></ANH_KENNZ> |
|
60 |
+ <ZUG_KENNZ><xsl:value-of select="form/field[@name='tfZUG_KENNZ']/plainValue"/></ZUG_KENNZ> |
|
61 |
+ <AUF_KENNZ><xsl:value-of select="form/field[@name='tfAUF_KENNZ']/plainValue"/></AUF_KENNZ> |
|
62 |
+ <ERS_KENNZ1><xsl:value-of select="form/field[@name='tfERS_KENNZ1']/plainValue"/></ERS_KENNZ1> |
|
63 |
+ <ERS_KENNZ2><xsl:value-of select="form/field[@name='tfERS_KENNZ2']/plainValue"/></ERS_KENNZ2> |
|
64 |
+ <LKW2KENNZ><xsl:value-of select="form/field[@name='tfLKW2KENNZ']/plainValue"/></LKW2KENNZ> |
|
65 |
+ <ANH2KENNZ><xsl:value-of select="form/field[@name='tfANH2KENNZ']/plainValue"/></ANH2KENNZ> |
|
66 |
+ <ZUG2KENNZ><xsl:value-of select="form/field[@name='tfZUG2KENNZ']/plainValue"/></ZUG2KENNZ> |
|
67 |
+ <AUF2KENNZ><xsl:value-of select="form/field[@name='tfAUF2KENNZ']/plainValue"/></AUF2KENNZ> |
|
68 |
+ <ERS2KENNZ1><xsl:value-of select="form/field[@name='tfERS2KENNZ1']/plainValue"/></ERS2KENNZ1> |
|
69 |
+ <ERS2KENNZ2><xsl:value-of select="form/field[@name='tfERS2KENNZ2']/plainValue"/></ERS2KENNZ2> |
|
70 |
+ <LKW_GEWICH> |
71 |
71 |
<xsl:call-template name="formatWeight"> |
72 |
72 |
<xsl:with-param name="weight" select="form/field[@name='tfLKW_GEWICH']/plainValue" /> |
73 |
73 |
</xsl:call-template> |
74 |
|
- </LKW_GEWICH> |
75 |
|
- <ANH_GEWICH> |
|
74 |
+ </LKW_GEWICH> |
|
75 |
+ <ANH_GEWICH> |
76 |
76 |
<xsl:call-template name="formatWeight"> |
77 |
77 |
<xsl:with-param name="weight" select="form/field[@name='tfANH_GEWICH']/plainValue" /> |
78 |
78 |
</xsl:call-template> |
79 |
|
- </ANH_GEWICH> |
80 |
|
- <ZUG_GEWICH> |
|
79 |
+ </ANH_GEWICH> |
|
80 |
+ <ZUG_GEWICH> |
81 |
81 |
<xsl:call-template name="formatWeight"> |
82 |
82 |
<xsl:with-param name="weight" select="form/field[@name='tfZUG_GEWICH']/plainValue" /> |
83 |
83 |
</xsl:call-template> |
84 |
|
- </ZUG_GEWICH> |
85 |
|
- <AUF_GEWICH> |
|
84 |
+ </ZUG_GEWICH> |
|
85 |
+ <AUF_GEWICH> |
86 |
86 |
<xsl:call-template name="formatWeight"> |
87 |
87 |
<xsl:with-param name="weight" select="form/field[@name='tfAUF_GEWICH']/plainValue" /> |
88 |
88 |
</xsl:call-template> |
89 |
|
- </AUF_GEWICH> |
90 |
|
- <!-- |
91 |
|
- <LKW_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></LKW_LEER> |
92 |
|
- <ANH_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ANH_LEER> |
93 |
|
- <ZUG_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ZUG_LEER> |
94 |
|
- <AUF_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></AUF_LEER> |
95 |
|
- --> |
96 |
|
- <ERS_GEWI_1> |
|
89 |
+ </AUF_GEWICH> |
|
90 |
+ <!-- |
|
91 |
+ <LKW_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></LKW_LEER> |
|
92 |
+ <ANH_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ANH_LEER> |
|
93 |
+ <ZUG_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ZUG_LEER> |
|
94 |
+ <AUF_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></AUF_LEER> |
|
95 |
+ --> |
|
96 |
+ <ERS_GEWI_1> |
97 |
97 |
<xsl:call-template name="formatWeight"> |
98 |
98 |
<xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_1']/plainValue" /> |
99 |
99 |
</xsl:call-template> |
100 |
|
- </ERS_GEWI_1> |
101 |
|
- <ERS_GEWI_2> |
|
100 |
+ </ERS_GEWI_1> |
|
101 |
+ <ERS_GEWI_2> |
102 |
102 |
<xsl:call-template name="formatWeight"> |
103 |
103 |
<xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_2']/plainValue" /> |
104 |
104 |
</xsl:call-template> |
105 |
|
- </ERS_GEWI_2> |
106 |
|
- <ART><xsl:value-of select="form/field[@name='tfART']/plainValue"/></ART> |
107 |
|
- <ART_GEWICH> |
|
105 |
+ </ERS_GEWI_2> |
|
106 |
+ <ART><xsl:value-of select="form/field[@name='tfART']/plainValue"/></ART> |
|
107 |
+ <ART_GEWICH> |
108 |
108 |
<xsl:call-template name="formatWeight"> |
109 |
109 |
<xsl:with-param name="weight" select="form/field[@name='tfART_GEWICH']/plainValue" /> |
110 |
110 |
</xsl:call-template> |
111 |
|
- </ART_GEWICH> |
112 |
|
- <STARTORT><xsl:value-of select="form/field[@name='tfSTARTORT']/plainValue"/></STARTORT> |
113 |
|
- <ZIELORT><xsl:value-of select="form/field[@name='tfZIELORT']/plainValue"/></ZIELORT> |
114 |
|
- <UEBER><xsl:value-of select="form/field[@name='tfUEBER']/plainValue"/></UEBER> |
115 |
|
- <ZEIT_VON> |
|
111 |
+ </ART_GEWICH> |
|
112 |
+ <STARTORT><xsl:value-of select="form/field[@name='tfSTARTORT']/plainValue"/></STARTORT> |
|
113 |
+ <ZIELORT><xsl:value-of select="form/field[@name='tfZIELORT']/plainValue"/></ZIELORT> |
|
114 |
+ <UEBER><xsl:value-of select="form/field[@name='tfUEBER']/plainValue"/></UEBER> |
|
115 |
+ <ZEIT_VON> |
116 |
116 |
<xsl:call-template name="formatDate"> |
117 |
117 |
<xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_VON']/plainValue" /> |
118 |
118 |
</xsl:call-template> |
119 |
|
- </ZEIT_VON> |
120 |
|
- <VON_UHR><xsl:value-of select="form/field[@name='tfVON_UHR']/plainValue"/></VON_UHR> |
121 |
|
- <ZEIT_BIS> |
|
119 |
+ </ZEIT_VON> |
|
120 |
+ <VON_UHR><xsl:value-of select="form/field[@name='tfVON_UHR']/plainValue"/></VON_UHR> |
|
121 |
+ <ZEIT_BIS> |
122 |
122 |
<xsl:call-template name="formatDate"> |
123 |
123 |
<xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_BIS']/plainValue" /> |
124 |
124 |
</xsl:call-template> |