csl 1.0.0.pre1 → 1.0.0.pre2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/.travis.yml +10 -1
- data/Rakefile +1 -1
- data/features/locales/ordinalize.feature +109 -0
- data/features/style/loading.feature +27 -27
- data/lib/csl.rb +9 -1
- data/lib/csl/compatibility.rb +4 -0
- data/lib/csl/errors.rb +5 -2
- data/lib/csl/info.rb +32 -5
- data/lib/csl/loader.rb +3 -3
- data/lib/csl/locale.rb +19 -2
- data/lib/csl/locale/date.rb +3 -3
- data/lib/csl/locale/term.rb +14 -4
- data/lib/csl/node.rb +41 -23
- data/lib/csl/parser.rb +15 -2
- data/lib/csl/pretty_printer.rb +11 -9
- data/lib/csl/schema.rb +95 -8
- data/lib/csl/style.rb +16 -5
- data/lib/csl/style/choose.rb +16 -0
- data/lib/csl/style/date.rb +4 -4
- data/lib/csl/style/label.rb +2 -2
- data/lib/csl/style/names.rb +3 -3
- data/lib/csl/style/number.rb +2 -1
- data/lib/csl/style/text.rb +2 -2
- data/lib/csl/version.rb +1 -1
- data/spec/csl/info_spec.rb +20 -1
- data/spec/csl/locale/term_spec.rb +45 -0
- data/spec/csl/node_spec.rb +3 -1
- data/spec/csl/schema_spec.rb +37 -4
- data/spec/csl/style/{conditional_spec.rb → choose_spec.rb} +1 -1
- data/spec/csl/style_spec.rb +4 -2
- data/spec/spec_helper.rb +2 -2
- data/vendor/schema/csl-categories.rng +47 -0
- data/vendor/schema/csl-terms.rng +144 -0
- data/vendor/schema/csl-types.rng +45 -0
- data/vendor/schema/csl-variables.rng +114 -0
- data/vendor/schema/csl.rng +1750 -0
- metadata +16 -14
- data/lib/csl/style/conditional.rb +0 -11
@@ -0,0 +1,1750 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<grammar xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:bibo="http://purl.org/ontology/bibo/" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns:cs="http://purl.org/net/xbiblio/csl" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
+
<!-- CSL schema metadata -->
|
4
|
+
<dc:title>Citation Style Language</dc:title>
|
5
|
+
<dc:creator>Bruce D'Arcus</dc:creator>
|
6
|
+
<dc:creator>Simon Kornblith</dc:creator>
|
7
|
+
<bibo:editor>Frank Bennett</bibo:editor>
|
8
|
+
<bibo:editor>Rintze Zelle</bibo:editor>
|
9
|
+
<dc:rights>Copyright 2007-2012 by Frank Bennett, Bruce D'Arcus, Simon Kornblith, and Rintze Zelle. Permission to freely use, copy and distribute.</dc:rights>
|
10
|
+
<dc:description>RELAX NG compact schema for the Citation Style Language (CSL).</dc:description>
|
11
|
+
<!-- Embedded Schematron rules to detect calls to nonexistent macros -->
|
12
|
+
<sch:ns uri="http://purl.org/net/xbiblio/csl" prefix="cs"/>
|
13
|
+
<sch:pattern name="Non-existing macros">
|
14
|
+
<sch:rule context="//cs:text[@macro]">
|
15
|
+
<sch:assert test="@macro = /cs:style/cs:macro/@name">This macro call has no corresponding macro.</sch:assert>
|
16
|
+
</sch:rule>
|
17
|
+
<sch:rule context="//cs:key[@macro]">
|
18
|
+
<sch:assert test="@macro = /cs:style/cs:macro/@name">This macro call has no corresponding macro.</sch:assert>
|
19
|
+
</sch:rule>
|
20
|
+
</sch:pattern>
|
21
|
+
<include href="csl-terms.rng">
|
22
|
+
<a:documentation>Subparts of the CSL schema</a:documentation>
|
23
|
+
</include>
|
24
|
+
<include href="csl-types.rng"/>
|
25
|
+
<include href="csl-variables.rng"/>
|
26
|
+
<include href="csl-categories.rng"/>
|
27
|
+
<div>
|
28
|
+
<a:documentation>
|
29
|
+
<xhtml:h2>cs:style and cs:locale - Root Elements</xhtml:h2>
|
30
|
+
</a:documentation>
|
31
|
+
<start>
|
32
|
+
<choice>
|
33
|
+
<ref name="independent-style.style"/>
|
34
|
+
<ref name="dependent-style.style"/>
|
35
|
+
<ref name="locale-file.locale"/>
|
36
|
+
</choice>
|
37
|
+
</start>
|
38
|
+
<define name="independent-style.style">
|
39
|
+
<element name="cs:style">
|
40
|
+
<attribute name="class">
|
41
|
+
<a:documentation>Select whether citations appear in-text or as notes.</a:documentation>
|
42
|
+
<choice>
|
43
|
+
<value>in-text</value>
|
44
|
+
<value>note</value>
|
45
|
+
</choice>
|
46
|
+
</attribute>
|
47
|
+
<ref name="style.default-locale"/>
|
48
|
+
<ref name="style.options"/>
|
49
|
+
<ref name="version"/>
|
50
|
+
<ref name="independent-style.style.info"/>
|
51
|
+
<optional>
|
52
|
+
<interleave>
|
53
|
+
<zeroOrMore>
|
54
|
+
<ref name="style.locale"/>
|
55
|
+
</zeroOrMore>
|
56
|
+
<zeroOrMore>
|
57
|
+
<ref name="style.macro"/>
|
58
|
+
</zeroOrMore>
|
59
|
+
<ref name="style.citation"/>
|
60
|
+
<optional>
|
61
|
+
<ref name="style.bibliography"/>
|
62
|
+
</optional>
|
63
|
+
</interleave>
|
64
|
+
</optional>
|
65
|
+
</element>
|
66
|
+
</define>
|
67
|
+
<define name="dependent-style.style">
|
68
|
+
<element name="cs:style">
|
69
|
+
<ref name="style.default-locale"/>
|
70
|
+
<ref name="version"/>
|
71
|
+
<ref name="dependent-style.style.info"/>
|
72
|
+
<ref name="dependent-style.style.legacy-attributes"/>
|
73
|
+
</element>
|
74
|
+
</define>
|
75
|
+
<define name="locale-file.locale">
|
76
|
+
<element name="cs:locale">
|
77
|
+
<attribute name="xml:lang">
|
78
|
+
<a:documentation>Specify the locale of the locale file.</a:documentation>
|
79
|
+
<data type="language"/>
|
80
|
+
</attribute>
|
81
|
+
<ref name="version"/>
|
82
|
+
<optional>
|
83
|
+
<ref name="locale-file.locale.info"/>
|
84
|
+
</optional>
|
85
|
+
<interleave>
|
86
|
+
<ref name="locale.style-options"/>
|
87
|
+
<oneOrMore>
|
88
|
+
<ref name="locale.date"/>
|
89
|
+
</oneOrMore>
|
90
|
+
<ref name="locale.terms"/>
|
91
|
+
</interleave>
|
92
|
+
</element>
|
93
|
+
</define>
|
94
|
+
<define name="style.default-locale">
|
95
|
+
<optional>
|
96
|
+
<attribute name="default-locale">
|
97
|
+
<a:documentation>Set a default style locale.</a:documentation>
|
98
|
+
<data type="language"/>
|
99
|
+
</attribute>
|
100
|
+
</optional>
|
101
|
+
</define>
|
102
|
+
<define name="version">
|
103
|
+
<attribute name="version" a:defaultValue="1.0">
|
104
|
+
<a:documentation>Indicate CSL version compatibility ("1.0" for CSL 1.0).</a:documentation>
|
105
|
+
<value>1.0</value>
|
106
|
+
</attribute>
|
107
|
+
</define>
|
108
|
+
<define name="dependent-style.style.legacy-attributes">
|
109
|
+
<a:documentation>Obsolete for dependent styles. Will be disallowed with CSL 1.1.</a:documentation>
|
110
|
+
<optional>
|
111
|
+
<attribute name="class">
|
112
|
+
<choice>
|
113
|
+
<value>in-text</value>
|
114
|
+
<value>note</value>
|
115
|
+
</choice>
|
116
|
+
</attribute>
|
117
|
+
</optional>
|
118
|
+
<ref name="style.options"/>
|
119
|
+
</define>
|
120
|
+
</div>
|
121
|
+
<div>
|
122
|
+
<a:documentation>
|
123
|
+
<xhtml:h2>cs:info - Style and Locale File Metadata</xhtml:h2>
|
124
|
+
</a:documentation>
|
125
|
+
<define name="independent-style.style.info">
|
126
|
+
<a:documentation>Metadata for independent styles.</a:documentation>
|
127
|
+
<element name="cs:info">
|
128
|
+
<interleave>
|
129
|
+
<zeroOrMore>
|
130
|
+
<ref name="info.author"/>
|
131
|
+
</zeroOrMore>
|
132
|
+
<zeroOrMore>
|
133
|
+
<ref name="info.category"/>
|
134
|
+
</zeroOrMore>
|
135
|
+
<zeroOrMore>
|
136
|
+
<ref name="info.contributor"/>
|
137
|
+
</zeroOrMore>
|
138
|
+
<ref name="info.id"/>
|
139
|
+
<zeroOrMore>
|
140
|
+
<ref name="info.issn"/>
|
141
|
+
</zeroOrMore>
|
142
|
+
<optional>
|
143
|
+
<ref name="info.eissn"/>
|
144
|
+
</optional>
|
145
|
+
<optional>
|
146
|
+
<ref name="info.issnl"/>
|
147
|
+
</optional>
|
148
|
+
<zeroOrMore>
|
149
|
+
<ref name="independent-style.info.link"/>
|
150
|
+
</zeroOrMore>
|
151
|
+
<optional>
|
152
|
+
<ref name="info.published"/>
|
153
|
+
</optional>
|
154
|
+
<optional>
|
155
|
+
<ref name="info.rights"/>
|
156
|
+
</optional>
|
157
|
+
<optional>
|
158
|
+
<ref name="info.summary"/>
|
159
|
+
</optional>
|
160
|
+
<ref name="info.title"/>
|
161
|
+
<optional>
|
162
|
+
<ref name="info.title-short"/>
|
163
|
+
</optional>
|
164
|
+
<ref name="info.updated"/>
|
165
|
+
</interleave>
|
166
|
+
</element>
|
167
|
+
</define>
|
168
|
+
<define name="dependent-style.style.info">
|
169
|
+
<a:documentation>Metadata for dependent styles.</a:documentation>
|
170
|
+
<element name="cs:info">
|
171
|
+
<interleave>
|
172
|
+
<zeroOrMore>
|
173
|
+
<ref name="info.author"/>
|
174
|
+
</zeroOrMore>
|
175
|
+
<zeroOrMore>
|
176
|
+
<ref name="info.category"/>
|
177
|
+
</zeroOrMore>
|
178
|
+
<zeroOrMore>
|
179
|
+
<ref name="info.contributor"/>
|
180
|
+
</zeroOrMore>
|
181
|
+
<ref name="info.id"/>
|
182
|
+
<zeroOrMore>
|
183
|
+
<ref name="info.issn"/>
|
184
|
+
</zeroOrMore>
|
185
|
+
<optional>
|
186
|
+
<ref name="info.eissn"/>
|
187
|
+
</optional>
|
188
|
+
<optional>
|
189
|
+
<ref name="info.issnl"/>
|
190
|
+
</optional>
|
191
|
+
<oneOrMore>
|
192
|
+
<ref name="dependent-style.info.link"/>
|
193
|
+
</oneOrMore>
|
194
|
+
<optional>
|
195
|
+
<ref name="info.published"/>
|
196
|
+
</optional>
|
197
|
+
<optional>
|
198
|
+
<ref name="info.rights"/>
|
199
|
+
</optional>
|
200
|
+
<optional>
|
201
|
+
<ref name="info.summary"/>
|
202
|
+
</optional>
|
203
|
+
<ref name="info.title"/>
|
204
|
+
<optional>
|
205
|
+
<ref name="info.title-short"/>
|
206
|
+
</optional>
|
207
|
+
<ref name="info.updated"/>
|
208
|
+
</interleave>
|
209
|
+
</element>
|
210
|
+
</define>
|
211
|
+
<define name="locale-file.locale.info">
|
212
|
+
<a:documentation>Metadata for locale files.</a:documentation>
|
213
|
+
<element name="cs:info">
|
214
|
+
<interleave>
|
215
|
+
<zeroOrMore>
|
216
|
+
<ref name="info.translator"/>
|
217
|
+
</zeroOrMore>
|
218
|
+
<optional>
|
219
|
+
<ref name="info.rights"/>
|
220
|
+
</optional>
|
221
|
+
<optional>
|
222
|
+
<ref name="info.updated"/>
|
223
|
+
</optional>
|
224
|
+
</interleave>
|
225
|
+
</element>
|
226
|
+
</define>
|
227
|
+
<define name="info.author">
|
228
|
+
<element name="cs:author">
|
229
|
+
<ref name="personal-details"/>
|
230
|
+
</element>
|
231
|
+
</define>
|
232
|
+
<define name="info.contributor">
|
233
|
+
<element name="cs:contributor">
|
234
|
+
<ref name="personal-details"/>
|
235
|
+
</element>
|
236
|
+
</define>
|
237
|
+
<define name="info.translator">
|
238
|
+
<element name="cs:translator">
|
239
|
+
<ref name="personal-details"/>
|
240
|
+
</element>
|
241
|
+
</define>
|
242
|
+
<define name="personal-details">
|
243
|
+
<interleave>
|
244
|
+
<element name="cs:name">
|
245
|
+
<text/>
|
246
|
+
</element>
|
247
|
+
<optional>
|
248
|
+
<element name="cs:email">
|
249
|
+
<text/>
|
250
|
+
</element>
|
251
|
+
</optional>
|
252
|
+
<optional>
|
253
|
+
<element name="cs:uri">
|
254
|
+
<data type="anyURI"/>
|
255
|
+
</element>
|
256
|
+
</optional>
|
257
|
+
</interleave>
|
258
|
+
</define>
|
259
|
+
<define name="info.category">
|
260
|
+
<element name="cs:category">
|
261
|
+
<a:documentation>Specify the citation format of the style (using the "citation-format"
|
262
|
+
attribute) or the fields and disciplines for which the style is
|
263
|
+
relevant (using the "field" attribute).</a:documentation>
|
264
|
+
<choice>
|
265
|
+
<attribute name="citation-format">
|
266
|
+
<ref name="category.citation-format"/>
|
267
|
+
</attribute>
|
268
|
+
<attribute name="field">
|
269
|
+
<ref name="category.field"/>
|
270
|
+
</attribute>
|
271
|
+
</choice>
|
272
|
+
</element>
|
273
|
+
</define>
|
274
|
+
<define name="info.id">
|
275
|
+
<element name="cs:id">
|
276
|
+
<a:documentation>Specify the URI to establish the identity of the style. The URI
|
277
|
+
should be stable, unique and dereferenceable URI.</a:documentation>
|
278
|
+
<data type="anyURI"/>
|
279
|
+
</element>
|
280
|
+
</define>
|
281
|
+
<define name="info.issn">
|
282
|
+
<element name="cs:issn">
|
283
|
+
<a:documentation>Specify the journal's ISSN(s) for journal-specific styles. An ISSN
|
284
|
+
must consist of four digits, a hyphen, three digits, and a check
|
285
|
+
digit (a numeral digit or roman X), e.g. "1234-1231".</a:documentation>
|
286
|
+
<ref name="issn"/>
|
287
|
+
</element>
|
288
|
+
</define>
|
289
|
+
<define name="info.eissn">
|
290
|
+
<element name="cs:eissn">
|
291
|
+
<a:documentation>Specify the journal's eISSN for journal-specific styles.</a:documentation>
|
292
|
+
<ref name="issn"/>
|
293
|
+
</element>
|
294
|
+
</define>
|
295
|
+
<define name="info.issnl">
|
296
|
+
<element name="cs:issnl">
|
297
|
+
<a:documentation>Specify the journal's ISSN-L for journal-specific styles.</a:documentation>
|
298
|
+
<ref name="issn"/>
|
299
|
+
</element>
|
300
|
+
</define>
|
301
|
+
<define name="issn">
|
302
|
+
<data type="string">
|
303
|
+
<param name="pattern">\d{4}\-\d{3}(\d|x|X)</param>
|
304
|
+
</data>
|
305
|
+
</define>
|
306
|
+
<define name="independent-style.info.link">
|
307
|
+
<element name="cs:link">
|
308
|
+
<attribute name="href">
|
309
|
+
<data type="anyURI"/>
|
310
|
+
</attribute>
|
311
|
+
<attribute name="rel">
|
312
|
+
<a:documentation>Specify how the URL relates to the style.</a:documentation>
|
313
|
+
<choice>
|
314
|
+
<value>self</value>
|
315
|
+
<a:documentation>The URI of the CSL style itself.</a:documentation>
|
316
|
+
<value>template</value>
|
317
|
+
<a:documentation>URI of the style from which the current style is derived.</a:documentation>
|
318
|
+
<value>documentation</value>
|
319
|
+
<a:documentation>URI of style documentation.</a:documentation>
|
320
|
+
<value>independent-parent</value>
|
321
|
+
<a:documentation>Obsolete for independent styles. Will be disallowed with
|
322
|
+
CSL 1.1.</a:documentation>
|
323
|
+
</choice>
|
324
|
+
</attribute>
|
325
|
+
<ref name="info-text"/>
|
326
|
+
</element>
|
327
|
+
</define>
|
328
|
+
<define name="dependent-style.info.link">
|
329
|
+
<element name="cs:link">
|
330
|
+
<attribute name="href">
|
331
|
+
<data type="anyURI"/>
|
332
|
+
</attribute>
|
333
|
+
<attribute name="rel">
|
334
|
+
<a:documentation>Specify how the URL relates to the style.</a:documentation>
|
335
|
+
<choice>
|
336
|
+
<value>self</value>
|
337
|
+
<a:documentation>The URI of the CSL style itself.</a:documentation>
|
338
|
+
<value>independent-parent</value>
|
339
|
+
<a:documentation>URI of the CSL style whose content should be used for
|
340
|
+
processing. Required for dependent styles.</a:documentation>
|
341
|
+
<value>documentation</value>
|
342
|
+
<a:documentation>URI of style documentation.</a:documentation>
|
343
|
+
<value>template</value>
|
344
|
+
<a:documentation>Obsolete for dependent styles. Will be disallowed with CSL
|
345
|
+
1.1.</a:documentation>
|
346
|
+
</choice>
|
347
|
+
</attribute>
|
348
|
+
<ref name="info-text"/>
|
349
|
+
</element>
|
350
|
+
</define>
|
351
|
+
<define name="info.published">
|
352
|
+
<element name="cs:published">
|
353
|
+
<a:documentation>Specify when the style was initially created or made available.</a:documentation>
|
354
|
+
<data type="dateTime"/>
|
355
|
+
</element>
|
356
|
+
</define>
|
357
|
+
<define name="info.rights">
|
358
|
+
<element name="cs:rights">
|
359
|
+
<optional>
|
360
|
+
<attribute name="license">
|
361
|
+
<data type="anyURI"/>
|
362
|
+
</attribute>
|
363
|
+
</optional>
|
364
|
+
<ref name="info-text"/>
|
365
|
+
</element>
|
366
|
+
</define>
|
367
|
+
<define name="info.summary">
|
368
|
+
<element name="cs:summary">
|
369
|
+
<ref name="info-text"/>
|
370
|
+
</element>
|
371
|
+
</define>
|
372
|
+
<define name="info.title">
|
373
|
+
<element name="cs:title">
|
374
|
+
<ref name="info-text"/>
|
375
|
+
</element>
|
376
|
+
</define>
|
377
|
+
<define name="info.title-short">
|
378
|
+
<element name="cs:title-short">
|
379
|
+
<a:documentation>Specify an abbreviated style title (e.g., "APA")</a:documentation>
|
380
|
+
<ref name="info-text"/>
|
381
|
+
</element>
|
382
|
+
</define>
|
383
|
+
<define name="info.updated">
|
384
|
+
<element name="cs:updated">
|
385
|
+
<a:documentation>Specify when the style was last updated (e.g.,
|
386
|
+
"2007-10-26T21:32:52+02:00")</a:documentation>
|
387
|
+
<data type="dateTime"/>
|
388
|
+
</element>
|
389
|
+
</define>
|
390
|
+
<define name="info-text">
|
391
|
+
<optional>
|
392
|
+
<attribute name="xml:lang">
|
393
|
+
<data type="language"/>
|
394
|
+
</attribute>
|
395
|
+
</optional>
|
396
|
+
<text/>
|
397
|
+
</define>
|
398
|
+
</div>
|
399
|
+
<div>
|
400
|
+
<a:documentation>
|
401
|
+
<xhtml:h2>cs:locale in Independent Styles</xhtml:h2>
|
402
|
+
</a:documentation>
|
403
|
+
<define name="style.locale">
|
404
|
+
<element name="cs:locale">
|
405
|
+
<a:documentation>Use to (re)define localized terms, dates and options.</a:documentation>
|
406
|
+
<optional>
|
407
|
+
<attribute name="xml:lang">
|
408
|
+
<a:documentation>Specify the affected locale(s). If "xml:lang" is not set, the
|
409
|
+
"cs:locale" element affects all locales.</a:documentation>
|
410
|
+
<data type="language"/>
|
411
|
+
</attribute>
|
412
|
+
</optional>
|
413
|
+
<interleave>
|
414
|
+
<optional>
|
415
|
+
<ref name="locale.style-options"/>
|
416
|
+
</optional>
|
417
|
+
<zeroOrMore>
|
418
|
+
<ref name="locale.date"/>
|
419
|
+
</zeroOrMore>
|
420
|
+
<optional>
|
421
|
+
<ref name="locale.terms"/>
|
422
|
+
</optional>
|
423
|
+
</interleave>
|
424
|
+
</element>
|
425
|
+
</define>
|
426
|
+
</div>
|
427
|
+
<div>
|
428
|
+
<a:documentation>
|
429
|
+
<xhtml:h2>cs:locale Contents - Localization Data</xhtml:h2>
|
430
|
+
</a:documentation>
|
431
|
+
<define name="locale.style-options">
|
432
|
+
<a:documentation>Localized global options are specified as attributes in the
|
433
|
+
cs:style-options element. If future versions of CSL include localized
|
434
|
+
options that are citation or bibliography specific, the elements
|
435
|
+
cs:citation-options and cs:bibliography-options can be added.</a:documentation>
|
436
|
+
<element name="cs:style-options">
|
437
|
+
<optional>
|
438
|
+
<attribute name="punctuation-in-quote" a:defaultValue="false">
|
439
|
+
<a:documentation>Specify whether punctuation (a period or comma) is placed within
|
440
|
+
or outside (default) the closing quotation mark.</a:documentation>
|
441
|
+
<data type="boolean"/>
|
442
|
+
</attribute>
|
443
|
+
</optional>
|
444
|
+
</element>
|
445
|
+
</define>
|
446
|
+
<define name="locale.date">
|
447
|
+
<element name="cs:date">
|
448
|
+
<ref name="date.form"/>
|
449
|
+
<ref name="delimiter"/>
|
450
|
+
<ref name="font-formatting"/>
|
451
|
+
<ref name="text-case"/>
|
452
|
+
<oneOrMore>
|
453
|
+
<ref name="locale.date.date-part"/>
|
454
|
+
</oneOrMore>
|
455
|
+
</element>
|
456
|
+
</define>
|
457
|
+
<define name="date.form">
|
458
|
+
<attribute name="form">
|
459
|
+
<a:documentation>Select the localized date format ("text" or "numeric").</a:documentation>
|
460
|
+
<choice>
|
461
|
+
<value>text</value>
|
462
|
+
<a:documentation>Text date form (e.g., "December 15, 2005").</a:documentation>
|
463
|
+
<value>numeric</value>
|
464
|
+
<a:documentation>Numeric date form (e.g., "2005-12-15").</a:documentation>
|
465
|
+
</choice>
|
466
|
+
</attribute>
|
467
|
+
</define>
|
468
|
+
<define name="locale.date.date-part">
|
469
|
+
<element name="cs:date-part">
|
470
|
+
<ref name="affixes"/>
|
471
|
+
<ref name="font-formatting"/>
|
472
|
+
<ref name="text-case"/>
|
473
|
+
<choice>
|
474
|
+
<ref name="day"/>
|
475
|
+
<ref name="month"/>
|
476
|
+
<ref name="year"/>
|
477
|
+
</choice>
|
478
|
+
</element>
|
479
|
+
</define>
|
480
|
+
<define name="locale.terms">
|
481
|
+
<element name="cs:terms">
|
482
|
+
<oneOrMore>
|
483
|
+
<ref name="terms.term"/>
|
484
|
+
</oneOrMore>
|
485
|
+
</element>
|
486
|
+
</define>
|
487
|
+
<define name="terms.term">
|
488
|
+
<a:documentation>The "cs:term" element can either hold a basic string, or "cs:single" and
|
489
|
+
"cs:multiple" child elements to give singular and plural forms of the term.</a:documentation>
|
490
|
+
<element name="cs:term">
|
491
|
+
<ref name="term.attributes"/>
|
492
|
+
<choice>
|
493
|
+
<text/>
|
494
|
+
<group>
|
495
|
+
<ref name="term.single"/>
|
496
|
+
<ref name="term.multiple"/>
|
497
|
+
</group>
|
498
|
+
</choice>
|
499
|
+
</element>
|
500
|
+
</define>
|
501
|
+
<define name="term.attributes">
|
502
|
+
<choice>
|
503
|
+
<group>
|
504
|
+
<attribute name="name">
|
505
|
+
<ref name="terms"/>
|
506
|
+
</attribute>
|
507
|
+
<optional>
|
508
|
+
<attribute name="form" a:defaultValue="long">
|
509
|
+
<ref name="term.form"/>
|
510
|
+
</attribute>
|
511
|
+
</optional>
|
512
|
+
</group>
|
513
|
+
<group>
|
514
|
+
<attribute name="name">
|
515
|
+
<ref name="terms.gender-variants"/>
|
516
|
+
</attribute>
|
517
|
+
<optional>
|
518
|
+
<attribute name="form">
|
519
|
+
<value>long</value>
|
520
|
+
</attribute>
|
521
|
+
</optional>
|
522
|
+
<attribute name="gender-form">
|
523
|
+
<choice>
|
524
|
+
<value>masculine</value>
|
525
|
+
<value>feminine</value>
|
526
|
+
</choice>
|
527
|
+
</attribute>
|
528
|
+
</group>
|
529
|
+
<group>
|
530
|
+
<attribute name="name">
|
531
|
+
<ref name="terms.gender-assignable"/>
|
532
|
+
</attribute>
|
533
|
+
<optional>
|
534
|
+
<attribute name="form">
|
535
|
+
<value>long</value>
|
536
|
+
</attribute>
|
537
|
+
</optional>
|
538
|
+
<attribute name="gender">
|
539
|
+
<choice>
|
540
|
+
<value>masculine</value>
|
541
|
+
<value>feminine</value>
|
542
|
+
</choice>
|
543
|
+
</attribute>
|
544
|
+
</group>
|
545
|
+
</choice>
|
546
|
+
</define>
|
547
|
+
<define name="term.form">
|
548
|
+
<a:documentation>"verb-short" reverts to "verb" if the "verb-short" form is not available.
|
549
|
+
"symbol" reverts to "short" if the "symbol" form is not available.
|
550
|
+
"verb" and "short" revert to "long" if the specified form is not available.</a:documentation>
|
551
|
+
<choice>
|
552
|
+
<value>long</value>
|
553
|
+
<value>verb</value>
|
554
|
+
<value>short</value>
|
555
|
+
<value>verb-short</value>
|
556
|
+
<value>symbol</value>
|
557
|
+
</choice>
|
558
|
+
</define>
|
559
|
+
<define name="term.single">
|
560
|
+
<element name="cs:single">
|
561
|
+
<a:documentation>Singular version of the term.</a:documentation>
|
562
|
+
<text/>
|
563
|
+
</element>
|
564
|
+
</define>
|
565
|
+
<define name="term.multiple">
|
566
|
+
<element name="cs:multiple">
|
567
|
+
<a:documentation>Plural version of the term.</a:documentation>
|
568
|
+
<text/>
|
569
|
+
</element>
|
570
|
+
</define>
|
571
|
+
</div>
|
572
|
+
<div>
|
573
|
+
<a:documentation>
|
574
|
+
<xhtml:h2>cs:macro</xhtml:h2>
|
575
|
+
</a:documentation>
|
576
|
+
<define name="style.macro">
|
577
|
+
<element name="cs:macro">
|
578
|
+
<a:documentation>Use to create collections of (reusable) formatting instructions.</a:documentation>
|
579
|
+
<attribute name="name">
|
580
|
+
<data type="NMTOKEN"/>
|
581
|
+
</attribute>
|
582
|
+
<oneOrMore>
|
583
|
+
<ref name="rendering-element"/>
|
584
|
+
</oneOrMore>
|
585
|
+
</element>
|
586
|
+
</define>
|
587
|
+
<define name="rendering-element">
|
588
|
+
<choice>
|
589
|
+
<ref name="rendering-element.names"/>
|
590
|
+
<ref name="rendering-element.date"/>
|
591
|
+
<ref name="rendering-element.label"/>
|
592
|
+
<ref name="rendering-element.text"/>
|
593
|
+
<ref name="rendering-element.number"/>
|
594
|
+
<ref name="rendering-element.choose"/>
|
595
|
+
<ref name="rendering-element.group"/>
|
596
|
+
</choice>
|
597
|
+
</define>
|
598
|
+
</div>
|
599
|
+
<div>
|
600
|
+
<a:documentation>
|
601
|
+
<xhtml:h2>cs:citation and cs:bibliography</xhtml:h2>
|
602
|
+
</a:documentation>
|
603
|
+
<define name="style.citation">
|
604
|
+
<element name="cs:citation">
|
605
|
+
<a:documentation>Use to describe the formatting of citations.</a:documentation>
|
606
|
+
<ref name="citation.options"/>
|
607
|
+
<optional>
|
608
|
+
<ref name="sort"/>
|
609
|
+
</optional>
|
610
|
+
<ref name="citation.layout"/>
|
611
|
+
</element>
|
612
|
+
</define>
|
613
|
+
<define name="style.bibliography">
|
614
|
+
<element name="cs:bibliography">
|
615
|
+
<a:documentation>Use to describe the formatting of the bibliography.</a:documentation>
|
616
|
+
<ref name="bibliography.options"/>
|
617
|
+
<optional>
|
618
|
+
<ref name="sort"/>
|
619
|
+
</optional>
|
620
|
+
<ref name="bibliography.layout"/>
|
621
|
+
</element>
|
622
|
+
</define>
|
623
|
+
<define name="citation.layout">
|
624
|
+
<element name="cs:layout">
|
625
|
+
<ref name="affixes"/>
|
626
|
+
<ref name="delimiter"/>
|
627
|
+
<ref name="font-formatting"/>
|
628
|
+
<oneOrMore>
|
629
|
+
<ref name="rendering-element"/>
|
630
|
+
</oneOrMore>
|
631
|
+
</element>
|
632
|
+
</define>
|
633
|
+
<define name="bibliography.layout">
|
634
|
+
<element name="cs:layout">
|
635
|
+
<ref name="affixes"/>
|
636
|
+
<ref name="font-formatting"/>
|
637
|
+
<oneOrMore>
|
638
|
+
<ref name="rendering-element"/>
|
639
|
+
</oneOrMore>
|
640
|
+
</element>
|
641
|
+
</define>
|
642
|
+
</div>
|
643
|
+
<div>
|
644
|
+
<a:documentation>
|
645
|
+
<xhtml:h2>cs:names Rendering Element</xhtml:h2>
|
646
|
+
</a:documentation>
|
647
|
+
<define name="rendering-element.names">
|
648
|
+
<element name="cs:names">
|
649
|
+
<ref name="names.attributes"/>
|
650
|
+
<interleave>
|
651
|
+
<group>
|
652
|
+
<optional>
|
653
|
+
<ref name="names.name"/>
|
654
|
+
</optional>
|
655
|
+
<optional>
|
656
|
+
<ref name="names.et-al"/>
|
657
|
+
</optional>
|
658
|
+
</group>
|
659
|
+
<zeroOrMore>
|
660
|
+
<ref name="names.label"/>
|
661
|
+
</zeroOrMore>
|
662
|
+
</interleave>
|
663
|
+
<optional>
|
664
|
+
<ref name="names.substitute"/>
|
665
|
+
</optional>
|
666
|
+
</element>
|
667
|
+
</define>
|
668
|
+
<define name="names.attributes">
|
669
|
+
<attribute name="variable">
|
670
|
+
<list>
|
671
|
+
<oneOrMore>
|
672
|
+
<ref name="variables.names"/>
|
673
|
+
</oneOrMore>
|
674
|
+
</list>
|
675
|
+
</attribute>
|
676
|
+
<ref name="affixes"/>
|
677
|
+
<ref name="delimiter">
|
678
|
+
<a:documentation>Specify the delimiter for name lists of name variables rendered by
|
679
|
+
the same cs:names element.</a:documentation>
|
680
|
+
</ref>
|
681
|
+
<ref name="display"/>
|
682
|
+
<ref name="font-formatting"/>
|
683
|
+
</define>
|
684
|
+
<define name="names.name">
|
685
|
+
<element name="cs:name">
|
686
|
+
<ref name="name.attributes"/>
|
687
|
+
<optional>
|
688
|
+
<attribute name="form" a:defaultValue="long">
|
689
|
+
<a:documentation>Select the "long" (first name + last name, for Western names),
|
690
|
+
"short" (last name only, for Western names), or "count" name form
|
691
|
+
(returning the number of names in the name variable, which can be
|
692
|
+
useful for some sorting algorithms).</a:documentation>
|
693
|
+
<choice>
|
694
|
+
<value>long</value>
|
695
|
+
<value>short</value>
|
696
|
+
<value>count</value>
|
697
|
+
</choice>
|
698
|
+
</attribute>
|
699
|
+
</optional>
|
700
|
+
<ref name="affixes"/>
|
701
|
+
<ref name="delimiter" a:defaultValue=", ">
|
702
|
+
<a:documentation>Set the delimiter for names in a name variable (e.g., ", " in
|
703
|
+
"Doe, Smith")</a:documentation>
|
704
|
+
</ref>
|
705
|
+
<ref name="font-formatting"/>
|
706
|
+
<zeroOrMore>
|
707
|
+
<ref name="name.name-part"/>
|
708
|
+
</zeroOrMore>
|
709
|
+
</element>
|
710
|
+
</define>
|
711
|
+
<define name="name.attributes">
|
712
|
+
<optional>
|
713
|
+
<attribute name="and">
|
714
|
+
<a:documentation>Use to separate the second-to-last and last name of a name list by
|
715
|
+
the "and" term or ampersand.</a:documentation>
|
716
|
+
<choice>
|
717
|
+
<value>text</value>
|
718
|
+
<a:documentation>Use the "and" term (e.g., "Doe, Johnson and Smith").</a:documentation>
|
719
|
+
<value>symbol</value>
|
720
|
+
<a:documentation>Use the "ampersand" (e.g., "Doe, Johnson & Smith").</a:documentation>
|
721
|
+
</choice>
|
722
|
+
</attribute>
|
723
|
+
</optional>
|
724
|
+
<optional>
|
725
|
+
<attribute name="delimiter-precedes-et-al" a:defaultValue="contextual">
|
726
|
+
<a:documentation>Specify when the name delimiter is used between a truncated name list
|
727
|
+
and the "et-al" (or "and others") term in case of et-al abbreviation
|
728
|
+
(e.g., "Smith, Doe et al." or "Smith, Doe, et al.").</a:documentation>
|
729
|
+
<choice>
|
730
|
+
<value>contextual</value>
|
731
|
+
<a:documentation>The name delimiter is only used when the truncated name list
|
732
|
+
consists of two or more names.</a:documentation>
|
733
|
+
<value>always</value>
|
734
|
+
<a:documentation>The name delimiter is always used.</a:documentation>
|
735
|
+
<value>never</value>
|
736
|
+
<a:documentation>The name delimiter is never used.</a:documentation>
|
737
|
+
<value>after-inverted-name</value>
|
738
|
+
<a:documentation>The name delimiter is only used if the preceding name is inverted as
|
739
|
+
a result of the "name-as-sort-order" attribute.</a:documentation>
|
740
|
+
</choice>
|
741
|
+
</attribute>
|
742
|
+
</optional>
|
743
|
+
<optional>
|
744
|
+
<attribute name="delimiter-precedes-last" a:defaultValue="contextual">
|
745
|
+
<a:documentation>Specify when the name delimiter is used between the second-to-last
|
746
|
+
and last name of a non-truncated name list. Only has an effect when
|
747
|
+
the "and" term or ampersand is used (e.g., "Doe and Smith" or "Doe,
|
748
|
+
and Smith").</a:documentation>
|
749
|
+
<choice>
|
750
|
+
<value>contextual</value>
|
751
|
+
<a:documentation>The name delimiter is only used when the name list consists of
|
752
|
+
three or more names.</a:documentation>
|
753
|
+
<value>always</value>
|
754
|
+
<a:documentation>The name delimiter is always used.</a:documentation>
|
755
|
+
<value>never</value>
|
756
|
+
<a:documentation>The name delimiter is never used.</a:documentation>
|
757
|
+
<value>after-inverted-name</value>
|
758
|
+
<a:documentation>The name delimiter is only used if the preceding name is inverted as
|
759
|
+
a result of the "name-as-sort-order" attribute.</a:documentation>
|
760
|
+
</choice>
|
761
|
+
</attribute>
|
762
|
+
</optional>
|
763
|
+
<optional>
|
764
|
+
<attribute name="et-al-min">
|
765
|
+
<a:documentation>Set the minimum number of names needed in a name variable to activate
|
766
|
+
et-al abbreviation.</a:documentation>
|
767
|
+
<data type="integer"/>
|
768
|
+
</attribute>
|
769
|
+
</optional>
|
770
|
+
<optional>
|
771
|
+
<attribute name="et-al-use-first">
|
772
|
+
<a:documentation>Set the number of names to render when et-al abbreviation is active.</a:documentation>
|
773
|
+
<data type="integer"/>
|
774
|
+
</attribute>
|
775
|
+
</optional>
|
776
|
+
<optional>
|
777
|
+
<attribute name="et-al-subsequent-min">
|
778
|
+
<a:documentation>As "et-al-min", but only affecting subsequent citations to an item.</a:documentation>
|
779
|
+
<data type="integer"/>
|
780
|
+
</attribute>
|
781
|
+
</optional>
|
782
|
+
<optional>
|
783
|
+
<attribute name="et-al-subsequent-use-first">
|
784
|
+
<a:documentation>As "et-al-use-first", but only affecting subsequent citations to an
|
785
|
+
item.</a:documentation>
|
786
|
+
<data type="integer"/>
|
787
|
+
</attribute>
|
788
|
+
</optional>
|
789
|
+
<optional>
|
790
|
+
<attribute name="et-al-use-last" a:defaultValue="false">
|
791
|
+
<a:documentation>If set to "true", the "et-al" (or "and others") term is replaced by
|
792
|
+
an ellipsis followed by the last name of the name variable.</a:documentation>
|
793
|
+
<data type="boolean"/>
|
794
|
+
</attribute>
|
795
|
+
</optional>
|
796
|
+
<optional>
|
797
|
+
<attribute name="initialize" a:defaultValue="true">
|
798
|
+
<a:documentation>If set to "false", names are not initialized and "initialize-with"
|
799
|
+
only affects initials already present in the input data.</a:documentation>
|
800
|
+
<data type="boolean"/>
|
801
|
+
</attribute>
|
802
|
+
</optional>
|
803
|
+
<optional>
|
804
|
+
<attribute name="initialize-with">
|
805
|
+
<a:documentation>Activate initializing of given names. The attribute value is appended
|
806
|
+
to each initial (e.g., with ". ", "Orson Welles" becomes "O. Welles").</a:documentation>
|
807
|
+
</attribute>
|
808
|
+
</optional>
|
809
|
+
<optional>
|
810
|
+
<attribute name="name-as-sort-order">
|
811
|
+
<a:documentation>Specify whether (and which) names should be rendered in their sort
|
812
|
+
order (e.g., "Doe, John" instead of "John Doe").</a:documentation>
|
813
|
+
<choice>
|
814
|
+
<value>first</value>
|
815
|
+
<a:documentation>Render the first name of each name variable in sort order.</a:documentation>
|
816
|
+
<value>all</value>
|
817
|
+
<a:documentation>Render all names in sort order.</a:documentation>
|
818
|
+
</choice>
|
819
|
+
</attribute>
|
820
|
+
</optional>
|
821
|
+
<optional>
|
822
|
+
<attribute name="sort-separator" a:defaultValue=", ">
|
823
|
+
<a:documentation>Sets the delimiter for name-parts that have switched positions as a
|
824
|
+
result of "name-as-sort-order" (e.g., ", " in "Doe, John").</a:documentation>
|
825
|
+
</attribute>
|
826
|
+
</optional>
|
827
|
+
</define>
|
828
|
+
<define name="name.name-part">
|
829
|
+
<element name="cs:name-part">
|
830
|
+
<a:documentation>Use to format individual name parts (e.g., "Jane DOE").</a:documentation>
|
831
|
+
<attribute name="name">
|
832
|
+
<choice>
|
833
|
+
<value>family</value>
|
834
|
+
<value>given</value>
|
835
|
+
</choice>
|
836
|
+
</attribute>
|
837
|
+
<ref name="affixes"/>
|
838
|
+
<ref name="font-formatting"/>
|
839
|
+
<ref name="text-case"/>
|
840
|
+
</element>
|
841
|
+
</define>
|
842
|
+
<define name="names.et-al">
|
843
|
+
<element name="cs:et-al">
|
844
|
+
<a:documentation>Specify the term used for et-al abbreviation and its formatting. </a:documentation>
|
845
|
+
<optional>
|
846
|
+
<attribute name="term" a:defaultValue="et-al">
|
847
|
+
<a:documentation>Select the term to use for et-al abbreviation.</a:documentation>
|
848
|
+
<choice>
|
849
|
+
<value>et-al</value>
|
850
|
+
<value>and others</value>
|
851
|
+
</choice>
|
852
|
+
</attribute>
|
853
|
+
</optional>
|
854
|
+
<ref name="affixes"/>
|
855
|
+
<ref name="font-formatting"/>
|
856
|
+
</element>
|
857
|
+
</define>
|
858
|
+
<define name="names.label">
|
859
|
+
<a:documentation>Inherits variable from the parent cs:names element.</a:documentation>
|
860
|
+
<element name="cs:label">
|
861
|
+
<optional>
|
862
|
+
<attribute name="form" a:defaultValue="long">
|
863
|
+
<ref name="term.form"/>
|
864
|
+
</attribute>
|
865
|
+
</optional>
|
866
|
+
<ref name="label.attributes-shared"/>
|
867
|
+
</element>
|
868
|
+
</define>
|
869
|
+
<define name="names.substitute">
|
870
|
+
<element name="cs:substitute">
|
871
|
+
<a:documentation>Specify substitution options when the name variables selected on the
|
872
|
+
parent cs:names element are empty.</a:documentation>
|
873
|
+
<oneOrMore>
|
874
|
+
<choice>
|
875
|
+
<ref name="substitute.names"/>
|
876
|
+
<ref name="rendering-element"/>
|
877
|
+
</choice>
|
878
|
+
</oneOrMore>
|
879
|
+
</element>
|
880
|
+
</define>
|
881
|
+
<define name="substitute.names">
|
882
|
+
<a:documentation>Short version of cs:names, without children, allowed in cs:substitute.</a:documentation>
|
883
|
+
<element name="cs:names">
|
884
|
+
<ref name="names.attributes"/>
|
885
|
+
</element>
|
886
|
+
</define>
|
887
|
+
</div>
|
888
|
+
<div>
|
889
|
+
<a:documentation>
|
890
|
+
<xhtml:h2>cs:date Rendering Element</xhtml:h2>
|
891
|
+
</a:documentation>
|
892
|
+
<define name="rendering-element.date">
|
893
|
+
<element name="cs:date">
|
894
|
+
<attribute name="variable">
|
895
|
+
<ref name="variables.dates"/>
|
896
|
+
</attribute>
|
897
|
+
<choice>
|
898
|
+
<group>
|
899
|
+
<optional>
|
900
|
+
<attribute name="date-parts" a:defaultValue="year-month-day">
|
901
|
+
<a:documentation>Limit the date parts rendered.</a:documentation>
|
902
|
+
<choice>
|
903
|
+
<value>year-month-day</value>
|
904
|
+
<a:documentation>Year, month and day</a:documentation>
|
905
|
+
<value>year-month</value>
|
906
|
+
<a:documentation>Year and month</a:documentation>
|
907
|
+
<value>year</value>
|
908
|
+
<a:documentation>Year only</a:documentation>
|
909
|
+
</choice>
|
910
|
+
</attribute>
|
911
|
+
</optional>
|
912
|
+
<ref name="date.form"/>
|
913
|
+
<zeroOrMore>
|
914
|
+
<ref name="rendering-element.date.date-part.localized"/>
|
915
|
+
</zeroOrMore>
|
916
|
+
</group>
|
917
|
+
<group>
|
918
|
+
<oneOrMore>
|
919
|
+
<ref name="rendering-element.date.date-part.non-localized"/>
|
920
|
+
</oneOrMore>
|
921
|
+
<ref name="delimiter"/>
|
922
|
+
</group>
|
923
|
+
</choice>
|
924
|
+
<ref name="affixes"/>
|
925
|
+
<ref name="display"/>
|
926
|
+
<ref name="font-formatting"/>
|
927
|
+
<ref name="text-case"/>
|
928
|
+
</element>
|
929
|
+
</define>
|
930
|
+
<define name="rendering-element.date.date-part.localized">
|
931
|
+
<element name="cs:date-part">
|
932
|
+
<a:documentation>Specify overriding formatting for localized dates (affixes
|
933
|
+
cannot be overridden, as these are considered locale-specific).
|
934
|
+
Example uses are forcing the use of leading-zeros, or of the
|
935
|
+
"short" month form. Has no effect on which, and in what order,
|
936
|
+
date parts are rendered.</a:documentation>
|
937
|
+
<ref name="font-formatting"/>
|
938
|
+
<ref name="text-case"/>
|
939
|
+
<choice>
|
940
|
+
<ref name="day"/>
|
941
|
+
<ref name="month"/>
|
942
|
+
<ref name="year"/>
|
943
|
+
</choice>
|
944
|
+
</element>
|
945
|
+
</define>
|
946
|
+
<define name="rendering-element.date.date-part.non-localized">
|
947
|
+
<element name="cs:date-part">
|
948
|
+
<a:documentation>Specify, in the desired order, the date parts that should be
|
949
|
+
rendered and their formatting.</a:documentation>
|
950
|
+
<ref name="affixes"/>
|
951
|
+
<ref name="font-formatting"/>
|
952
|
+
<ref name="text-case"/>
|
953
|
+
<choice>
|
954
|
+
<ref name="day"/>
|
955
|
+
<ref name="month"/>
|
956
|
+
<ref name="year"/>
|
957
|
+
</choice>
|
958
|
+
</element>
|
959
|
+
</define>
|
960
|
+
<define name="day">
|
961
|
+
<attribute name="name">
|
962
|
+
<value>day</value>
|
963
|
+
</attribute>
|
964
|
+
<optional>
|
965
|
+
<attribute name="form" a:defaultValue="numeric">
|
966
|
+
<a:documentation>Day forms: "numeric" ("5"), "numeric-leading-zeros" ("05"), "ordinal"
|
967
|
+
("5th").</a:documentation>
|
968
|
+
<choice>
|
969
|
+
<value>numeric</value>
|
970
|
+
<value>numeric-leading-zeros</value>
|
971
|
+
<value>ordinal</value>
|
972
|
+
</choice>
|
973
|
+
</attribute>
|
974
|
+
</optional>
|
975
|
+
<ref name="range-delimiter"/>
|
976
|
+
</define>
|
977
|
+
<define name="month">
|
978
|
+
<attribute name="name">
|
979
|
+
<value>month</value>
|
980
|
+
</attribute>
|
981
|
+
<optional>
|
982
|
+
<attribute name="form" a:defaultValue="long">
|
983
|
+
<a:documentation>Months forms: "long" (e.g., "January"), "short" ("Jan."), "numeric"
|
984
|
+
("1"), and "numeric-leading-zeros" ("01").</a:documentation>
|
985
|
+
<choice>
|
986
|
+
<value>long</value>
|
987
|
+
<value>short</value>
|
988
|
+
<value>numeric</value>
|
989
|
+
<value>numeric-leading-zeros</value>
|
990
|
+
</choice>
|
991
|
+
</attribute>
|
992
|
+
</optional>
|
993
|
+
<ref name="range-delimiter"/>
|
994
|
+
<ref name="strip-periods"/>
|
995
|
+
</define>
|
996
|
+
<define name="year">
|
997
|
+
<attribute name="name">
|
998
|
+
<value>year</value>
|
999
|
+
</attribute>
|
1000
|
+
<optional>
|
1001
|
+
<attribute name="form" a:defaultValue="long">
|
1002
|
+
<a:documentation>Year forms: "long" ("2005"), "short" ("05").</a:documentation>
|
1003
|
+
<choice>
|
1004
|
+
<value>short</value>
|
1005
|
+
<value>long</value>
|
1006
|
+
</choice>
|
1007
|
+
</attribute>
|
1008
|
+
</optional>
|
1009
|
+
<ref name="range-delimiter"/>
|
1010
|
+
</define>
|
1011
|
+
<define name="range-delimiter">
|
1012
|
+
<optional>
|
1013
|
+
<attribute name="range-delimiter" a:defaultValue="–">
|
1014
|
+
<a:documentation>Specify a delimiter for date ranges (by default the en-dash). A custom
|
1015
|
+
delimiter is retrieved from the largest date part ("day", "month" or
|
1016
|
+
"year") that differs between the two dates.</a:documentation>
|
1017
|
+
</attribute>
|
1018
|
+
</optional>
|
1019
|
+
</define>
|
1020
|
+
</div>
|
1021
|
+
<div>
|
1022
|
+
<a:documentation>
|
1023
|
+
<xhtml:h2>cs:text Rendering Element</xhtml:h2>
|
1024
|
+
</a:documentation>
|
1025
|
+
<define name="rendering-element.text">
|
1026
|
+
<element name="cs:text">
|
1027
|
+
<a:documentation>Use to call macros, render variables, terms, or verbatim text.</a:documentation>
|
1028
|
+
<ref name="text.attributes"/>
|
1029
|
+
<ref name="affixes"/>
|
1030
|
+
<ref name="display"/>
|
1031
|
+
<ref name="font-formatting"/>
|
1032
|
+
<ref name="quotes"/>
|
1033
|
+
<ref name="strip-periods"/>
|
1034
|
+
<ref name="text-case"/>
|
1035
|
+
</element>
|
1036
|
+
</define>
|
1037
|
+
<define name="text.attributes">
|
1038
|
+
<choice>
|
1039
|
+
<attribute name="macro">
|
1040
|
+
<a:documentation>Select a macro.</a:documentation>
|
1041
|
+
<data type="NMTOKEN"/>
|
1042
|
+
</attribute>
|
1043
|
+
<group>
|
1044
|
+
<attribute name="term">
|
1045
|
+
<a:documentation>Select a term.</a:documentation>
|
1046
|
+
<ref name="terms"/>
|
1047
|
+
</attribute>
|
1048
|
+
<optional>
|
1049
|
+
<attribute name="form" a:defaultValue="long">
|
1050
|
+
<ref name="term.form"/>
|
1051
|
+
</attribute>
|
1052
|
+
</optional>
|
1053
|
+
<optional>
|
1054
|
+
<attribute name="plural" a:defaultValue="false">
|
1055
|
+
<a:documentation>Specify term plurality: singular ("false") or plural ("true").</a:documentation>
|
1056
|
+
<data type="boolean"/>
|
1057
|
+
</attribute>
|
1058
|
+
</optional>
|
1059
|
+
</group>
|
1060
|
+
<attribute name="value">
|
1061
|
+
<a:documentation>Specify verbatim text.</a:documentation>
|
1062
|
+
</attribute>
|
1063
|
+
<group>
|
1064
|
+
<attribute name="variable">
|
1065
|
+
<a:documentation>Select a variable.</a:documentation>
|
1066
|
+
<ref name="variables.standard"/>
|
1067
|
+
</attribute>
|
1068
|
+
<optional>
|
1069
|
+
<attribute name="form" a:defaultValue="long">
|
1070
|
+
<choice>
|
1071
|
+
<value>short</value>
|
1072
|
+
<value>long</value>
|
1073
|
+
</choice>
|
1074
|
+
</attribute>
|
1075
|
+
</optional>
|
1076
|
+
</group>
|
1077
|
+
</choice>
|
1078
|
+
</define>
|
1079
|
+
</div>
|
1080
|
+
<div>
|
1081
|
+
<a:documentation>
|
1082
|
+
<xhtml:h2>cs:number Rendering Element</xhtml:h2>
|
1083
|
+
</a:documentation>
|
1084
|
+
<define name="rendering-element.number">
|
1085
|
+
<element name="cs:number">
|
1086
|
+
<a:documentation>Use to render a number variable.</a:documentation>
|
1087
|
+
<ref name="number.attributes"/>
|
1088
|
+
<ref name="affixes"/>
|
1089
|
+
<ref name="display"/>
|
1090
|
+
<ref name="font-formatting"/>
|
1091
|
+
<ref name="text-case"/>
|
1092
|
+
</element>
|
1093
|
+
</define>
|
1094
|
+
<define name="number.attributes">
|
1095
|
+
<attribute name="variable">
|
1096
|
+
<ref name="variables.numbers"/>
|
1097
|
+
</attribute>
|
1098
|
+
<optional>
|
1099
|
+
<attribute name="form" a:defaultValue="numeric">
|
1100
|
+
<a:documentation>Number forms: "numeric" ("4"), "ordinal" ("4th"), "long-ordinal"
|
1101
|
+
("fourth"), "roman" ("iv").</a:documentation>
|
1102
|
+
<choice>
|
1103
|
+
<value>numeric</value>
|
1104
|
+
<value>ordinal</value>
|
1105
|
+
<value>long-ordinal</value>
|
1106
|
+
<value>roman</value>
|
1107
|
+
</choice>
|
1108
|
+
</attribute>
|
1109
|
+
</optional>
|
1110
|
+
</define>
|
1111
|
+
</div>
|
1112
|
+
<div>
|
1113
|
+
<a:documentation>
|
1114
|
+
<xhtml:h2>cs:label Rendering Element</xhtml:h2>
|
1115
|
+
</a:documentation>
|
1116
|
+
<define name="rendering-element.label">
|
1117
|
+
<element name="cs:label">
|
1118
|
+
<a:documentation>Use to render a term whose pluralization depends on the content of a
|
1119
|
+
variable. E.g., if "page" variable holds a range, the plural label
|
1120
|
+
"pp." is selected instead of the singular "p.".</a:documentation>
|
1121
|
+
<ref name="label.attributes"/>
|
1122
|
+
<ref name="label.attributes-shared"/>
|
1123
|
+
</element>
|
1124
|
+
</define>
|
1125
|
+
<define name="label.attributes">
|
1126
|
+
<attribute name="variable">
|
1127
|
+
<choice>
|
1128
|
+
<ref name="variables.numbers"/>
|
1129
|
+
<value>locator</value>
|
1130
|
+
<value>page</value>
|
1131
|
+
</choice>
|
1132
|
+
</attribute>
|
1133
|
+
<optional>
|
1134
|
+
<attribute name="form" a:defaultValue="long">
|
1135
|
+
<choice>
|
1136
|
+
<value>long</value>
|
1137
|
+
<value>short</value>
|
1138
|
+
<value>symbol</value>
|
1139
|
+
</choice>
|
1140
|
+
</attribute>
|
1141
|
+
</optional>
|
1142
|
+
</define>
|
1143
|
+
<define name="label.attributes-shared">
|
1144
|
+
<optional>
|
1145
|
+
<attribute name="plural" a:defaultValue="contextual">
|
1146
|
+
<a:documentation>Specify when the plural version of a term is selected.</a:documentation>
|
1147
|
+
<choice>
|
1148
|
+
<value>always</value>
|
1149
|
+
<value>never</value>
|
1150
|
+
<value>contextual</value>
|
1151
|
+
</choice>
|
1152
|
+
</attribute>
|
1153
|
+
</optional>
|
1154
|
+
<ref name="affixes"/>
|
1155
|
+
<ref name="font-formatting"/>
|
1156
|
+
<ref name="strip-periods"/>
|
1157
|
+
<ref name="text-case"/>
|
1158
|
+
</define>
|
1159
|
+
</div>
|
1160
|
+
<div>
|
1161
|
+
<a:documentation>
|
1162
|
+
<xhtml:h2>cs:group Rendering Element</xhtml:h2>
|
1163
|
+
</a:documentation>
|
1164
|
+
<define name="rendering-element.group">
|
1165
|
+
<element name="cs:group">
|
1166
|
+
<a:documentation>Use to group rendering elements. Groups are useful for setting a
|
1167
|
+
delimiter for the group children, for organizing the layout of
|
1168
|
+
bibliographic entries (using the "display" attribute), and for
|
1169
|
+
suppressing the rendering of terms and verbatim text when variables
|
1170
|
+
are empty.</a:documentation>
|
1171
|
+
<ref name="group.attributes"/>
|
1172
|
+
<ref name="affixes"/>
|
1173
|
+
<ref name="delimiter"/>
|
1174
|
+
<ref name="display"/>
|
1175
|
+
<ref name="font-formatting"/>
|
1176
|
+
<oneOrMore>
|
1177
|
+
<ref name="rendering-element"/>
|
1178
|
+
</oneOrMore>
|
1179
|
+
</element>
|
1180
|
+
</define>
|
1181
|
+
<define name="group.attributes">
|
1182
|
+
<optional>
|
1183
|
+
<notAllowed/>
|
1184
|
+
</optional>
|
1185
|
+
</define>
|
1186
|
+
</div>
|
1187
|
+
<div>
|
1188
|
+
<a:documentation>
|
1189
|
+
<xhtml:h2>Options</xhtml:h2>
|
1190
|
+
</a:documentation>
|
1191
|
+
<define name="style.options">
|
1192
|
+
<ref name="style.demote-non-dropping-particle"/>
|
1193
|
+
<ref name="style.initialize-with-hyphen"/>
|
1194
|
+
<ref name="style.page-range-format"/>
|
1195
|
+
<ref name="names-inheritable-options"/>
|
1196
|
+
<ref name="name-inheritable-options"/>
|
1197
|
+
</define>
|
1198
|
+
<define name="citation.options">
|
1199
|
+
<ref name="citation.cite-group-delimiter"/>
|
1200
|
+
<ref name="citation.collapse-options"/>
|
1201
|
+
<ref name="citation.disambiguate-options"/>
|
1202
|
+
<ref name="citation.near-note-distance"/>
|
1203
|
+
<ref name="names-inheritable-options"/>
|
1204
|
+
<ref name="name-inheritable-options"/>
|
1205
|
+
</define>
|
1206
|
+
<define name="bibliography.options">
|
1207
|
+
<ref name="bibliography.hanging-indent"/>
|
1208
|
+
<ref name="bibliography.line-formatting-options"/>
|
1209
|
+
<ref name="bibliography.second-field-align"/>
|
1210
|
+
<ref name="bibliography.subsequent-author-substitute-options"/>
|
1211
|
+
<ref name="names-inheritable-options"/>
|
1212
|
+
<ref name="name-inheritable-options"/>
|
1213
|
+
</define>
|
1214
|
+
<define name="style.demote-non-dropping-particle">
|
1215
|
+
<optional>
|
1216
|
+
<attribute name="demote-non-dropping-particle" a:defaultValue="display-and-sort">
|
1217
|
+
<a:documentation>Specify whether the non-dropping particle is demoted in inverted
|
1218
|
+
names (e.g., "Koning, W. de").</a:documentation>
|
1219
|
+
<choice>
|
1220
|
+
<value>never</value>
|
1221
|
+
<value>sort-only</value>
|
1222
|
+
<value>display-and-sort</value>
|
1223
|
+
</choice>
|
1224
|
+
</attribute>
|
1225
|
+
</optional>
|
1226
|
+
</define>
|
1227
|
+
<define name="style.initialize-with-hyphen">
|
1228
|
+
<optional>
|
1229
|
+
<attribute name="initialize-with-hyphen" a:defaultValue="true">
|
1230
|
+
<a:documentation>Specify whether compound given names (e.g., "Jean-Luc") are
|
1231
|
+
initialized with ("J-L") or without a hyphen ("JL").</a:documentation>
|
1232
|
+
<data type="boolean"/>
|
1233
|
+
</attribute>
|
1234
|
+
</optional>
|
1235
|
+
</define>
|
1236
|
+
<define name="style.page-range-format">
|
1237
|
+
<optional>
|
1238
|
+
<attribute name="page-range-format">
|
1239
|
+
<a:documentation>Reformat page ranges in the "page" variable.</a:documentation>
|
1240
|
+
<choice>
|
1241
|
+
<value>chicago</value>
|
1242
|
+
<value>expanded</value>
|
1243
|
+
<value>minimal</value>
|
1244
|
+
<value>minimal-two</value>
|
1245
|
+
</choice>
|
1246
|
+
</attribute>
|
1247
|
+
</optional>
|
1248
|
+
</define>
|
1249
|
+
<define name="citation.cite-group-delimiter">
|
1250
|
+
<optional>
|
1251
|
+
<attribute name="cite-group-delimiter" a:defaultValue=", ">
|
1252
|
+
<a:documentation>Activate cite grouping and specify the delimiter for cites within a
|
1253
|
+
cite group.</a:documentation>
|
1254
|
+
</attribute>
|
1255
|
+
</optional>
|
1256
|
+
</define>
|
1257
|
+
<define name="citation.collapse-options">
|
1258
|
+
<optional>
|
1259
|
+
<attribute name="collapse">
|
1260
|
+
<a:documentation>Activate cite grouping and specify the method of citation collapsing.</a:documentation>
|
1261
|
+
<choice>
|
1262
|
+
<value>citation-number</value>
|
1263
|
+
<a:documentation>Collapse ranges of numeric cites, e.g. from "[1,2,3]" to "[1-3]".</a:documentation>
|
1264
|
+
<value>year</value>
|
1265
|
+
<a:documentation>Collapse cites by suppressing repeated names, e.g. from "(Doe
|
1266
|
+
2000, Doe 2001)" to "(Doe 2000, 2001)".</a:documentation>
|
1267
|
+
<value>year-suffix</value>
|
1268
|
+
<a:documentation>Collapse cites as with "year", but also suppresses repeated
|
1269
|
+
years, e.g. from "(Doe 2000a, Doe 2000b)" to "(Doe 2000a, b)".</a:documentation>
|
1270
|
+
<value>year-suffix-ranged</value>
|
1271
|
+
<a:documentation>Collapses cites as with "year-suffix", but also collapses
|
1272
|
+
ranges of year-suffixes, e.g. from "(Doe 2000a, Doe 2000b,
|
1273
|
+
Doe 2000c)" to "(Doe 2000a-c)".</a:documentation>
|
1274
|
+
</choice>
|
1275
|
+
</attribute>
|
1276
|
+
</optional>
|
1277
|
+
<optional>
|
1278
|
+
<attribute name="year-suffix-delimiter">
|
1279
|
+
<a:documentation>Specify the delimiter between year-suffixes. Defaults to the cite
|
1280
|
+
delimiter.</a:documentation>
|
1281
|
+
</attribute>
|
1282
|
+
</optional>
|
1283
|
+
<optional>
|
1284
|
+
<attribute name="after-collapse-delimiter">
|
1285
|
+
<a:documentation>Specify the delimiter following a group of collapsed cites. Defaults
|
1286
|
+
to the cite delimiter.</a:documentation>
|
1287
|
+
</attribute>
|
1288
|
+
</optional>
|
1289
|
+
</define>
|
1290
|
+
<define name="citation.disambiguate-options">
|
1291
|
+
<optional>
|
1292
|
+
<attribute name="disambiguate-add-names" a:defaultValue="false">
|
1293
|
+
<a:documentation>Set to "true" to activate disambiguation by showing names that were
|
1294
|
+
originally hidden as a result of et-al abbreviation.</a:documentation>
|
1295
|
+
<data type="boolean"/>
|
1296
|
+
</attribute>
|
1297
|
+
</optional>
|
1298
|
+
<optional>
|
1299
|
+
<attribute name="disambiguate-add-givenname" a:defaultValue="false">
|
1300
|
+
<a:documentation>Set to "true" to activate disambiguation by expanding names, showing
|
1301
|
+
initials or full given names.</a:documentation>
|
1302
|
+
<data type="boolean"/>
|
1303
|
+
</attribute>
|
1304
|
+
</optional>
|
1305
|
+
<optional>
|
1306
|
+
<attribute name="disambiguate-add-year-suffix" a:defaultValue="false">
|
1307
|
+
<a:documentation>Set to "true" to activate disambiguation by adding year-suffixes
|
1308
|
+
(e.g., "(Doe 2007a, Doe 2007b)") for items from the same author(s)
|
1309
|
+
and year.</a:documentation>
|
1310
|
+
<data type="boolean"/>
|
1311
|
+
</attribute>
|
1312
|
+
</optional>
|
1313
|
+
<optional>
|
1314
|
+
<attribute name="givenname-disambiguation-rule" a:defaultValue="by-cite">
|
1315
|
+
<a:documentation>Specify how name are expanded for disambiguation.</a:documentation>
|
1316
|
+
<choice>
|
1317
|
+
<value>all-names</value>
|
1318
|
+
<a:documentation>Each ambiguous names is progressively transformed until
|
1319
|
+
disambiguated (when disambiguation is not possible, the name
|
1320
|
+
remains in its original form).</a:documentation>
|
1321
|
+
<value>all-names-with-initials</value>
|
1322
|
+
<a:documentation>As "all-names", but name expansion is limited to showing
|
1323
|
+
initials.</a:documentation>
|
1324
|
+
<value>primary-name</value>
|
1325
|
+
<a:documentation>As "all-names", but disambiguation is limited to the first name
|
1326
|
+
of each cite.</a:documentation>
|
1327
|
+
<value>primary-name-with-initials</value>
|
1328
|
+
<a:documentation>As "all-names-with-initials", but disambiguation is limited to
|
1329
|
+
the first name of each cite.</a:documentation>
|
1330
|
+
<value>by-cite</value>
|
1331
|
+
<a:documentation>As "all-names", but only ambiguous names in ambiguous cites are
|
1332
|
+
expanded.</a:documentation>
|
1333
|
+
</choice>
|
1334
|
+
</attribute>
|
1335
|
+
</optional>
|
1336
|
+
</define>
|
1337
|
+
<define name="citation.near-note-distance">
|
1338
|
+
<optional>
|
1339
|
+
<attribute name="near-note-distance" a:defaultValue="5">
|
1340
|
+
<a:documentation>Set the number of preceding notes (footnotes or endnotes) within
|
1341
|
+
which the current item needs to have been previously cited in order
|
1342
|
+
for the "near-note" position to be "true".</a:documentation>
|
1343
|
+
<data type="integer"/>
|
1344
|
+
</attribute>
|
1345
|
+
</optional>
|
1346
|
+
</define>
|
1347
|
+
<define name="bibliography.hanging-indent">
|
1348
|
+
<optional>
|
1349
|
+
<attribute name="hanging-indent" a:defaultValue="false">
|
1350
|
+
<a:documentation>Set to "true" to render bibliographic entries with hanging indents.</a:documentation>
|
1351
|
+
<data type="boolean"/>
|
1352
|
+
</attribute>
|
1353
|
+
</optional>
|
1354
|
+
</define>
|
1355
|
+
<define name="bibliography.line-formatting-options">
|
1356
|
+
<optional>
|
1357
|
+
<attribute name="entry-spacing" a:defaultValue="1">
|
1358
|
+
<a:documentation>Set the spacing between bibliographic entries.</a:documentation>
|
1359
|
+
<data type="nonNegativeInteger"/>
|
1360
|
+
</attribute>
|
1361
|
+
</optional>
|
1362
|
+
<optional>
|
1363
|
+
<attribute name="line-spacing" a:defaultValue="1">
|
1364
|
+
<a:documentation>Set the spacing between bibliographic lines.</a:documentation>
|
1365
|
+
<data type="integer">
|
1366
|
+
<param name="minExclusive">0</param>
|
1367
|
+
</data>
|
1368
|
+
</attribute>
|
1369
|
+
</optional>
|
1370
|
+
</define>
|
1371
|
+
<define name="bibliography.second-field-align">
|
1372
|
+
<optional>
|
1373
|
+
<attribute name="second-field-align">
|
1374
|
+
<a:documentation>Use to align any subsequent lines of bibliographic entries with the
|
1375
|
+
beginning of the second field.</a:documentation>
|
1376
|
+
<choice>
|
1377
|
+
<value>flush</value>
|
1378
|
+
<a:documentation>Align the first field with the margin.</a:documentation>
|
1379
|
+
<value>margin</value>
|
1380
|
+
<a:documentation>Put the first field in the margin and align all subsequent
|
1381
|
+
lines of text with the margin.</a:documentation>
|
1382
|
+
</choice>
|
1383
|
+
</attribute>
|
1384
|
+
</optional>
|
1385
|
+
</define>
|
1386
|
+
<define name="bibliography.subsequent-author-substitute-options">
|
1387
|
+
<optional>
|
1388
|
+
<attribute name="subsequent-author-substitute">
|
1389
|
+
<a:documentation>Substitute names that repeat in subsequent bibliographic entries by
|
1390
|
+
the attribute value.</a:documentation>
|
1391
|
+
</attribute>
|
1392
|
+
</optional>
|
1393
|
+
<optional>
|
1394
|
+
<attribute name="subsequent-author-substitute-rule" a:defaultValue="complete-all">
|
1395
|
+
<a:documentation>Specify the method of substitution of names repeated in subsequent
|
1396
|
+
bibliographic entries.</a:documentation>
|
1397
|
+
<choice>
|
1398
|
+
<value>complete-all</value>
|
1399
|
+
<a:documentation>Requires a match of all rendered names in the name variable, and
|
1400
|
+
substitutes once for all names.</a:documentation>
|
1401
|
+
<value>complete-each</value>
|
1402
|
+
<a:documentation>Requires a match of all rendered names in the name variable,
|
1403
|
+
and substitutes for each name.</a:documentation>
|
1404
|
+
<value>partial-each</value>
|
1405
|
+
<a:documentation>Substitutes for each name, until the first mismatch.</a:documentation>
|
1406
|
+
<value>partial-first</value>
|
1407
|
+
<a:documentation>Substitutes the first name if it matches.</a:documentation>
|
1408
|
+
</choice>
|
1409
|
+
</attribute>
|
1410
|
+
</optional>
|
1411
|
+
</define>
|
1412
|
+
<define name="names-inheritable-options">
|
1413
|
+
<a:documentation>Options affecting cs:names, for cs:style, cs:citation and cs:bibliography.</a:documentation>
|
1414
|
+
<optional>
|
1415
|
+
<attribute name="names-delimiter">
|
1416
|
+
<a:documentation>Inheritable name option, companion for "delimiter" on cs:names.</a:documentation>
|
1417
|
+
</attribute>
|
1418
|
+
</optional>
|
1419
|
+
</define>
|
1420
|
+
<define name="name-inheritable-options">
|
1421
|
+
<a:documentation>Options affecting cs:name, for cs:style, cs:citation and cs:bibliography.</a:documentation>
|
1422
|
+
<ref name="name.attributes"/>
|
1423
|
+
<optional>
|
1424
|
+
<attribute name="name-delimiter">
|
1425
|
+
<a:documentation>Inheritable name option, companion for "delimiter" on cs:name.</a:documentation>
|
1426
|
+
</attribute>
|
1427
|
+
</optional>
|
1428
|
+
<optional>
|
1429
|
+
<attribute name="name-form" a:defaultValue="long">
|
1430
|
+
<a:documentation>Inheritable name option, companion for "form" on cs:name.</a:documentation>
|
1431
|
+
<choice>
|
1432
|
+
<value>long</value>
|
1433
|
+
<value>short</value>
|
1434
|
+
<value>count</value>
|
1435
|
+
</choice>
|
1436
|
+
</attribute>
|
1437
|
+
</optional>
|
1438
|
+
</define>
|
1439
|
+
</div>
|
1440
|
+
<div>
|
1441
|
+
<a:documentation>
|
1442
|
+
<xhtml:h2>cs:sort - Sorting</xhtml:h2>
|
1443
|
+
</a:documentation>
|
1444
|
+
<define name="sort">
|
1445
|
+
<element name="cs:sort">
|
1446
|
+
<a:documentation>Specify how cites and bibliographic entries should be sorted. By
|
1447
|
+
default, items appear in the order in which they were cited.</a:documentation>
|
1448
|
+
<oneOrMore>
|
1449
|
+
<ref name="sort.key"/>
|
1450
|
+
</oneOrMore>
|
1451
|
+
</element>
|
1452
|
+
</define>
|
1453
|
+
<define name="sort.key">
|
1454
|
+
<element name="cs:key">
|
1455
|
+
<choice>
|
1456
|
+
<attribute name="variable">
|
1457
|
+
<ref name="variables"/>
|
1458
|
+
</attribute>
|
1459
|
+
<attribute name="macro">
|
1460
|
+
<data type="NMTOKEN"/>
|
1461
|
+
</attribute>
|
1462
|
+
</choice>
|
1463
|
+
<optional>
|
1464
|
+
<attribute name="names-min">
|
1465
|
+
<a:documentation>The minimum number of names needed in a name variable to activate
|
1466
|
+
name list truncation. Overrides the values set on any
|
1467
|
+
"et-al-(subsequent-)min" attributes.</a:documentation>
|
1468
|
+
<data type="integer"/>
|
1469
|
+
</attribute>
|
1470
|
+
</optional>
|
1471
|
+
<optional>
|
1472
|
+
<attribute name="names-use-first">
|
1473
|
+
<a:documentation>The number of names to render when name list truncation is
|
1474
|
+
activated. Overrides the values set on the
|
1475
|
+
"et-al-(subsequent-)use-first" attributes.</a:documentation>
|
1476
|
+
<data type="integer"/>
|
1477
|
+
</attribute>
|
1478
|
+
</optional>
|
1479
|
+
<optional>
|
1480
|
+
<attribute name="names-use-last">
|
1481
|
+
<a:documentation>Use to override the value of the "et-at-use-last" attribute.</a:documentation>
|
1482
|
+
<data type="boolean"/>
|
1483
|
+
</attribute>
|
1484
|
+
</optional>
|
1485
|
+
<optional>
|
1486
|
+
<attribute name="sort" a:defaultValue="ascending">
|
1487
|
+
<a:documentation>Select between an ascending and descending sort.</a:documentation>
|
1488
|
+
<choice>
|
1489
|
+
<value>ascending</value>
|
1490
|
+
<value>descending</value>
|
1491
|
+
</choice>
|
1492
|
+
</attribute>
|
1493
|
+
</optional>
|
1494
|
+
</element>
|
1495
|
+
</define>
|
1496
|
+
</div>
|
1497
|
+
<div>
|
1498
|
+
<a:documentation>
|
1499
|
+
<xhtml:h2>cs:choose - Conditional Statements</xhtml:h2>
|
1500
|
+
</a:documentation>
|
1501
|
+
<define name="rendering-element.choose">
|
1502
|
+
<element name="cs:choose">
|
1503
|
+
<a:documentation>Use to conditionally render rendering elements.</a:documentation>
|
1504
|
+
<ref name="choose.if"/>
|
1505
|
+
<zeroOrMore>
|
1506
|
+
<ref name="choose.else-if"/>
|
1507
|
+
</zeroOrMore>
|
1508
|
+
<optional>
|
1509
|
+
<ref name="choose.else"/>
|
1510
|
+
</optional>
|
1511
|
+
</element>
|
1512
|
+
</define>
|
1513
|
+
<define name="choose.if">
|
1514
|
+
<element name="cs:if">
|
1515
|
+
<oneOrMore>
|
1516
|
+
<ref name="condition"/>
|
1517
|
+
</oneOrMore>
|
1518
|
+
<ref name="match"/>
|
1519
|
+
<zeroOrMore>
|
1520
|
+
<ref name="rendering-element"/>
|
1521
|
+
</zeroOrMore>
|
1522
|
+
</element>
|
1523
|
+
</define>
|
1524
|
+
<define name="choose.else-if">
|
1525
|
+
<element name="cs:else-if">
|
1526
|
+
<oneOrMore>
|
1527
|
+
<ref name="condition"/>
|
1528
|
+
</oneOrMore>
|
1529
|
+
<ref name="match"/>
|
1530
|
+
<zeroOrMore>
|
1531
|
+
<ref name="rendering-element"/>
|
1532
|
+
</zeroOrMore>
|
1533
|
+
</element>
|
1534
|
+
</define>
|
1535
|
+
<define name="choose.else">
|
1536
|
+
<element name="cs:else">
|
1537
|
+
<oneOrMore>
|
1538
|
+
<ref name="rendering-element"/>
|
1539
|
+
</oneOrMore>
|
1540
|
+
</element>
|
1541
|
+
</define>
|
1542
|
+
<define name="condition">
|
1543
|
+
<choice>
|
1544
|
+
<attribute name="disambiguate" a:defaultValue="true">
|
1545
|
+
<a:documentation>If used, the element content is only rendered if it disambiguates two
|
1546
|
+
otherwise identical citations. This attempt at disambiguation is only
|
1547
|
+
made after all other disambiguation methods have failed.</a:documentation>
|
1548
|
+
<value>true</value>
|
1549
|
+
</attribute>
|
1550
|
+
<attribute name="is-numeric">
|
1551
|
+
<a:documentation>Tests whether the given variables contain numeric text.</a:documentation>
|
1552
|
+
<list>
|
1553
|
+
<oneOrMore>
|
1554
|
+
<ref name="variables"/>
|
1555
|
+
</oneOrMore>
|
1556
|
+
</list>
|
1557
|
+
</attribute>
|
1558
|
+
<attribute name="is-uncertain-date">
|
1559
|
+
<a:documentation>Tests whether the given date variables contain approximate dates.</a:documentation>
|
1560
|
+
<list>
|
1561
|
+
<oneOrMore>
|
1562
|
+
<ref name="variables.dates"/>
|
1563
|
+
</oneOrMore>
|
1564
|
+
</list>
|
1565
|
+
</attribute>
|
1566
|
+
<attribute name="locator">
|
1567
|
+
<a:documentation>Tests whether the locator matches the given locator types.</a:documentation>
|
1568
|
+
<list>
|
1569
|
+
<oneOrMore>
|
1570
|
+
<choice>
|
1571
|
+
<ref name="terms.locator.testable"/>
|
1572
|
+
<value>sub-verbo</value>
|
1573
|
+
</choice>
|
1574
|
+
</oneOrMore>
|
1575
|
+
</list>
|
1576
|
+
</attribute>
|
1577
|
+
<attribute name="position">
|
1578
|
+
<a:documentation>Tests whether the cite position matches the given positions.</a:documentation>
|
1579
|
+
<list>
|
1580
|
+
<oneOrMore>
|
1581
|
+
<choice>
|
1582
|
+
<value>first</value>
|
1583
|
+
<value>subsequent</value>
|
1584
|
+
<value>ibid</value>
|
1585
|
+
<value>ibid-with-locator</value>
|
1586
|
+
<value>near-note</value>
|
1587
|
+
</choice>
|
1588
|
+
</oneOrMore>
|
1589
|
+
</list>
|
1590
|
+
</attribute>
|
1591
|
+
<attribute name="type">
|
1592
|
+
<a:documentation>Tests whether the item matches the given types.</a:documentation>
|
1593
|
+
<list>
|
1594
|
+
<oneOrMore>
|
1595
|
+
<ref name="item-types"/>
|
1596
|
+
</oneOrMore>
|
1597
|
+
</list>
|
1598
|
+
</attribute>
|
1599
|
+
<attribute name="variable">
|
1600
|
+
<a:documentation>Tests whether the default ("long") forms of the given variables
|
1601
|
+
contain non-empty values.</a:documentation>
|
1602
|
+
<list>
|
1603
|
+
<oneOrMore>
|
1604
|
+
<ref name="variables"/>
|
1605
|
+
</oneOrMore>
|
1606
|
+
</list>
|
1607
|
+
</attribute>
|
1608
|
+
</choice>
|
1609
|
+
</define>
|
1610
|
+
<define name="match">
|
1611
|
+
<optional>
|
1612
|
+
<attribute name="match" a:defaultValue="all">
|
1613
|
+
<a:documentation>Set the testing logic.</a:documentation>
|
1614
|
+
<choice>
|
1615
|
+
<value>all</value>
|
1616
|
+
<a:documentation>Element only tests "true" when all conditions test "true" for all
|
1617
|
+
given test values.</a:documentation>
|
1618
|
+
<value>any</value>
|
1619
|
+
<a:documentation>Element tests "true" when any condition tests "true" for any given
|
1620
|
+
test value.</a:documentation>
|
1621
|
+
<value>none</value>
|
1622
|
+
<a:documentation>Element only tests "true" when none of the conditions test "true"
|
1623
|
+
for any given test value.</a:documentation>
|
1624
|
+
</choice>
|
1625
|
+
</attribute>
|
1626
|
+
</optional>
|
1627
|
+
</define>
|
1628
|
+
</div>
|
1629
|
+
<div>
|
1630
|
+
<a:documentation>Formatting attributes.</a:documentation>
|
1631
|
+
<define name="affixes">
|
1632
|
+
<optional>
|
1633
|
+
<attribute name="prefix" a:defaultValue=""/>
|
1634
|
+
</optional>
|
1635
|
+
<optional>
|
1636
|
+
<attribute name="suffix" a:defaultValue=""/>
|
1637
|
+
</optional>
|
1638
|
+
</define>
|
1639
|
+
<define name="delimiter">
|
1640
|
+
<optional>
|
1641
|
+
<attribute name="delimiter"/>
|
1642
|
+
</optional>
|
1643
|
+
</define>
|
1644
|
+
<define name="display">
|
1645
|
+
<optional>
|
1646
|
+
<attribute name="display">
|
1647
|
+
<a:documentation>By default, bibliographic entries consist of continuous runs of text.
|
1648
|
+
With the "display" attribute, portions of each entry can be
|
1649
|
+
individually positioned.</a:documentation>
|
1650
|
+
<choice>
|
1651
|
+
<value>block</value>
|
1652
|
+
<a:documentation>Places the content in a block stretching from margin to margin.</a:documentation>
|
1653
|
+
<value>left-margin</value>
|
1654
|
+
<a:documentation>Places the content in a block starting at the left margin.</a:documentation>
|
1655
|
+
<value>right-inline</value>
|
1656
|
+
<a:documentation>Places the content in a block to the right of a preceding
|
1657
|
+
"left-margin" block.</a:documentation>
|
1658
|
+
<value>indent</value>
|
1659
|
+
<a:documentation>Places the content in a block indented to the right by a standard
|
1660
|
+
amount.</a:documentation>
|
1661
|
+
</choice>
|
1662
|
+
</attribute>
|
1663
|
+
</optional>
|
1664
|
+
</define>
|
1665
|
+
<define name="font-formatting">
|
1666
|
+
<a:documentation>The font-formatting attributes are based on those of CSS and XSL-FO.</a:documentation>
|
1667
|
+
<optional>
|
1668
|
+
<attribute name="font-style" a:defaultValue="normal">
|
1669
|
+
<choice>
|
1670
|
+
<value>italic</value>
|
1671
|
+
<value>normal</value>
|
1672
|
+
<value>oblique</value>
|
1673
|
+
</choice>
|
1674
|
+
</attribute>
|
1675
|
+
</optional>
|
1676
|
+
<optional>
|
1677
|
+
<attribute name="font-variant" a:defaultValue="normal">
|
1678
|
+
<choice>
|
1679
|
+
<value>normal</value>
|
1680
|
+
<value>small-caps</value>
|
1681
|
+
</choice>
|
1682
|
+
</attribute>
|
1683
|
+
</optional>
|
1684
|
+
<optional>
|
1685
|
+
<attribute name="font-weight" a:defaultValue="normal">
|
1686
|
+
<choice>
|
1687
|
+
<value>normal</value>
|
1688
|
+
<value>bold</value>
|
1689
|
+
<value>light</value>
|
1690
|
+
</choice>
|
1691
|
+
</attribute>
|
1692
|
+
</optional>
|
1693
|
+
<optional>
|
1694
|
+
<attribute name="text-decoration" a:defaultValue="none">
|
1695
|
+
<choice>
|
1696
|
+
<value>none</value>
|
1697
|
+
<value>underline</value>
|
1698
|
+
</choice>
|
1699
|
+
</attribute>
|
1700
|
+
</optional>
|
1701
|
+
<optional>
|
1702
|
+
<attribute name="vertical-align" a:defaultValue="baseline">
|
1703
|
+
<choice>
|
1704
|
+
<value>baseline</value>
|
1705
|
+
<value>sup</value>
|
1706
|
+
<value>sub</value>
|
1707
|
+
</choice>
|
1708
|
+
</attribute>
|
1709
|
+
</optional>
|
1710
|
+
</define>
|
1711
|
+
<define name="quotes">
|
1712
|
+
<optional>
|
1713
|
+
<attribute name="quotes" a:defaultValue="false">
|
1714
|
+
<a:documentation>When set to "true", quotes are placed around the rendered text.</a:documentation>
|
1715
|
+
<data type="boolean"/>
|
1716
|
+
</attribute>
|
1717
|
+
</optional>
|
1718
|
+
</define>
|
1719
|
+
<define name="strip-periods">
|
1720
|
+
<optional>
|
1721
|
+
<attribute name="strip-periods" a:defaultValue="false">
|
1722
|
+
<a:documentation>When set to "true", periods are removed from the rendered text.</a:documentation>
|
1723
|
+
<data type="boolean"/>
|
1724
|
+
</attribute>
|
1725
|
+
</optional>
|
1726
|
+
</define>
|
1727
|
+
<define name="text-case">
|
1728
|
+
<optional>
|
1729
|
+
<attribute name="text-case">
|
1730
|
+
<choice>
|
1731
|
+
<value>lowercase</value>
|
1732
|
+
<a:documentation>Renders text in lowercase.</a:documentation>
|
1733
|
+
<value>uppercase</value>
|
1734
|
+
<a:documentation>Renders text in uppercase.</a:documentation>
|
1735
|
+
<value>capitalize-first</value>
|
1736
|
+
<a:documentation>Capitalizes the first character (other characters remain in
|
1737
|
+
their original case).</a:documentation>
|
1738
|
+
<value>capitalize-all</value>
|
1739
|
+
<a:documentation>Capitalizes the first character of every word (other characters
|
1740
|
+
remain in their original case).</a:documentation>
|
1741
|
+
<value>title</value>
|
1742
|
+
<a:documentation>Renders text in title case.</a:documentation>
|
1743
|
+
<value>sentence</value>
|
1744
|
+
<a:documentation>Renders text in sentence case.</a:documentation>
|
1745
|
+
</choice>
|
1746
|
+
</attribute>
|
1747
|
+
</optional>
|
1748
|
+
</define>
|
1749
|
+
</div>
|
1750
|
+
</grammar>
|