citeproc-ruby 0.0.6 → 1.0.0

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.
Files changed (186) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.document +4 -0
  4. data/.gitignore +10 -0
  5. data/.rspec +3 -0
  6. data/.simplecov +4 -0
  7. data/.travis.yml +17 -0
  8. data/.yardopts +2 -0
  9. data/AGPL +662 -0
  10. data/BSDL +29 -0
  11. data/Gemfile +42 -0
  12. data/Guardfile +14 -0
  13. data/README.md +32 -76
  14. data/Rakefile +60 -0
  15. data/citeproc-ruby.gemspec +46 -0
  16. data/cucumber.yml +1 -0
  17. data/features/bibliography.feature +25 -0
  18. data/features/name_options.feature +37 -0
  19. data/features/names.feature +192 -0
  20. data/features/renderer.feature +74 -0
  21. data/features/sort.feature +50 -0
  22. data/features/step_definitions/renderer.rb +80 -0
  23. data/features/support/env.rb +33 -0
  24. data/features/support/hooks.rb +10 -0
  25. data/lib/citeproc/ruby.rb +32 -0
  26. data/lib/citeproc/ruby/engine.rb +122 -0
  27. data/lib/citeproc/ruby/format.rb +303 -0
  28. data/lib/citeproc/ruby/formats/default.rb +25 -0
  29. data/lib/citeproc/ruby/formats/html.rb +221 -0
  30. data/lib/citeproc/ruby/renderer.rb +140 -0
  31. data/lib/citeproc/ruby/renderer/choose.rb +106 -0
  32. data/lib/citeproc/ruby/renderer/date.rb +90 -0
  33. data/lib/citeproc/ruby/renderer/format.rb +129 -0
  34. data/lib/citeproc/ruby/renderer/group.rb +34 -0
  35. data/lib/citeproc/ruby/renderer/history.rb +40 -0
  36. data/lib/citeproc/ruby/renderer/label.rb +66 -0
  37. data/lib/citeproc/ruby/renderer/layout.rb +20 -0
  38. data/lib/citeproc/ruby/renderer/locale.rb +26 -0
  39. data/lib/citeproc/ruby/renderer/macro.rb +20 -0
  40. data/lib/citeproc/ruby/renderer/names.rb +401 -0
  41. data/lib/citeproc/ruby/renderer/number.rb +41 -0
  42. data/lib/citeproc/ruby/renderer/observer.rb +44 -0
  43. data/lib/citeproc/ruby/renderer/state.rb +96 -0
  44. data/lib/citeproc/ruby/renderer/text.rb +62 -0
  45. data/lib/citeproc/ruby/sort.rb +82 -0
  46. data/lib/citeproc/ruby/version.rb +5 -0
  47. data/spec/citeproc/ruby/engine_spec.rb +94 -0
  48. data/spec/citeproc/ruby/formats/default_spec.rb +159 -0
  49. data/spec/citeproc/ruby/formats/html_spec.rb +162 -0
  50. data/spec/citeproc/ruby/renderer/choose_spec.rb +293 -0
  51. data/spec/citeproc/ruby/renderer/date_spec.rb +173 -0
  52. data/spec/citeproc/ruby/renderer/group_spec.rb +88 -0
  53. data/spec/citeproc/ruby/renderer/history_spec.rb +38 -0
  54. data/spec/citeproc/ruby/renderer/label_spec.rb +225 -0
  55. data/spec/citeproc/ruby/renderer/layout_spec.rb +41 -0
  56. data/spec/citeproc/ruby/renderer/macro_spec.rb +31 -0
  57. data/spec/citeproc/ruby/renderer/names_spec.rb +396 -0
  58. data/spec/citeproc/ruby/renderer/number_spec.rb +120 -0
  59. data/spec/citeproc/ruby/renderer/text_spec.rb +120 -0
  60. data/spec/citeproc/ruby/renderer_spec.rb +65 -0
  61. data/spec/fixtures/items.rb +80 -0
  62. data/{resource/locale → spec/fixtures/locales}/locales-en-US.xml +2 -11
  63. data/{resource/locale → spec/fixtures/locales}/locales-fr-FR.xml +77 -66
  64. data/{resource/style → spec/fixtures/styles}/apa.csl +5 -5
  65. data/spec/spec_helper.rb +67 -14
  66. metadata +121 -211
  67. data/lib/citeproc.rb +0 -100
  68. data/lib/citeproc/bibliography.rb +0 -57
  69. data/lib/citeproc/data.rb +0 -149
  70. data/lib/citeproc/date.rb +0 -133
  71. data/lib/citeproc/formatter.rb +0 -38
  72. data/lib/citeproc/item.rb +0 -53
  73. data/lib/citeproc/name.rb +0 -284
  74. data/lib/citeproc/processor.rb +0 -166
  75. data/lib/citeproc/selector.rb +0 -61
  76. data/lib/citeproc/variable.rb +0 -82
  77. data/lib/citeproc/version.rb +0 -3
  78. data/lib/csl/locale.rb +0 -223
  79. data/lib/csl/node.rb +0 -72
  80. data/lib/csl/nodes.rb +0 -1418
  81. data/lib/csl/renderer.rb +0 -88
  82. data/lib/csl/sort.rb +0 -61
  83. data/lib/csl/style.rb +0 -110
  84. data/lib/csl/term.rb +0 -124
  85. data/lib/extensions/core.rb +0 -43
  86. data/lib/plugins/filters/bibtex.rb +0 -12
  87. data/lib/plugins/formats/default.rb +0 -134
  88. data/lib/plugins/formats/html.rb +0 -67
  89. data/lib/support/attributes.rb +0 -99
  90. data/lib/support/compatibility.rb +0 -83
  91. data/lib/support/tree.rb +0 -80
  92. data/resource/locale/locales-af-ZA.xml +0 -305
  93. data/resource/locale/locales-ar-AR.xml +0 -306
  94. data/resource/locale/locales-bg-BG.xml +0 -305
  95. data/resource/locale/locales-ca-AD.xml +0 -305
  96. data/resource/locale/locales-cs-CZ.xml +0 -305
  97. data/resource/locale/locales-da-DK.xml +0 -305
  98. data/resource/locale/locales-de-AT.xml +0 -304
  99. data/resource/locale/locales-de-CH.xml +0 -304
  100. data/resource/locale/locales-de-DE.xml +0 -332
  101. data/resource/locale/locales-el-GR.xml +0 -305
  102. data/resource/locale/locales-en-GB.xml +0 -304
  103. data/resource/locale/locales-es-ES.xml +0 -305
  104. data/resource/locale/locales-et-EE.xml +0 -304
  105. data/resource/locale/locales-eu.xml +0 -305
  106. data/resource/locale/locales-fa-IR.xml +0 -304
  107. data/resource/locale/locales-fi-FI.xml +0 -304
  108. data/resource/locale/locales-fr-CA.xml +0 -306
  109. data/resource/locale/locales-he-IL.xml +0 -304
  110. data/resource/locale/locales-hu-HU.xml +0 -305
  111. data/resource/locale/locales-is-IS.xml +0 -304
  112. data/resource/locale/locales-it-IT.xml +0 -305
  113. data/resource/locale/locales-ja-JP.xml +0 -305
  114. data/resource/locale/locales-kh-KH.xml +0 -303
  115. data/resource/locale/locales-km-KH.xml +0 -304
  116. data/resource/locale/locales-ko-KR.xml +0 -305
  117. data/resource/locale/locales-mn-MN.xml +0 -306
  118. data/resource/locale/locales-nb-NO.xml +0 -304
  119. data/resource/locale/locales-nl-NL.xml +0 -304
  120. data/resource/locale/locales-nn-NO.xml +0 -304
  121. data/resource/locale/locales-pl-PL.xml +0 -305
  122. data/resource/locale/locales-pt-BR.xml +0 -304
  123. data/resource/locale/locales-pt-PT.xml +0 -305
  124. data/resource/locale/locales-ro-RO.xml +0 -305
  125. data/resource/locale/locales-ru-RU.xml +0 -306
  126. data/resource/locale/locales-sk-SK.xml +0 -304
  127. data/resource/locale/locales-sl-SI.xml +0 -305
  128. data/resource/locale/locales-sr-RS.xml +0 -305
  129. data/resource/locale/locales-sv-SE.xml +0 -305
  130. data/resource/locale/locales-th-TH.xml +0 -304
  131. data/resource/locale/locales-tr-TR.xml +0 -305
  132. data/resource/locale/locales-uk-UA.xml +0 -306
  133. data/resource/locale/locales-vi-VN.xml +0 -305
  134. data/resource/locale/locales-zh-CN.xml +0 -304
  135. data/resource/locale/locales-zh-TW.xml +0 -305
  136. data/resource/schema/csl-categories.rnc +0 -39
  137. data/resource/schema/csl-data.rnc +0 -98
  138. data/resource/schema/csl-terms.rnc +0 -106
  139. data/resource/schema/csl-types.rnc +0 -39
  140. data/resource/schema/csl-variables.rnc +0 -182
  141. data/resource/schema/csl.rnc +0 -941
  142. data/resource/style/bibtex.csl +0 -177
  143. data/resource/style/chicago-annotated-bibliography.csl +0 -513
  144. data/resource/style/chicago-author-date-basque.csl +0 -707
  145. data/resource/style/chicago-author-date-de.csl +0 -394
  146. data/resource/style/chicago-author-date-listing.csl +0 -434
  147. data/resource/style/chicago-author-date.csl +0 -425
  148. data/resource/style/chicago-dated-note-biblio-no-ibid.csl +0 -472
  149. data/resource/style/chicago-fullnote-bibliography-bb.csl +0 -928
  150. data/resource/style/chicago-fullnote-bibliography-delimiter-fixes.csl +0 -972
  151. data/resource/style/chicago-fullnote-bibliography-no-ibid-delimiter-fixes.csl +0 -963
  152. data/resource/style/chicago-fullnote-bibliography-no-ibid.csl +0 -785
  153. data/resource/style/chicago-fullnote-bibliography.csl +0 -803
  154. data/resource/style/chicago-library-list.csl +0 -511
  155. data/resource/style/chicago-note-biblio-no-ibid.csl +0 -514
  156. data/resource/style/chicago-note-bibliography.csl +0 -530
  157. data/resource/style/chicago-note.csl +0 -388
  158. data/resource/style/chicago-quick-copy.csl +0 -685
  159. data/resource/style/ieee.csl +0 -299
  160. data/resource/style/mla-notes.csl +0 -796
  161. data/resource/style/mla-underline.csl +0 -175
  162. data/resource/style/mla-url.csl +0 -214
  163. data/resource/style/mla.csl +0 -394
  164. data/resource/style/vancouver-brackets.csl +0 -256
  165. data/resource/style/vancouver-superscript-bracket-only-year.csl +0 -165
  166. data/resource/style/vancouver-superscript.csl +0 -256
  167. data/resource/style/vancouver.csl +0 -256
  168. data/spec/citeproc/bibliography_spec.rb +0 -45
  169. data/spec/citeproc/citeproc_spec.rb +0 -80
  170. data/spec/citeproc/date_spec.rb +0 -89
  171. data/spec/citeproc/formatter_spec.rb +0 -101
  172. data/spec/citeproc/item_spec.rb +0 -71
  173. data/spec/citeproc/name_spec.rb +0 -30
  174. data/spec/citeproc/processor_spec.rb +0 -61
  175. data/spec/citeproc/selector_spec.rb +0 -82
  176. data/spec/citeproc/variable_spec.rb +0 -69
  177. data/spec/csl/locale_spec.rb +0 -208
  178. data/spec/csl/node_spec.rb +0 -25
  179. data/spec/csl/nodes_spec.rb +0 -145
  180. data/spec/csl/style_spec.rb +0 -62
  181. data/spec/csl/term_spec.rb +0 -56
  182. data/spec/fixtures/dates.yaml +0 -80
  183. data/spec/fixtures/names.yaml +0 -115
  184. data/spec/fixtures/nodes.yaml +0 -245
  185. data/spec/support/attributes_spec.rb +0 -39
  186. data/spec/support/tree_spec.rb +0 -163
@@ -1,963 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <style xmlns="http://purl.org/net/xbiblio/csl" class="note" version="1.0" demote-non-dropping-particle="sort-only">
3
- <info>
4
- <title>Chicago Manual of Style (full note, no Ibid.) [delimiter fixes]</title>
5
- <id>http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid-delimiter-fixes</id>
6
- <link href="http://www.zotero.org/styles/chicago-fullnote-bibliography-no-ibid-delimiter-fixes" rel="self"/>
7
- <link href="http://www.chicagomanualofstyle.org/tools_citationguide.html" rel="documentation"/>
8
- <author>
9
- <name>Julian Onions</name>
10
- <email>julian.onions@gmail.com</email>
11
- </author>
12
- <contributor>
13
- <name>Simon Kornblith</name>
14
- <email>simon@simonster.com</email>
15
- </contributor>
16
- <contributor>
17
- <name>Elena Razlogova</name>
18
- <email>elena.razlogova@gmail.com</email>
19
- </contributor>
20
- <contributor>
21
- <name>Frank Bennett</name>
22
- <email>biercenator@gmail.com</email>
23
- </contributor>
24
- <summary>Chicago format with full notes and bibliography (delimiter fixes)</summary>
25
- <category field="generic-base"/>
26
- <category citation-format="note"/>
27
- <updated>2009-12-04T20:22:16+00:00</updated>
28
- <rights>This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License: http://creativecommons.org/licenses/by-sa/3.0/</rights>
29
- </info>
30
- <locale xml:lang="en">
31
- <terms>
32
- <term name="editortranslator" form="verb-short">
33
- <single>trans. and ed.</single>
34
- <multiple>trans. and ed.</multiple>
35
- </term>
36
- <term name="editortranslator" form="verb">
37
- <single> Translated and edited by</single>
38
- <multiple> Translated and edited by</multiple>
39
- </term>
40
- </terms>
41
- </locale>
42
- <macro name="editor-translator">
43
- <group delimiter=", ">
44
- <choose>
45
- <if variable="author">
46
- <group delimiter=" ">
47
- <choose>
48
- <if variable="container-author">
49
- <group>
50
- <names variable="container-author">
51
- <label form="verb-short" text-case="lowercase" suffix=" "/>
52
- <name and="text" delimiter=", "/>
53
- </names>
54
- </group>
55
- </if>
56
- </choose>
57
- </group>
58
- <names variable="editor translator" delimiter=", ">
59
- <label form="verb-short" text-case="lowercase" suffix=" "/>
60
- <name and="text" delimiter=", "/>
61
- </names>
62
- </if>
63
- </choose>
64
- </group>
65
- </macro>
66
- <macro name="secondary-contributors-note">
67
- <choose>
68
- <if type="chapter paper-conference" match="none">
69
- <text macro="editor-translator"/>
70
- </if>
71
- </choose>
72
- </macro>
73
- <macro name="container-contributors-note">
74
- <choose>
75
- <if type="chapter paper-conference" match="any">
76
- <text macro="editor-translator"/>
77
- </if>
78
- </choose>
79
- </macro>
80
- <macro name="secondary-contributors">
81
- <choose>
82
- <if type="chapter paper-conference" match="none">
83
- <group delimiter=". ">
84
- <choose>
85
- <if variable="author">
86
- <names variable="editor translator" delimiter=". ">
87
- <label form="verb" text-case="capitalize-first" suffix=" "/>
88
- <name and="text" delimiter=", "/>
89
- </names>
90
- </if>
91
- </choose>
92
- </group>
93
- </if>
94
- </choose>
95
- </macro>
96
- <macro name="container-contributors">
97
- <choose>
98
- <if type="chapter paper-conference" match="any">
99
- <group delimiter=", ">
100
- <choose>
101
- <if variable="author">
102
- <choose>
103
- <if variable="container-author">
104
- <names variable="container-author">
105
- <label form="verb-short" text-case="lowercase" suffix=" "/>
106
- <name and="text" delimiter=", "/>
107
- </names>
108
- </if>
109
- </choose>
110
- <!--This includes page numers after the container author, e.g. for Introductions -->
111
- <choose>
112
- <if variable="container-author author" match="all">
113
- <group delimiter=". ">
114
- <text variable="page"/>
115
- <names variable="editor translator" delimiter=", ">
116
- <label form="verb" suffix=" "/>
117
- <name and="text" delimiter=", "/>
118
- </names>
119
- </group>
120
- </if>
121
- <else>
122
- <names variable="editor translator" delimiter=", ">
123
- <label form="verb" text-case="lowercase" suffix=" "/>
124
- <name and="text" delimiter=", "/>
125
- </names>
126
- </else>
127
- </choose>
128
- </if>
129
- </choose>
130
- </group>
131
- </if>
132
- </choose>
133
- </macro>
134
- <macro name="recipient-note">
135
- <names variable="recipient" delimiter=", ">
136
- <label form="verb" text-case="lowercase" suffix=" "/>
137
- <name and="text" delimiter=", "/>
138
- </names>
139
- </macro>
140
- <macro name="contributors-note">
141
- <group delimiter=" ">
142
- <names variable="author">
143
- <name and="text" sort-separator=", " delimiter=", "/>
144
- <label form="short" prefix=", "/>
145
- <substitute>
146
- <names variable="editor"/>
147
- <names variable="translator"/>
148
- </substitute>
149
- </names>
150
- <text macro="recipient-note"/>
151
- </group>
152
- </macro>
153
- <macro name="editor">
154
- <names variable="editor">
155
- <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
156
- <label form="short" prefix=", "/>
157
- </names>
158
- </macro>
159
- <macro name="translator">
160
- <names variable="translator">
161
- <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
162
- <label form="verb-short" prefix=", "/>
163
- </names>
164
- </macro>
165
- <macro name="recipient">
166
- <group delimiter=" ">
167
- <choose>
168
- <if type="personal_communication">
169
- <choose>
170
- <if variable="genre">
171
- <text variable="genre" text-case="capitalize-first"/>
172
- </if>
173
- <else>
174
- <text term="letter" text-case="capitalize-first"/>
175
- </else>
176
- </choose>
177
- </if>
178
- </choose>
179
- <text macro="recipient-note"/>
180
- </group>
181
- </macro>
182
- <macro name="contributors">
183
- <group delimiter=". ">
184
- <names variable="author">
185
- <name name-as-sort-order="first" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
186
- <substitute>
187
- <text macro="editor"/>
188
- <text macro="translator"/>
189
- </substitute>
190
- </names>
191
- <text macro="recipient"/>
192
- </group>
193
- </macro>
194
- <macro name="recipient-short">
195
- <names variable="recipient">
196
- <label form="verb" text-case="lowercase" suffix=" "/>
197
- <name form="short" and="text" delimiter=", "/>
198
- </names>
199
- </macro>
200
- <macro name="contributors-short">
201
- <group delimiter=" ">
202
- <names variable="author">
203
- <name form="short" and="text" delimiter=", "/>
204
- <substitute>
205
- <names variable="editor"/>
206
- <names variable="translator"/>
207
- </substitute>
208
- </names>
209
- <text macro="recipient-short"/>
210
- </group>
211
- </macro>
212
- <macro name="contributors-sort">
213
- <names variable="author">
214
- <name name-as-sort-order="all" and="text" sort-separator=", " delimiter=", " delimiter-precedes-last="always"/>
215
- <label form="verb-short" prefix=", "/>
216
- <substitute>
217
- <names variable="editor"/>
218
- <names variable="translator"/>
219
- </substitute>
220
- </names>
221
- </macro>
222
- <macro name="interviewer-note">
223
- <names variable="interviewer" delimiter=", ">
224
- <label form="verb" text-case="lowercase" suffix=" "/>
225
- <name and="text" delimiter=", "/>
226
- </names>
227
- </macro>
228
- <macro name="interviewer">
229
- <names variable="interviewer" delimiter=", ">
230
- <label form="verb" text-case="capitalize-first" suffix=" "/>
231
- <name and="text" delimiter=", "/>
232
- </names>
233
- </macro>
234
- <macro name="title-note">
235
- <choose>
236
- <if variable="title" match="none">
237
- <text variable="genre"/>
238
- </if>
239
- <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
240
- <text variable="title" font-style="italic"/>
241
- </else-if>
242
- <else>
243
- <text variable="title" quotes="true"/>
244
- </else>
245
- </choose>
246
- </macro>
247
- <macro name="title">
248
- <choose>
249
- <if variable="title" match="none">
250
- <choose>
251
- <if type="personal_communication" match="none">
252
- <text variable="genre" text-case="capitalize-first"/>
253
- </if>
254
- </choose>
255
- </if>
256
- <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
257
- <text variable="title" font-style="italic"/>
258
- </else-if>
259
- <else>
260
- <text variable="title" quotes="true"/>
261
- </else>
262
- </choose>
263
- </macro>
264
- <macro name="title-short">
265
- <choose>
266
- <if variable="title" match="none">
267
- <choose>
268
- <if type="interview">
269
- <text term="interview" text-case="lowercase"/>
270
- </if>
271
- <else-if type="manuscript speech" match="any">
272
- <text variable="genre" form="short"/>
273
- </else-if>
274
- <else-if type="personal_communication">
275
- <text macro="issued"/>
276
- </else-if>
277
- </choose>
278
- </if>
279
- <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
280
- <text variable="title" form="short" font-style="italic"/>
281
- </else-if>
282
- <else>
283
- <text variable="title" form="short" quotes="true"/>
284
- </else>
285
- </choose>
286
- </macro>
287
- <macro name="description-note">
288
- <group delimiter=", ">
289
- <text macro="interviewer-note"/>
290
- <text variable="medium"/>
291
- <choose>
292
- <if variable="title" match="none"/>
293
- <else-if type="thesis speech" match="any"/>
294
- <else>
295
- <text variable="genre"/>
296
- </else>
297
- </choose>
298
- </group>
299
- </macro>
300
- <macro name="description">
301
- <group delimiter=", ">
302
- <group delimiter=". ">
303
- <text macro="interviewer"/>
304
- <text variable="medium" text-case="capitalize-first"/>
305
- </group>
306
- <choose>
307
- <if variable="title" match="none"/>
308
- <else-if type="thesis speech" match="any"/>
309
- <else>
310
- <text variable="genre" text-case="capitalize-first"/>
311
- </else>
312
- </choose>
313
- </group>
314
- </macro>
315
- <macro name="container-title-note">
316
- <group delimiter=" ">
317
- <choose>
318
- <if type="chapter paper-conference" match="any">
319
- <text term="in" text-case="lowercase"/>
320
- </if>
321
- </choose>
322
- <choose>
323
- <if type="legal_case" match="none">
324
- <text variable="container-title" font-style="italic"/>
325
- </if>
326
- </choose>
327
- </group>
328
- </macro>
329
- <macro name="container-title">
330
- <group delimiter=" ">
331
- <choose>
332
- <if type="chapter paper-conference" match="any">
333
- <text term="in" text-case="capitalize-first"/>
334
- </if>
335
- </choose>
336
- <choose>
337
- <if type="legal_case" match="none">
338
- <text variable="container-title" font-style="italic"/>
339
- </if>
340
- </choose>
341
- </group>
342
- </macro>
343
- <macro name="collection-title">
344
- <group delimiter=" ">
345
- <text variable="collection-title"/>
346
- <text variable="collection-number"/>
347
- </group>
348
- </macro>
349
- <macro name="edition-note">
350
- <choose>
351
- <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
352
- <choose>
353
- <if is-numeric="edition">
354
- <group delimiter=" ">
355
- <number variable="edition" form="ordinal"/>
356
- <text term="edition" form="short"/>
357
- </group>
358
- </if>
359
- <else>
360
- <number variable="edition" suffix="."/>
361
- </else>
362
- </choose>
363
- </if>
364
- </choose>
365
- </macro>
366
- <macro name="edition">
367
- <choose>
368
- <if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
369
- <choose>
370
- <if is-numeric="edition">
371
- <group delimiter=" ">
372
- <number variable="edition" form="ordinal"/>
373
- <text term="edition" form="short"/>
374
- </group>
375
- </if>
376
- <else>
377
- <number variable="edition" text-case="capitalize-first" suffix="."/>
378
- </else>
379
- </choose>
380
- </if>
381
- </choose>
382
- </macro>
383
- <macro name="locators-note-join-with-space">
384
- <choose>
385
- <if type="article-journal">
386
- <text macro="locators-note"/>
387
- </if>
388
- </choose>
389
- </macro>
390
- <macro name="locators-note-join-with-comma">
391
- <choose>
392
- <if type="article-journal" match="none">
393
- <text macro="locators-note"/>
394
- </if>
395
- </choose>
396
- </macro>
397
- <macro name="locators-note">
398
- <choose>
399
- <if type="article-journal">
400
- <group delimiter=", ">
401
- <number variable="volume"/>
402
- <group delimiter=" ">
403
- <text term="issue" form="short"/>
404
- <number variable="issue"/>
405
- </group>
406
- </group>
407
- </if>
408
- <else-if type="legal_case">
409
- <group delimiter=", ">
410
- <group delimiter=" ">
411
- <number variable="volume"/>
412
- <text variable="container-title"/>
413
- <text variable="page"/>
414
- </group>
415
- <text variable="locator"/>
416
- </group>
417
- </else-if>
418
- <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="any">
419
- <group delimiter=", ">
420
- <group delimiter=" ">
421
- <text term="volume" form="short"/>
422
- <number variable="volume" form="numeric"/>
423
- </group>
424
- <choose>
425
- <if variable="locator" match="none">
426
- <group delimiter=" ">
427
- <number variable="number-of-volumes" form="numeric"/>
428
- <text term="volume" form="short" plural="true"/>
429
- </group>
430
- </if>
431
- </choose>
432
- <text macro="edition-note"/>
433
- </group>
434
- </else-if>
435
- </choose>
436
- </macro>
437
- <macro name="locators-join-with-space">
438
- <choose>
439
- <if type="article-journal">
440
- <text macro="locators"/>
441
- </if>
442
- </choose>
443
- </macro>
444
- <macro name="locators-join-with-comma">
445
- <choose>
446
- <if type="legal_case">
447
- <text macro="locators"/>
448
- </if>
449
- </choose>
450
- </macro>
451
- <macro name="locators-join-with-period">
452
- <choose>
453
- <if type="legal_case article-journal" match="none">
454
- <text macro="locators"/>
455
- </if>
456
- </choose>
457
- </macro>
458
- <macro name="locators">
459
- <choose>
460
- <if type="article-journal">
461
- <group delimiter=", ">
462
- <number variable="volume"/>
463
- <group delimiter=" ">
464
- <text term="issue" form="short"/>
465
- <number variable="issue"/>
466
- </group>
467
- </group>
468
- </if>
469
- <else-if type="legal_case">
470
- <group delimiter=" ">
471
- <number variable="volume"/>
472
- <text variable="container-title"/>
473
- <text variable="page"/>
474
- </group>
475
- </else-if>
476
- <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
477
- <group delimiter=". ">
478
- <group delimiter=" ">
479
- <text term="volume" form="short" text-case="capitalize-first"/>
480
- <number variable="volume" form="numeric"/>
481
- </group>
482
- <group delimiter=" ">
483
- <number variable="number-of-volumes" form="numeric"/>
484
- <text term="volume" form="short" plural="true"/>
485
- </group>
486
- <text macro="edition"/>
487
- </group>
488
- </else-if>
489
- <else-if type="chapter paper-conference" match="any">
490
- <group delimiter=". ">
491
- <choose>
492
- <if variable="page" match="none">
493
- <group delimiter=" ">
494
- <text term="volume" form="short" text-case="capitalize-first"/>
495
- <number variable="volume" form="numeric"/>
496
- </group>
497
- </if>
498
- </choose>
499
- <text macro="edition"/>
500
- </group>
501
- </else-if>
502
- </choose>
503
- </macro>
504
- <macro name="locators-newspaper">
505
- <choose>
506
- <if type="article-newspaper">
507
- <group delimiter=", ">
508
- <group delimiter=" ">
509
- <number variable="edition"/>
510
- <text term="edition"/>
511
- </group>
512
- <group delimiter=" ">
513
- <text term="section" form="short"/>
514
- <text variable="section"/>
515
- </group>
516
- </group>
517
- </if>
518
- </choose>
519
- </macro>
520
- <macro name="event">
521
- <group delimiter=" ">
522
- <text term="presented at"/>
523
- <text variable="event"/>
524
- </group>
525
- </macro>
526
- <macro name="publisher">
527
- <choose>
528
- <if type="thesis">
529
- <text variable="publisher"/>
530
- </if>
531
- <else>
532
- <group delimiter=": ">
533
- <text variable="publisher-place"/>
534
- <text variable="publisher"/>
535
- </group>
536
- </else>
537
- </choose>
538
- </macro>
539
- <macro name="issued">
540
- <choose>
541
- <if variable="issued">
542
- <choose>
543
- <if type="graphic report" match="any">
544
- <date variable="issued">
545
- <date-part name="month" suffix=" "/>
546
- <date-part name="day" suffix=", "/>
547
- <date-part name="year"/>
548
- </date>
549
- </if>
550
- <else-if type="legal_case">
551
- <group delimiter=" ">
552
- <text variable="authority"/>
553
- <date variable="issued">
554
- <date-part name="year"/>
555
- </date>
556
- </group>
557
- </else-if>
558
- <else-if type="bill book chapter graphic legal_case legislation motion_picture paper-conference report song thesis" match="any">
559
- <date variable="issued">
560
- <date-part name="year"/>
561
- </date>
562
- </else-if>
563
- <else>
564
- <date variable="issued">
565
- <date-part name="month" suffix=" "/>
566
- <date-part name="day" suffix=", "/>
567
- <date-part name="year"/>
568
- </date>
569
- </else>
570
- </choose>
571
- </if>
572
- <else>
573
- <text term="no date" form="short"/>
574
- </else>
575
- </choose>
576
- </macro>
577
- <macro name="point-locators-subsequent">
578
- <choose>
579
- <if variable="locator">
580
- <choose>
581
- <if locator="page" match="none">
582
- <group delimiter=" ">
583
- <choose>
584
- <if type="bill book graphic legal_case legislation motion_picture report song" match="any">
585
- <choose>
586
- <if variable="volume">
587
- <group delimiter=", ">
588
- <group delimiter=" ">
589
- <text term="volume" form="short" text-case="lowercase"/>
590
- <number variable="volume" form="numeric"/>
591
- </group>
592
- <label variable="locator" form="short"/>
593
- </group>
594
- </if>
595
- <else>
596
- <label variable="locator" form="short"/>
597
- </else>
598
- </choose>
599
- </if>
600
- <else>
601
- <label variable="locator" form="short"/>
602
- </else>
603
- </choose>
604
- <text variable="locator"/>
605
- </group>
606
- </if>
607
- <else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
608
- <group delimiter=":">
609
- <number variable="volume" form="numeric"/>
610
- <text variable="locator"/>
611
- </group>
612
- </else-if>
613
- <else>
614
- <text variable="locator"/>
615
- </else>
616
- </choose>
617
- </if>
618
- </choose>
619
- </macro>
620
- <macro name="point-locators-join-with-colon">
621
- <choose>
622
- <if type="article-journal">
623
- <choose>
624
- <if variable="locator page" match="any">
625
- <text macro="point-locators"/>
626
- </if>
627
- </choose>
628
- </if>
629
- </choose>
630
- </macro>
631
- <macro name="point-locators-join-with-comma">
632
- <choose>
633
- <if type="article-journal" match="none">
634
- <text macro="point-locators"/>
635
- </if>
636
- </choose>
637
- </macro>
638
- <macro name="point-locators">
639
- <choose>
640
- <if variable="locator" match="none">
641
- <choose>
642
- <if type="article-journal chapter paper-conference" match="any">
643
- <text variable="page"/>
644
- </if>
645
- </choose>
646
- </if>
647
- <else-if type="article-journal">
648
- <group delimiter=" ">
649
- <choose>
650
- <if locator="page" match="none">
651
- <label variable="locator" form="short" suffix=" "/>
652
- </if>
653
- </choose>
654
- <text variable="locator"/>
655
- </group>
656
- </else-if>
657
- <else-if type="legal_case"/>
658
- <else>
659
- <group delimiter=" ">
660
- <choose>
661
- <if locator="page" match="none">
662
- <label variable="locator" form="short"/>
663
- </if>
664
- </choose>
665
- <text variable="locator"/>
666
- </group>
667
- </else>
668
- </choose>
669
- </macro>
670
- <macro name="locators-chapter">
671
- <choose>
672
- <if type="chapter paper-conference" match="any">
673
- <choose>
674
- <if variable="page">
675
- <number variable="volume" suffix=":"/>
676
- <text variable="page"/>
677
- </if>
678
- </choose>
679
- </if>
680
- </choose>
681
- </macro>
682
- <macro name="locators-journal">
683
- <choose>
684
- <if type="article-journal">
685
- <text variable="page"/>
686
- </if>
687
- </choose>
688
- </macro>
689
- <macro name="archive-note">
690
- <choose>
691
- <if type="thesis">
692
- <group delimiter=" ">
693
- <text variable="archive"/>
694
- <text variable="archive_location" prefix="(" suffix=")"/>
695
- </group>
696
- </if>
697
- <else>
698
- <group delimiter=", ">
699
- <text variable="archive_location"/>
700
- <text variable="archive"/>
701
- <text variable="archive-place"/>
702
- </group>
703
- </else>
704
- </choose>
705
- </macro>
706
- <macro name="archive">
707
- <choose>
708
- <if type="thesis">
709
- <group delimiter=" ">
710
- <text variable="archive"/>
711
- <text variable="archive_location" prefix="(" suffix=")"/>
712
- </group>
713
- </if>
714
- <else>
715
- <group delimiter=". ">
716
- <text variable="archive_location" text-case="capitalize-first"/>
717
- <text variable="archive"/>
718
- <text variable="archive-place"/>
719
- </group>
720
- </else>
721
- </choose>
722
- </macro>
723
- <macro name="issue-note-join-with-space">
724
- <choose>
725
- <if type="article-journal legal_case" variable="publisher-place publisher" match="any">
726
- <text macro="issue-note"/>
727
- </if>
728
- </choose>
729
- </macro>
730
- <macro name="issue-note-join-with-comma">
731
- <choose>
732
- <if type="article-journal legal_case" variable="publisher-place publisher" match="none">
733
- <text macro="issue-note"/>
734
- </if>
735
- </choose>
736
- </macro>
737
- <macro name="issue-note">
738
- <choose>
739
- <if type="article-journal legal_case" match="any">
740
- <text macro="issued" prefix="(" suffix=")"/>
741
- </if>
742
- <else-if variable="publisher-place publisher" match="any">
743
- <group prefix="(" suffix=")" delimiter=", ">
744
- <group delimiter=" ">
745
- <choose>
746
- <if variable="title" match="none"/>
747
- <else-if type="thesis speech" match="any">
748
- <text variable="genre"/>
749
- </else-if>
750
- </choose>
751
- <text macro="event"/>
752
- </group>
753
- <text macro="publisher"/>
754
- <text macro="issued"/>
755
- </group>
756
- </else-if>
757
- <else>
758
- <text macro="issued"/>
759
- </else>
760
- </choose>
761
- </macro>
762
- <macro name="issue-join-with-space">
763
- <choose>
764
- <if type="article-journal legal_case">
765
- <text macro="issue"/>
766
- </if>
767
- </choose>
768
- </macro>
769
- <macro name="issue-join-with-period">
770
- <choose>
771
- <if type="article-journal legal_case" match="none">
772
- <choose>
773
- <if type="speech" variable="publisher publisher-place" match="any">
774
- <text macro="issue"/>
775
- </if>
776
- </choose>
777
- </if>
778
- </choose>
779
- </macro>
780
- <macro name="issue-join-with-comma">
781
- <choose>
782
- <if type="article-journal legal_case" match="none">
783
- <choose>
784
- <if type="speech" variable="publisher publisher-place" match="none">
785
- <text macro="issue"/>
786
- </if>
787
- </choose>
788
- </if>
789
- </choose>
790
- </macro>
791
- <macro name="issue">
792
- <choose>
793
- <if type="article-journal legal_case" match="any">
794
- <text macro="issued" prefix="(" suffix=")"/>
795
- </if>
796
- <else-if type="speech">
797
- <group delimiter=", ">
798
- <group delimiter=" ">
799
- <choose>
800
- <if variable="title" match="none"/>
801
- <else>
802
- <text variable="genre" text-case="capitalize-first"/>
803
- </else>
804
- </choose>
805
- <text macro="event"/>
806
- </group>
807
- <text variable="event-place"/>
808
- <text macro="issued"/>
809
- </group>
810
- </else-if>
811
- <else-if variable="publisher-place publisher" match="any">
812
- <group delimiter=", ">
813
- <choose>
814
- <if type="thesis">
815
- <text variable="genre" text-case="capitalize-first"/>
816
- </if>
817
- </choose>
818
- <text macro="publisher"/>
819
- <text macro="issued"/>
820
- </group>
821
- </else-if>
822
- <else>
823
- <text macro="issued"/>
824
- </else>
825
- </choose>
826
- </macro>
827
- <macro name="access-note">
828
- <group delimiter=", ">
829
- <choose>
830
- <if type="graphic report" match="any">
831
- <text macro="archive-note"/>
832
- </if>
833
- <else-if type="article-journal article-magazine article-newspaper bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">
834
- <text macro="archive-note"/>
835
- </else-if>
836
- </choose>
837
- <choose>
838
- <if type="legal_case" match="none">
839
- <text variable="URL"/>
840
- </if>
841
- </choose>
842
- </group>
843
- </macro>
844
- <macro name="access">
845
- <group delimiter=". ">
846
- <choose>
847
- <if type="graphic report" match="any">
848
- <text macro="archive"/>
849
- </if>
850
- <else-if type="article-journal article-magazine article-newspaper bill book chapter graphic legal_case legislation motion_picture paper-conference report song" match="none">
851
- <text macro="archive"/>
852
- </else-if>
853
- </choose>
854
- <choose>
855
- <if type="legal_case" match="none">
856
- <text variable="URL"/>
857
- </if>
858
- </choose>
859
- </group>
860
- </macro>
861
- <macro name="sort-key">
862
- <group delimiter=" ">
863
- <text macro="contributors-sort"/>
864
- <text variable="title"/>
865
- <text variable="genre"/>
866
- </group>
867
- </macro>
868
- <citation et-al-min="4" et-al-use-first="1" disambiguate-add-names="true">
869
- <layout suffix="." delimiter="; ">
870
- <choose>
871
- <if position="subsequent">
872
- <group delimiter=", ">
873
- <text macro="contributors-short"/>
874
- <text macro="title-short"/>
875
- <text macro="point-locators-subsequent"/>
876
- </group>
877
- </if>
878
- <else>
879
- <group delimiter=", ">
880
- <group delimiter=": ">
881
- <group delimiter=", ">
882
- <group delimiter=" ">
883
- <group delimiter=", ">
884
- <group delimiter=" ">
885
- <group delimiter=", ">
886
- <group delimiter=" ">
887
- <group delimiter=", ">
888
- <text macro="contributors-note"/>
889
- <text macro="title-note"/>
890
- </group>
891
- <text macro="description-note"/>
892
- </group>
893
- <text macro="secondary-contributors-note"/>
894
- <text macro="container-title-note"/>
895
- <text macro="container-contributors-note"/>
896
- </group>
897
- <text macro="locators-note-join-with-space"/>
898
- </group>
899
- <text macro="locators-note-join-with-comma"/>
900
- <text macro="collection-title"/>
901
- <text macro="issue-note-join-with-comma"/>
902
- </group>
903
- <text macro="issue-note-join-with-space"/>
904
- </group>
905
- <text macro="locators-newspaper"/>
906
- <text macro="point-locators-join-with-comma"/>
907
- </group>
908
- <text macro="point-locators-join-with-colon"/>
909
- </group>
910
- <text macro="access-note"/>
911
- </group>
912
- </else>
913
- </choose>
914
- </layout>
915
- </citation>
916
- <bibliography hanging-indent="true" et-al-min="11" et-al-use-first="7" subsequent-author-substitute="———" entry-spacing="0">
917
- <sort>
918
- <key macro="sort-key"/>
919
- <key variable="issued"/>
920
- </sort>
921
- <layout suffix=".">
922
- <group delimiter=". ">
923
- <group delimiter=": ">
924
- <group delimiter=", ">
925
- <group delimiter=" ">
926
- <group delimiter=". ">
927
- <group delimiter=" ">
928
- <group delimiter=", ">
929
- <group delimiter=". ">
930
- <group delimiter=" ">
931
- <group delimiter=". ">
932
- <text macro="contributors"/>
933
- <text macro="title"/>
934
- </group>
935
- <text macro="description"/>
936
- </group>
937
- <text macro="secondary-contributors"/>
938
- <group delimiter=", ">
939
- <text macro="container-title"/>
940
- <text macro="container-contributors"/>
941
- <text macro="locators-chapter"/>
942
- </group>
943
- <text macro="locators-join-with-period"/>
944
- </group>
945
- <text macro="locators-join-with-comma"/>
946
- </group>
947
- <text macro="locators-join-with-space"/>
948
- </group>
949
- <text macro="collection-title"/>
950
- <text macro="issue-join-with-period"/>
951
- </group>
952
- <text macro="issue-join-with-space"/>
953
- </group>
954
- <text macro="issue-join-with-comma"/>
955
- <text macro="locators-newspaper"/>
956
- </group>
957
- <text macro="locators-journal"/>
958
- </group>
959
- <text macro="access"/>
960
- </group>
961
- </layout>
962
- </bibliography>
963
- </style>