comparison artifacts/doc/datacage_ref_de.rst @ 7317:00b17e77c2e8

Datacage ref doc: Explain dc:macro & Co.
author Sascha L. Teichmann <teichmann@intevation.de>
date Mon, 14 Oct 2013 15:27:49 +0200
parents 52bc38e6bbe1
children d8ca7a1d522c
comparison
equal deleted inserted replaced
7316:52bc38e6bbe1 7317:00b17e77c2e8
115 115
116 ``dc:iterate`` **TODO** 116 ``dc:iterate`` **TODO**
117 117
118 Makros 118 Makros
119 ~~~~~~ 119 ~~~~~~
120 120 Um innerhalb des Definitionsdokumentes Wiederholungen zu vermeiden, können sogenannte
121 ``dc:macro`` **TODO** 121 Makros definiert werden, die dann von anderer Stellen aus eingefügt werden können.
122 122
123 ``dc:macro-body`` **TODO** 123 ``dc:macro`` Wiederverwendbare Teile definieren
124 124 ...............................................
125 ``dc:call-macro`` **TODO** 125
126 .. code:: xml
127
128 <dc:macro name="Name">
129 ...
130 </dc:macro>
131
132 Definiert ein Makro namens Name. Nach der Definition ist dieses dann unter diesem
133 Namen global innerhalb des Definitionsdokumentes bekannt. Makros können geschachtelt
134 werden. Auch eingeschachtelte Makros sind global sichtbar. Die Makrodefinition und
135 ihre eingeschalteten Elemente werden nicht in das Ausgabedokument übernommen.
136
137 ``dc:call-macro`` Makros aufrufen
138
139 .. code:: xml
140
141 <dc:call-macro name="Name">
142
143 Ruft ein Makro names Name auf. Dieses muss mit `dc:macro` definiert sein. Die Reihenfolge
144 von Definition und Aufruf ist egal.
145
146 ``dc:macro-body`` Elemente an ein Makro übergeben
147 .................................................
148
149 .. code:: xml
150
151 <dc:macro name="Name">
152 ...
153 <dc:macro-body/>
154 ...
155 </dc:macro>
156
157 Um an Makros weitere Bausteine als Argument übergeben zu können, ist es optional
158 möglich innerhalb einer Makrodefinition ein Element `dc:macro-body` einzufügen.
159 Dieses Element expandiert sich zum Inhalt des `dc:call-macro`-Aufrufs.
160
161 .. code:: xml
162
163 <dc:call-macro name="Name">Inhalt von dc:macro-body</dc:call-macro>
164
165 Zur Verdeutlichung ein konkretes Beispiel
166
167 .. code:: xml
168
169 <dc:macro name="Greetings">
170 <Hallo>
171 <dc:macro-body/>
172 </Hallo>
173 </dc:macro>
174
175 <dc:call-macro name="Greetings">Welt</dc:call-macro>
176 <dc:call-macro name="Greetings">Mond</dc:call-macro>
177
178 Dies produziert folgende Ausgabe
179
180 .. code:: xml
181
182 <Hallo>Welt</Hallo>
183 <Hallo>Mond</Hallo>
184
185 Das Haupteinsatzgebiet dieses Konstruktes ist die transparente Bereitstellung
186 von Kontexten, die dann verschiedentlich ausgewertet werden sollen.
126 187
127 Sonstige Elemente 188 Sonstige Elemente
128 ~~~~~~~~~~~~~~~~~ 189 ~~~~~~~~~~~~~~~~~
129 190
130 ``dc:element`` Hinzufügen neuer Elemente in der Ausgabe 191 ``dc:element`` Hinzufügen neuer Elemente in der Ausgabe

http://dive4elements.wald.intevation.org