Mercurial > dive4elements > river
comparison artifacts/doc/datacage_ref_de.rst @ 7322:7be4425eaca9
Datacage doc ref: Explain dc:group
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 14 Oct 2013 16:38:16 +0200 |
parents | b33a2a437ab8 |
children | e07dc8854a8f |
comparison
equal
deleted
inserted
replaced
7321:b33a2a437ab8 | 7322:7be4425eaca9 |
---|---|
154 | 154 |
155 .. code:: xml | 155 .. code:: xml |
156 | 156 |
157 <dc:filter expr="XPath-Ausdruck"> | 157 <dc:filter expr="XPath-Ausdruck"> |
158 ... | 158 ... |
159 <dc:filter> | 159 </dc:filter> |
160 | 160 |
161 Evaluiert pro Zeile des aktuellen Datensatzes den XPath-Ausdruck 'expr' und erzeugt | 161 Evaluiert pro Zeile des aktuellen Datensatzes den XPath-Ausdruck 'expr' und erzeugt |
162 einen neuen Datensatz, der nur die Zeilen des Originaldatensatzes enthält für den | 162 einen neuen Datensatz, der nur die Zeilen des Originaldatensatzes enthält für den |
163 die Auswertung logisch wahr ergab. Im XPath-Ausdruck stehen die aufgefalteten Werte | 163 die Auswertung logisch wahr ergab. Im XPath-Ausdruck stehen die aufgefalteten Werte |
164 der jeweiligen Zeile zur Verfügung. | 164 der jeweiligen Zeile zur Verfügung. |
165 | 165 |
166 Folgends Beipiel soll dies verdeutlichen: | 166 Folgends Beispiel soll dies verdeutlichen: |
167 | 167 |
168 +----+ | 168 +----+ |
169 +Zahl+ | 169 +Zahl+ |
170 +====+ | 170 +====+ |
171 + 1+ | 171 + 1+ |
197 | 197 |
198 Innerhalb des `dc:filter`-Elementes kann der neue Datensatz wie gewohnt mit `dc:for-each` | 198 Innerhalb des `dc:filter`-Elementes kann der neue Datensatz wie gewohnt mit `dc:for-each` |
199 realisiert werden. Nach Verlassen des `dc:filter`-Elementes ist wieder der vormalige | 199 realisiert werden. Nach Verlassen des `dc:filter`-Elementes ist wieder der vormalige |
200 Datensatz aktuell. | 200 Datensatz aktuell. |
201 | 201 |
202 ``dc:group`` **TODO** | 202 ``dc:group`` Datensätzen in Gruppen ordnen |
203 .......................................... | |
204 | |
205 .. code:: xml | |
206 | |
207 <dc:group expr="XPath-Ausdruck"> | |
208 ... | |
209 </dc:group> | |
210 | |
211 Pro Zeile der Originaldatensatzes wird der XPath-Ausdruck 'expr' ausgewertet. | |
212 Wie bei `dc:filter` stehen hier die aufgefalteten Werte der einzelnen Spalten zur | |
213 Verfügung. Das Resultat der XPath-Auswertung wird als Schlüssel für zu erzeugende | |
214 Gruppen benutzt, denen dann die Zeilen zugeordnet werden. | |
215 Nachdem alle Zeilen ihren entsprechenden Gruppen zugeordnet wurden, wir der | |
216 Inhalt des `dc:group`-Elements für jede Gruppe durchlaufen. Innerhalb des | |
217 `dc:group`-Elementes steht der jeweilige Schlüssel der aktuellen Gruppe über | |
218 die Funktion `dc:group-key()` zur Auswertung zu Verfügung. Innerhalb der | |
219 jeweiligen Gruppen kann mittel `dc:for-each` der jeweilige Unterdatensatz | |
220 realisiert werden. | |
221 | |
222 Zur Verdeutlichung folgendes Beispiel: | |
223 | |
224 +-------+-----------+ | |
225 +Marke +Bezeichnung+ | |
226 +=======+===========+ | |
227 +Ferrari+Testarossa + | |
228 +-------+-----------+ | |
229 +Volvo +V40 + | |
230 +-------+-----------+ | |
231 +Volvo +780 + | |
232 +-------+-----------+ | |
233 +Ferrari+F40 + | |
234 +-------+-----------+ | |
235 +VW +Käfer + | |
236 +-------+-----------+ | |
237 | |
238 .. code:: xml | |
239 | |
240 <marken> | |
241 <dc:group expr="$Marke"> | |
242 <marke name="{dc:group-key()}"> | |
243 <dc:for-each> | |
244 <bezeichnung name="$Bezeichnung"/> | |
245 </dc:for-each> | |
246 </marke> | |
247 </dc:group> | |
248 </marken> | |
249 | |
250 Dies führt zu folgender Ausgabe: | |
251 | |
252 .. code:: xml | |
253 | |
254 <marken> | |
255 <marke name="Ferrari"> | |
256 <bezeichnung name="F40"/> | |
257 <bezeichnung name="Testarossa"/> | |
258 </marke> | |
259 <marke name="Volvo"> | |
260 <bezeichnung name="V40"/> | |
261 <bezeichnung name="780"/> | |
262 </marke> | |
263 <marke name="VW"> | |
264 <bezeichnung name="Käfer"/> | |
265 </marke> | |
266 </marken> | |
203 | 267 |
204 Datensätze auffalten | 268 Datensätze auffalten |
205 ~~~~~~~~~~~~~~~~~~~~ | 269 ~~~~~~~~~~~~~~~~~~~~ |
206 | 270 |
207 ``dc:for-each`` Realisieren eines Datensatzes | 271 ``dc:for-each`` Realisieren eines Datensatzes |