85 <data type="ID"/> |
85 <data type="ID"/> |
86 </attribute> |
86 </attribute> |
87 </define> |
87 </define> |
88 <define name="selection.content"> |
88 <define name="selection.content"> |
89 <optional> |
89 <optional> |
90 <ref name="selection.metadata"/> |
90 <ref name="selection.head"/> |
91 </optional> |
91 </optional> |
92 <oneOrMore> |
92 <oneOrMore> |
93 <choice> |
93 <choice> |
94 <ref name="selection.file"/> |
94 <ref name="selection.file"/> |
95 <ref name="selection.division"/> |
95 <ref name="selection.division"/> |
96 </choice> |
96 </choice> |
97 </oneOrMore> |
97 </oneOrMore> |
98 </define> |
98 </define> |
99 <!-- |
99 <!-- |
100 ============================================================================= |
100 ============================================================================= |
101 Metadata level |
101 HEAD LEVEL |
102 ============================================================================= |
102 ============================================================================= |
103 --> |
103 --> |
104 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
104 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ head ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
105 <define name="composition.metadata"> |
105 <define name="composition.head"> |
106 <element name="metadata"> |
106 <element name="head"> |
107 <ref name="metadata.attributes"/> |
107 <ref name="head.attributes"/> |
108 <ref name="metadata.content"/> |
108 <ref name="top.head.content"/> |
109 </element> |
109 </element> |
110 </define> |
110 </define> |
111 <define name="selection.metadata"> |
111 <define name="selection.head"> |
112 <element name="metadata"> |
112 <element name="head"> |
113 <ref name="metadata.content"/> |
113 <ref name="top.head.content"/> |
114 </element> |
114 </element> |
115 </define> |
115 </define> |
116 <define name="metadata.attributes"> |
116 <define name="division.head"> |
|
117 <element name="head"> |
|
118 <ref name="division.head.content"/> |
|
119 </element> |
|
120 </define> |
|
121 <define name="head.attributes"> |
117 <ref name="remap.attributes"/> |
122 <ref name="remap.attributes"/> |
118 </define> |
123 </define> |
119 <define name="metadata.content"> |
124 <define name="top.head.content"> |
120 <interleave> |
125 <interleave> |
121 <optional> |
126 <optional> |
122 <ref name="title"/> |
127 <ref name="title"/> |
123 </optional> |
128 <optional> |
124 <optional> |
129 <ref name="subtitle"/> |
125 <ref name="subtitle"/> |
130 </optional> |
|
131 </optional> |
|
132 <optional> |
|
133 <ref name="language"/> |
126 </optional> |
134 </optional> |
127 <zeroOrMore> |
135 <zeroOrMore> |
128 <ref name="author"/> |
136 <ref name="author"/> |
129 </zeroOrMore> |
137 </zeroOrMore> |
130 <optional> |
138 <optional> |
131 <ref name="publisher"/> |
139 <ref name="publisher"/> |
132 </optional> |
140 </optional> |
133 <optional> |
141 <optional> |
|
142 <ref name="source"/> |
|
143 </optional> |
|
144 </interleave> |
|
145 </define> |
|
146 <define name="division.head.content"> |
|
147 <interleave> |
|
148 <optional> |
|
149 <ref name="title"/> |
|
150 <optional> |
|
151 <ref name="subtitle"/> |
|
152 </optional> |
|
153 </optional> |
|
154 <optional> |
134 <ref name="language"/> |
155 <ref name="language"/> |
135 </optional> |
156 </optional> |
136 <optional> |
157 <zeroOrMore> |
137 <ref name="source"/> |
158 <ref name="annotation"/> |
138 </optional> |
159 </zeroOrMore> |
139 </interleave> |
160 </interleave> |
140 </define> |
161 </define> |
141 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ title, subtitle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
162 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ title, subtitle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
142 <define name="title"> |
163 <define name="title"> |
143 <element name="title"> |
164 <element name="title"> |
144 <ref name="title.content"/> |
165 <ref name="title.content"/> |
145 </element> |
166 </element> |
146 </define> |
167 </define> |
147 <define name="title.content"> |
|
148 <ref name="inlines"/> |
|
149 </define> |
|
150 <define name="subtitle"> |
168 <define name="subtitle"> |
151 <element name="subtitle"> |
169 <element name="subtitle"> |
152 <ref name="title.content"/> |
170 <ref name="title.content"/> |
153 </element> |
171 </element> |
|
172 </define> |
|
173 <define name="title.content"> |
|
174 <ref name="inlines"/> |
|
175 </define> |
|
176 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
|
177 <define name="language"> |
|
178 <element name="language"> |
|
179 <ref name="language.attributes"/> |
|
180 </element> |
|
181 </define> |
|
182 <define name="language.attributes"> |
|
183 <ref name="lang.attribute"/> |
|
184 </define> |
|
185 <define name="lang.attribute"> |
|
186 <attribute name="xml:lang"> |
|
187 <data type="language"/> |
|
188 </attribute> |
154 </define> |
189 </define> |
155 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
190 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ author, publisher ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
156 <!-- ~~~~~~ author --> |
191 <!-- ~~~~~~ author --> |
157 <define name="author"> |
192 <define name="author"> |
158 <element name="author"> |
193 <element name="author"> |
189 <ref name="lastname.content"/> |
224 <ref name="lastname.content"/> |
190 </element> |
225 </element> |
191 </define> |
226 </define> |
192 <define name="lastname.content"> |
227 <define name="lastname.content"> |
193 <ref name="inlines"/> |
228 <ref name="inlines"/> |
194 </define> |
|
195 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
|
196 <define name="language"> |
|
197 <element name="language"> |
|
198 <ref name="language.attributes"/> |
|
199 </element> |
|
200 </define> |
|
201 <define name="language.attributes"> |
|
202 <ref name="lang.attribute"/> |
|
203 </define> |
|
204 <define name="lang.attribute"> |
|
205 <attribute name="xml:lang"> |
|
206 <data type="language"/> |
|
207 </attribute> |
|
208 </define> |
229 </define> |
209 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
230 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
210 <!-- ~~~~~~ source --> |
231 <!-- ~~~~~~ source --> |
211 <define name="source"> |
232 <define name="source"> |
212 <element name="source"> |
233 <element name="source"> |
292 <ref name="base.attribute"/> |
313 <ref name="base.attribute"/> |
293 </optional> |
314 </optional> |
294 </define> |
315 </define> |
295 <define name="composition.division.content"> |
316 <define name="composition.division.content"> |
296 <optional> |
317 <optional> |
297 <ref name="composition.metadata"/> |
318 <ref name="composition.head"/> |
298 </optional> |
319 </optional> |
299 <oneOrMore> |
320 <oneOrMore> |
300 <choice> |
321 <choice> |
|
322 <ref name="composition.division"/> |
301 <ref name="composition.file"/> |
323 <ref name="composition.file"/> |
302 <ref name="composition.division"/> |
|
303 </choice> |
324 </choice> |
304 </oneOrMore> |
325 </oneOrMore> |
305 </define> |
326 </define> |
306 <define name="selection.division.content"> |
327 <define name="selection.division.content"> |
307 <optional> |
328 <optional> |
308 <ref name="selection.metadata"/> |
329 <ref name="selection.head"/> |
309 </optional> |
330 </optional> |
310 <oneOrMore> |
331 <oneOrMore> |
311 <choice> |
332 <choice> |
|
333 <ref name="selection.division"/> |
312 <ref name="selection.file"/> |
334 <ref name="selection.file"/> |
313 <ref name="selection.division"/> |
|
314 </choice> |
335 </choice> |
315 </oneOrMore> |
336 </oneOrMore> |
316 </define> |
337 </define> |
317 <!-- |
338 <!-- |
318 ============================================================================= |
339 ============================================================================= |
319 File level |
340 FILE LEVEL |
320 ============================================================================= |
341 ============================================================================= |
321 --> |
342 --> |
322 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
343 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
323 <define name="composition.file"> |
344 <define name="composition.file"> |
324 <element name="file"> |
345 <element name="file"> |
335 <define name="composition.file.attributes"> |
356 <define name="composition.file.attributes"> |
336 <interleave> |
357 <interleave> |
337 <optional> |
358 <optional> |
338 <ref name="xpath.attribute"/> |
359 <ref name="xpath.attribute"/> |
339 </optional> |
360 </optional> |
|
361 <optional> |
|
362 <ref name="transform.attribute"/> |
|
363 </optional> |
340 <ref name="remap.attributes"/> |
364 <ref name="remap.attributes"/> |
341 </interleave> |
365 </interleave> |
342 </define> |
366 </define> |
343 <define name="selection.file.attributes"> |
367 <define name="selection.file.attributes"> |
344 <optional> |
368 <interleave> |
345 <ref name="xpath.attribute"/> |
369 <optional> |
346 </optional> |
370 <ref name="xpath.attribute"/> |
|
371 </optional> |
|
372 <optional> |
|
373 <ref name="transform.attribute"/> |
|
374 </optional> |
|
375 </interleave> |
347 </define> |
376 </define> |
348 <define name="xpath.attribute"> |
377 <define name="xpath.attribute"> |
349 <attribute name="xpath"/> |
378 <attribute name="xpath"/> |
350 </define> |
379 </define> |
|
380 <define name="transform.attribute"> |
|
381 <attribute name="transform"> |
|
382 <list> |
|
383 <oneOrMore> |
|
384 <data type="token"> |
|
385 <param name="pattern">(xsl|regex):\S+</param> |
|
386 </data> |
|
387 </oneOrMore> |
|
388 </list> |
|
389 </attribute> |
|
390 </define> |
351 <define name="file.content"> |
391 <define name="file.content"> |
352 <data type="anyURI"/> |
392 <data type="anyURI"/> |
353 </define> |
393 </define> |
354 <!-- |
394 <!-- |
355 ============================================================================= |
395 ============================================================================= |
356 Inline level |
396 INLINE LEVEL |
357 ============================================================================= |
397 ============================================================================= |
358 --> |
398 --> |
359 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ inlines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
399 <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ inlines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> |
360 <define name="inlines"> |
400 <define name="inlines"> |
361 <mixed> |
401 <mixed> |