Von Version 1.15
bearbeitet von gru
am 31.03.2022, 12:15
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 1.13
bearbeitet von gru
am 31.03.2022, 11:59
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -12,160 +12,11 @@
12 12  
13 13  === Inhalt und Erstellung der XML-Datei ===
14 14  
15 -Die XML-Datei mit allen im Formular eingegebenen Daten wird über eine sagenannte 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.
15 +Hierbei ist die Verwendung gl dateinamen
16 16  
17 -Die vollständige XSL-Transformation für das Beispiel sieht wie folgt aus:
18 18  
19 -{{panel title="XSL-Transformation des Beispielformulars" triggerable="true" initial="hidden"}}
20 -{{code language="xslt"}}
21 -<?xml version="1.0" encoding="UTF-8"?>
22 -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
23 - <xsl:template match="process">
24 - <daten>
25 - <datensatz>
26 - <NAME1><xsl:value-of select="form/field[@name='tfOrgName']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='Rechtsform']/plainValue"/></NAME1>
27 - <NAME2><xsl:value-of select="form/field[@name='tfAntragstellerAnrede']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerTitel']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerVorname']/plainValue"/>&#xA0;<xsl:value-of select="form/field[@name='tfAntragstellerName']/plainValue"/></NAME2>
28 - <NAME3><xsl:value-of select="form/field[@name='']/plainValue"/></NAME3>
29 - <NAME4><xsl:value-of select="form/field[@name='']/plainValue"/></NAME4>
30 - <STRASSE><xsl:value-of select="form/field[@name='tfAntragstellerAdresse']/plainValue"/></STRASSE>
31 - <HAUS_NR><xsl:value-of select="form/field[@name='']/plainValue"/></HAUS_NR>
32 - <ORT><xsl:value-of select="form/field[@name='tfAntragstellerOrt']/plainValue"/></ORT>
33 - <PLZ><xsl:value-of select="form/field[@name='tfAntragstellerPLZ']/plainValue"/></PLZ>
34 - <TELEFON><xsl:value-of select="form/field[@name='tfAntragstellerTelefon']/plainValue"/></TELEFON>
35 - <EMAIL><xsl:value-of select="form/field[@name='tfAntragstellerEmail']/plainValue"/></EMAIL>
36 - <FAX><xsl:value-of select="form/field[@name='tfAntragstellerFax']/plainValue"/></FAX>
37 - <SONNTAGE><xsl:value-of select="form/field[@name='cbSONNTAGE']/plainValue"/></SONNTAGE>
38 - <FERIEN><xsl:value-of select="form/field[@name='cbFERIEN']/plainValue"/></FERIEN>
39 - <GRUND2><xsl:value-of select="form/field[@name='cbGRUND2']/plainValue"/></GRUND2>
40 - <GRUND1><xsl:value-of select="form/field[@name='cbGRUND1']/plainValue"/></GRUND1>
41 - <ANTR_DATUM><xsl:value-of select="substring-before(./@creation-date, ' ')" /></ANTR_DATUM>
42 - <NAME_HALT><xsl:value-of select="form/field[@name='tfNAME_HALT']/plainValue"/></NAME_HALT>
43 - <FIRMA_HALT><xsl:value-of select="form/field[@name='tfFIRMA_HALT']/plainValue"/></FIRMA_HALT>
44 - <POS_HALTER><xsl:value-of select="form/field[@name='tfPOS_HALTER']/plainValue"/></POS_HALTER>
45 - <xsl:if test="form/field[@name='cbLKW']/plainValue!=1"><LKW>0</LKW></xsl:if>
46 - <xsl:if test="form/field[@name='cbLKW']/plainValue=1"><LKW><xsl:value-of select="form/field[@name='cbLKW']/plainValue"/></LKW></xsl:if>
47 - <xsl:if test="form/field[@name='cbANHAENGER']/plainValue!=1"><ANHAENGER>0</ANHAENGER></xsl:if>
48 - <xsl:if test="form/field[@name='cbANHAENGER']/plainValue=1"><ANHAENGER><xsl:value-of select="form/field[@name='cbANHAENGER']/plainValue"/></ANHAENGER></xsl:if>
49 - <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue!=1"><ZUGMASCHIN>0</ZUGMASCHIN></xsl:if>
50 - <xsl:if test="form/field[@name='cbZUGMASCHIN']/plainValue=1"><ZUGMASCHIN><xsl:value-of select="form/field[@name='cbZUGMASCHIN']/plainValue"/></ZUGMASCHIN></xsl:if>
51 - <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue!=1"><AUFLIEGER>0</AUFLIEGER></xsl:if>
52 - <xsl:if test="form/field[@name='cbAUFLIEGER']/plainValue=1"><AUFLIEGER><xsl:value-of select="form/field[@name='cbAUFLIEGER']/plainValue"/></AUFLIEGER></xsl:if>
53 - <xsl:if test="form/field[@name='cbERSATZ1']/plainValue!=1"><ERSATZ1>0</ERSATZ1></xsl:if>
54 - <xsl:if test="form/field[@name='cbERSATZ1']/plainValue=1"><ERSATZ1><xsl:value-of select="form/field[@name='cbERSATZ1']/plainValue"/></ERSATZ1></xsl:if>
55 - <xsl:if test="form/field[@name='cbERSATZ2']/plainValue!=1"><ERSATZ2>0</ERSATZ2></xsl:if>
56 - <xsl:if test="form/field[@name='cbERSATZ2']/plainValue=1"><ERSATZ2><xsl:value-of select="form/field[@name='cbERSATZ2']/plainValue"/></ERSATZ2></xsl:if>
57 - <LKW_KENNZ><xsl:value-of select="form/field[@name='tfLKW_KENNZ']/plainValue"/></LKW_KENNZ>
58 - <ANH_KENNZ><xsl:value-of select="form/field[@name='tfANH_KENNZ']/plainValue"/></ANH_KENNZ>
59 - <ZUG_KENNZ><xsl:value-of select="form/field[@name='tfZUG_KENNZ']/plainValue"/></ZUG_KENNZ>
60 - <AUF_KENNZ><xsl:value-of select="form/field[@name='tfAUF_KENNZ']/plainValue"/></AUF_KENNZ>
61 - <ERS_KENNZ1><xsl:value-of select="form/field[@name='tfERS_KENNZ1']/plainValue"/></ERS_KENNZ1>
62 - <ERS_KENNZ2><xsl:value-of select="form/field[@name='tfERS_KENNZ2']/plainValue"/></ERS_KENNZ2>
63 - <LKW2KENNZ><xsl:value-of select="form/field[@name='tfLKW2KENNZ']/plainValue"/></LKW2KENNZ>
64 - <ANH2KENNZ><xsl:value-of select="form/field[@name='tfANH2KENNZ']/plainValue"/></ANH2KENNZ>
65 - <ZUG2KENNZ><xsl:value-of select="form/field[@name='tfZUG2KENNZ']/plainValue"/></ZUG2KENNZ>
66 - <AUF2KENNZ><xsl:value-of select="form/field[@name='tfAUF2KENNZ']/plainValue"/></AUF2KENNZ>
67 - <ERS2KENNZ1><xsl:value-of select="form/field[@name='tfERS2KENNZ1']/plainValue"/></ERS2KENNZ1>
68 - <ERS2KENNZ2><xsl:value-of select="form/field[@name='tfERS2KENNZ2']/plainValue"/></ERS2KENNZ2>
69 - <LKW_GEWICH>
70 - <xsl:call-template name="formatWeight">
71 - <xsl:with-param name="weight" select="form/field[@name='tfLKW_GEWICH']/plainValue" />
72 - </xsl:call-template>
73 - </LKW_GEWICH>
74 - <ANH_GEWICH>
75 - <xsl:call-template name="formatWeight">
76 - <xsl:with-param name="weight" select="form/field[@name='tfANH_GEWICH']/plainValue" />
77 - </xsl:call-template>
78 - </ANH_GEWICH>
79 - <ZUG_GEWICH>
80 - <xsl:call-template name="formatWeight">
81 - <xsl:with-param name="weight" select="form/field[@name='tfZUG_GEWICH']/plainValue" />
82 - </xsl:call-template>
83 - </ZUG_GEWICH>
84 - <AUF_GEWICH>
85 - <xsl:call-template name="formatWeight">
86 - <xsl:with-param name="weight" select="form/field[@name='tfAUF_GEWICH']/plainValue" />
87 - </xsl:call-template>
88 - </AUF_GEWICH>
89 - <!--
90 - <LKW_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></LKW_LEER>
91 - <ANH_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ANH_LEER>
92 - <ZUG_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></ZUG_LEER>
93 - <AUF_LEER><xsl:value-of select="form/field[@name='']/plainValue"/></AUF_LEER>
94 - -->
95 - <ERS_GEWI_1>
96 - <xsl:call-template name="formatWeight">
97 - <xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_1']/plainValue" />
98 - </xsl:call-template>
99 - </ERS_GEWI_1>
100 - <ERS_GEWI_2>
101 - <xsl:call-template name="formatWeight">
102 - <xsl:with-param name="weight" select="form/field[@name='tfERS_GEWI_2']/plainValue" />
103 - </xsl:call-template>
104 - </ERS_GEWI_2>
105 - <ART><xsl:value-of select="form/field[@name='tfART']/plainValue"/></ART>
106 - <ART_GEWICH>
107 - <xsl:call-template name="formatWeight">
108 - <xsl:with-param name="weight" select="form/field[@name='tfART_GEWICH']/plainValue" />
109 - </xsl:call-template>
110 - </ART_GEWICH>
111 - <STARTORT><xsl:value-of select="form/field[@name='tfSTARTORT']/plainValue"/></STARTORT>
112 - <ZIELORT><xsl:value-of select="form/field[@name='tfZIELORT']/plainValue"/></ZIELORT>
113 - <UEBER><xsl:value-of select="form/field[@name='tfUEBER']/plainValue"/></UEBER>
114 - <ZEIT_VON>
115 - <xsl:call-template name="formatDate">
116 - <xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_VON']/plainValue" />
117 - </xsl:call-template>
118 - </ZEIT_VON>
119 - <VON_UHR><xsl:value-of select="form/field[@name='tfVON_UHR']/plainValue"/></VON_UHR>
120 - <ZEIT_BIS>
121 - <xsl:call-template name="formatDate">
122 - <xsl:with-param name="dateTime" select="form/field[@name='tfZEIT_BIS']/plainValue" />
123 - </xsl:call-template>
124 - </ZEIT_BIS>
125 - <BIS_UHR><xsl:value-of select="form/field[@name='tfBIS_UHR']/plainValue"/></BIS_UHR>
126 - <ORT_LEERFA><xsl:value-of select="form/field[@name='tfORT_LEERFA']/plainValue"/></ORT_LEERFA>
127 - <BEGRUENDG><xsl:value-of select="form/field[@name='tfBEGRUENDG']/plainValue"/></BEGRUENDG>
128 - <!--
129 - <ORTSLAGE><xsl:value-of select="form/field[@name='tfORTSLAGE']/plainValue"/></ORTSLAGE>
130 - <NOTIZ><xsl:value-of select="form/field[@name='tfNOTIZ']/plainValue"/></NOTIZ>
131 - -->
132 - <ORTSLAGE><xsl:value-of select="form/field[@name='edAnmerkungen']/plainValue"/></ORTSLAGE>
133 - <NOTIZ><xsl:value-of select="form/field[@name='edAnmerkungen']/plainValue"/></NOTIZ>
134 - <SACHGEBIET>Z</SACHGEBIET>
135 - <FORMID><xsl:value-of select="form/field[@name='tfFORMID']/plainValue"/></FORMID>
136 - <SERVICE_ID><xsl:value-of select="./@process-uid" /></SERVICE_ID>
137 - </datensatz>
138 - </daten>
139 - </xsl:template>
140 - <xsl:template name="formatDate">
141 - <xsl:param name="dateTime"/>
142 - <xsl:variable name="day" select="substring-before($dateTime, '.')" />
143 - <xsl:variable name="month" select="substring-before(substring-after($dateTime, '.'), '.')" />
144 - <xsl:variable name="year" select="substring-after(substring-after($dateTime, '.'), '.')" />
145 -
146 - <xsl:choose>
147 - <xsl:when test="$dateTime !=''">
148 - <xsl:value-of select="concat($year, '-', $month, '-', $day)" />
149 - </xsl:when>
150 - <xsl:otherwise>
151 -
152 - </xsl:otherwise>
153 - </xsl:choose>
154 - </xsl:template>
155 - <xsl:template name="formatWeight">
156 - <xsl:param name="weight"/>
157 - <xsl:value-of select="translate($weight, ',', '.')" />
158 - </xsl:template>
159 -</xsl:stylesheet>
160 -{{/code}}
161 -{{/panel}}
162 -
163 -Im Beispiel werden über die am Ende stehenden Templates //formatDate// und //formatWeight// Datumswerte und Gewichte in das Format überführt, welches ALVA9 erwartet. Eine Überführung von im Formular eingegebenen Werten in eine für ALVA9 erwartetes Format kann gegebenenfalls auch bei anderen Daten nötig sein. In den meisten Fällen ist die Verwendung von speziellen Templates häufig die einfachste Lösung, um die Werte in das gewünschte Format zu konvertieren.
164 -
165 165  === Speichern von zusätzlichen Dokumenten ===
166 166  
167 -Hierbei ist die Verwendung gl dateinamen
168 -
169 169  Über eine Aktion vom Typ [[ZIP Komprimieren>>doc:TODO]]
170 170  Selbe, eindeutige ID -> Es empfiehlt sich, Process_ID zu verwenden
171 171