Mercurial > dive4elements > river
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 |