citeproc-ruby 0.0.6 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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>