isodoc 1.2.7 → 1.2.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -51,7 +51,10 @@ module IsoDoc
51
51
  xref docxml
52
52
  eref docxml
53
53
  origin docxml
54
+ concept docxml
54
55
  quotesource docxml
56
+ mathml docxml
57
+ variant docxml
55
58
  end
56
59
 
57
60
  def postprocess(result, filename, dir)
@@ -1,3 +1,3 @@
1
1
  module IsoDoc
2
- VERSION = "1.2.7".freeze
2
+ VERSION = "1.2.8".freeze
3
3
  end
@@ -196,6 +196,18 @@ module IsoDoc::WordFunction
196
196
  out.parent.at("./table")["class"] = "formula_dl"
197
197
  end
198
198
 
199
+ def formula_parse1(node, out)
200
+ out.div **attr_code(class: "formula") do |div|
201
+ div.p do |p|
202
+ parse(node.at(ns("./stem")), div)
203
+ insert_tab(div, 1)
204
+ if lbl = node&.at(ns("./name"))&.text
205
+ div << "(#{lbl})"
206
+ end
207
+ end
208
+ end
209
+ end
210
+
199
211
  def li_parse(node, out)
200
212
  out.li **attr_code(id: node["id"]) do |li|
201
213
  if node["uncheckedcheckbox"] == "true"
@@ -1,22 +1,23 @@
1
- foreword: Antaŭparolo
1
+ foreword: Antaŭparolo
2
2
  introduction: Enkonduko
3
- clause: klaŭzo
4
- table: Tabelo
3
+ clause: klaŭzo
4
+ table: tabelo
5
5
  source: SOURCE
6
6
  modified: modified
7
7
  scope: Amplekso
8
8
  symbols: Simboloj kai mallongigitaj terminoj
9
9
  annex: Aldono
10
- normref: Normaj citaĵoj
10
+ normref: Normaj citaĵoj
11
11
  bibliography: Bibliografio
12
12
  inform_annex: informa
13
- all_parts: ĉiuj partoj
13
+ all_parts: ĉiuj partoj
14
14
  norm_annex: normative
15
+ note: NOTO
15
16
  locality: {
16
17
  table: Tabelo
17
18
  }
18
19
  doctype_dict: {
19
- brochure: broŝuro,
20
+ brochure: broŝuro,
20
21
  conference proceedings: konferencaktoj
21
22
  }
22
23
  stage_dict: {
@@ -1455,6 +1455,7 @@ end
1455
1455
  <div id='_be9158af-7e93-4ee2-90c5-26d31c181934' style='page-break-after: avoid;page-break-inside: avoid;'><div class='formula'>
1456
1456
  <p>
1457
1457
  <span class='stem'>(#(r = 1 %)#)</span>
1458
+ <span style='mso-tab-count:1'>&#160; </span>
1458
1459
  </p>
1459
1460
  </div>
1460
1461
  <p>where</p>
@@ -180,11 +180,10 @@ RSpec.describe IsoDoc do
180
180
  </div>
181
181
  <p class="zzSTDTitle1"></p>
182
182
  </main>
183
- <script type="text/x-mathjax-config">
184
- MathJax.Hub.Config({
185
- asciimath2jax: { delimiters: [['(#(', ')#)']] }
186
- });
187
- </script>
183
+ <script type='text/x-mathjax-config'>
184
+ MathJax.Hub.Config({ "HTML-CSS": { preferredFont: "STIX" }, asciimath2jax:
185
+ { delimiters: [['(#(', ')#)']] } });
186
+ </script>
188
187
  <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=MML_HTMLorMML-full" async="async"></script>
189
188
  <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js"></script></body>
190
189
  OUTPUT
@@ -885,6 +885,8 @@ PRESXML
885
885
  <foreword obligation="informative">
886
886
  <title>Foreword</title>
887
887
  <p id="A">See <xref target="M"/></p>
888
+ <p id="A">See <xref target="tab"/></p>
889
+ <table id="tab"/>
888
890
  </foreword>
889
891
  <introduction id="B" obligation="informative"><title>Introduction</title><clause id="C" inline-header="false" obligation="informative">
890
892
  <title>Introduction Subsection</title>
@@ -916,6 +918,7 @@ PRESXML
916
918
  </definitions>
917
919
  <clause id="M" inline-header="false" obligation="normative"><title>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
918
920
  <title>Introduction</title>
921
+ <note id="M-n1"/>
919
922
  </clause>
920
923
  <clause id="O" inline-header="false" obligation="normative">
921
924
  <title>Clause 4.2</title>
@@ -971,7 +974,7 @@ PRESXML
971
974
  <localized-string key='foreword' language='eo'>Anta&#x16D;parolo</localized-string>
972
975
  <localized-string key='introduction' language='eo'>Enkonduko</localized-string>
973
976
  <localized-string key='clause' language='eo'>kla&#x16D;zo</localized-string>
974
- <localized-string key='table' language='eo'>Tabelo</localized-string>
977
+ <localized-string key='table' language='eo'>tabelo</localized-string>
975
978
  <localized-string key='source' language='eo'>SOURCE</localized-string>
976
979
  <localized-string key='modified' language='eo'>modified</localized-string>
977
980
  <localized-string key='scope' language='eo'>Amplekso</localized-string>
@@ -982,6 +985,7 @@ PRESXML
982
985
  <localized-string key='inform_annex' language='eo'>informa</localized-string>
983
986
  <localized-string key='all_parts' language='eo'>&#x109;iuj partoj</localized-string>
984
987
  <localized-string key='norm_annex' language='eo'>normative</localized-string>
988
+ <localized-string key='note' language='eo'>NOTO</localized-string>
985
989
  <localized-string key='locality.table' language='eo'>Tabelo</localized-string>
986
990
  <localized-string key='doctype_dict.brochure' language='eo'>bro&#x15D;uro</localized-string>
987
991
  <localized-string key='doctype_dict.conference_proceedings' language='eo'>konferencaktoj</localized-string>
@@ -998,6 +1002,10 @@ PRESXML
998
1002
  <foreword obligation="informative">
999
1003
  <title>Foreword</title>
1000
1004
  <p id='A'>See <xref target='M'>kla&#x16D;zo 5</xref></p>
1005
+ <p id='A'>See <xref target='tab'>tabelo 1</xref></p>
1006
+ <table id='tab'>
1007
+ <name>Tabelo 1</name>
1008
+ </table>
1001
1009
  </foreword>
1002
1010
  <introduction id="B" obligation="informative"><title>Introduction</title><clause id="C" inline-header="false" obligation="informative">
1003
1011
  <title depth="2">Introduction Subsection</title>
@@ -1029,6 +1037,7 @@ PRESXML
1029
1037
  </definitions>
1030
1038
  <clause id="M" inline-header="false" obligation="normative"><title depth="1">5.<tab/>Clause 4</title><clause id="N" inline-header="false" obligation="normative">
1031
1039
  <title depth="2">5.1.<tab/>Introduction</title>
1040
+ <note id='M-n1'><name>NOTO </name></note>
1032
1041
  </clause>
1033
1042
  <clause id="O" inline-header="false" obligation="normative">
1034
1043
  <title depth="2">5.2.<tab/>Clause 4.2</title>
@@ -1084,6 +1093,12 @@ PRESXML
1084
1093
  See
1085
1094
  <a href='#M'>kla&#365;zo 5</a>
1086
1095
  </p>
1096
+ <p id='A'>
1097
+ See
1098
+ <a href='#tab'>tabelo 1</a>
1099
+ </p>
1100
+ <p class='TableTitle' style='text-align:center;'>Tabelo 1</p>
1101
+ <table id='tab' class='MsoISOTable' style='border-width:1px;border-spacing:0;'/>
1087
1102
  </div>
1088
1103
  <br/>
1089
1104
  <div class='Section3' id='B'>
@@ -1136,6 +1151,12 @@ PRESXML
1136
1151
  <h1>5.&#160; Clause 4</h1>
1137
1152
  <div id='N'>
1138
1153
  <h2>5.1.&#160; Introduction</h2>
1154
+ <div id='M-n1' class='Note'>
1155
+ <p>
1156
+ <span class='note_label'>NOTO </span>
1157
+ &#160;
1158
+ </p>
1159
+ </div>
1139
1160
  </div>
1140
1161
  <div id='O'>
1141
1162
  <h2>5.2.&#160; Clause 4.2</h2>
@@ -1177,7 +1198,7 @@ PRESXML
1177
1198
  private
1178
1199
 
1179
1200
  def mock_i18n
1180
- allow_any_instance_of(::IsoDoc::I18n).to receive(:load_yaml).with("eo", "Latn", "spec/assets/i18n.yaml").and_return(YAML.load_file("spec/assets/i18n.yaml"))
1201
+ allow_any_instance_of(::IsoDoc::I18n).to receive(:load_yaml).with("eo", "Latn", "spec/assets/i18n.yaml").and_return(IsoDoc::I18n.new("eo", "Latn").normalise_hash(YAML.load_file("spec/assets/i18n.yaml")))
1181
1202
  end
1182
1203
 
1183
1204
  end
@@ -1,62 +1,6 @@
1
1
  require "spec_helper"
2
2
 
3
3
  RSpec.describe IsoDoc do
4
- it "cases xrefs" do
5
- expect(xmlpp(IsoDoc::PresentationXMLConvert.new({i18nyaml: "spec/assets/i18n.yaml"}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
6
- <iso-standard xmlns="http://riboseinc.com/isoxml">
7
- <sections>
8
- <clause id="A">
9
- <table id="B">
10
- </table>
11
- </clause>
12
- <clause id="C">
13
- <p>This is <xref target="A"/> and <xref target="B"/>.
14
- This is <xref target="A" case="capital"/> and <xref target="B" case="lowercase"/>.
15
- <xref target="A"/> is clause <em>initial.</em><br/>
16
- <xref target="A"/> is too. </p>
17
- <p><xref target="A"/> is also.</p>
18
- </clause>
19
- </sections>
20
- </iso-standard>
21
- INPUT
22
- <?xml version='1.0'?>
23
- <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
24
- <sections>
25
- <clause id='A'>
26
- <title>1.</title>
27
- <table id='B'>
28
- <name>Tabelo 1</name>
29
- </table>
30
- </clause>
31
- <clause id='C'>
32
- <title>2.</title>
33
- <p>
34
- This is
35
- <xref target='A'>kla&#x16D;zo 1</xref>
36
- and
37
- <xref target='B'>Tabelo 1</xref>
38
- . This is
39
- <xref target='A' case='capital'>Kla&#x16D;zo 1</xref>
40
- and
41
- <xref target='B' case='lowercase'>tabelo 1</xref>
42
- .
43
- <xref target='A'>Kla&#x16D;zo 1</xref>
44
- is clause
45
- <em>initial.</em>
46
- <br/>
47
- <xref target='A'>Kla&#x16D;zo 1</xref>
48
- is too.
49
- </p>
50
- <p>
51
- <xref target='A'>Kla&#x16D;zo 1</xref>
52
- is also.
53
- </p>
54
- </clause>
55
- </sections>
56
- </iso-standard>
57
- OUTPUT
58
- end
59
-
60
4
  it "droplocs xrefs" do
61
5
  expect(xmlpp(IsoDoc::PresentationXMLConvert.new({i18nyaml: "spec/assets/i18n.yaml"}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
62
6
  <iso-standard xmlns="http://riboseinc.com/isoxml">
@@ -280,119 +224,132 @@ OUTPUT
280
224
  </iso-standard>
281
225
  INPUT
282
226
  presxml = <<~OUTPUT
283
- <iso-standard xmlns="http://riboseinc.com/isoxml" type="presentation">
284
- <preface><foreword>
285
- <p>
286
- <ul>
287
- <li><concept term="term">
288
- <xref target="clause1">Clause 2</xref>
289
- </concept></li>
290
- <li><concept term="term">
291
- <xref target="clause1">w[o]rd</xref>
292
- </concept></li>
293
- <li><concept term="term">
294
- <eref bibitemid="ISO712" type="inline" citeas="ISO 712">ISO 712</eref>
295
- </concept></li>
296
- <li><concept term="term">
297
- <eref bibitemid="ISO712" type="inline" citeas="ISO 712">word</eref>
298
- </concept></li>
299
- <li><concept>
300
- <eref bibitemid="ISO712" type="inline" citeas="ISO 712"><locality type="clause">
301
- <referenceFrom>3.1</referenceFrom>
302
- </locality><locality type="figure">
303
- <referenceFrom>a</referenceFrom>
304
- </locality>ISO 712, Clause 3.1, Figure a</eref>
305
- </concept></li>
306
- <li><concept>
307
- <eref bibitemid="ISO712" type="inline" citeas="ISO 712"><localityStack>
308
- <locality type="clause">
309
- <referenceFrom>3.1</referenceFrom>
310
- </locality>
311
- </localityStack><localityStack>
312
- <locality type="figure">
313
- <referenceFrom>b</referenceFrom>
314
- </locality>
315
- </localityStack>ISO 712, Clause 3.1; Figure b</eref>
316
- </concept></li>
317
- <li><concept>
318
- <eref bibitemid="ISO712" type="inline" citeas="ISO 712">
319
- <localityStack>
320
- <locality type="clause">
321
- <referenceFrom>3.1</referenceFrom>
322
- </locality>
323
- </localityStack>
324
- <localityStack>
325
- <locality type="figure">
326
- <referenceFrom>b</referenceFrom>
327
- </locality>
328
- </localityStack>
329
- <em>word</em>
330
- </eref>
331
- </concept></li>
332
- <li><concept term="term">
333
- <termref base="IEV" target="135-13-13"/>
334
- </concept></li>
335
- <li><concept term="term">
336
- <termref base="IEV" target="135-13-13"><em>word</em> word</termref>
337
- </concept></li>
338
- </ul>
339
- </p>
340
- </foreword></preface>
341
- <sections>
342
- <clause id="clause1"><title depth='1'>2.<tab/>Clause 1</title>
343
- </clause>
344
- </sections>
345
- <bibliography><references id="_normative_references" obligation="informative" normative="true">
346
- <title depth='1'>1.<tab/>Normative References</title>
347
- <p>The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
348
- <bibitem id="ISO712" type="standard">
349
- <title format="text/plain">Cereals or cereal products</title>
350
- <title type="main" format="text/plain">Cereals and cereal products</title>
351
- <docidentifier type="ISO">ISO 712</docidentifier>
352
- <contributor>
353
- <role type="publisher"/>
354
- <organization>
355
- <name>International Organization for Standardization</name>
356
- </organization>
357
- </contributor>
358
- </bibitem>
359
- </references></bibliography>
360
- </iso-standard>
361
- OUTPUT
362
-
363
- html = <<~OUTPUT
364
- #{HTML_HDR}
365
- <br/>
366
- <div>
367
- <h1 class="ForewordTitle">Foreword</h1>
368
- <p>
369
- <ul>
370
- <li>Clause 2</li>
371
- <li>w[o]rd</li>
372
- <li>ISO 712</li>
373
- <li>word</li>
374
- <li>ISO 712, Clause 3.1, Figure a</li>
375
- <li>ISO 712, Clause 3.1; Figure b</li>
376
- <li><i>word</i></li>
377
- <li>[Term defined in Termbase IEV, term ID 135-13-13]</li>
378
- <li><i>word</i> word</li>
379
- </ul>
380
- </p>
381
- </div>
382
- <p class="zzSTDTitle1"/>
383
- <div><h1>1.&#160; Normative References</h1>
384
- <p>The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
385
- <p id="ISO712" class="NormRef">ISO 712, <i>Cereals and cereal products</i></p>
386
- </div>
387
- <div id="clause1">
388
- <h1>2.&#160; Clause 1</h1>
389
- </div>
390
- </div>
391
- </body>
392
- </html>
393
- OUTPUT
394
- expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", input, true))).to be_equivalent_to xmlpp(presxml)
395
- expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
227
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
228
+ <preface>
229
+ <foreword>
230
+ <p>
231
+ <ul>
232
+ <li>
233
+ <em>
234
+ <xref target='clause1'>Clause 2</xref>
235
+ </em>
236
+ </li>
237
+ <li>
238
+ <em>
239
+ <xref target='clause1'>w[o]rd</xref>
240
+ </em>
241
+ </li>
242
+ <li>
243
+ <em>
244
+ <eref bibitemid='ISO712' type='inline' citeas='ISO 712'>ISO 712</eref>
245
+ </em>
246
+ </li>
247
+ <li>
248
+ <em>
249
+ <eref bibitemid='ISO712' type='inline' citeas='ISO 712'>word</eref>
250
+ </em>
251
+ </li>
252
+ <li>
253
+ <em>
254
+ <eref bibitemid='ISO712' type='inline' citeas='ISO 712'>
255
+ <locality type='clause'>
256
+ <referenceFrom>3.1</referenceFrom>
257
+ </locality>
258
+ <locality type='figure'>
259
+ <referenceFrom>a</referenceFrom>
260
+ </locality>
261
+ ISO 712, Clause 3.1, Figure a
262
+ </eref>
263
+ </em>
264
+ </li>
265
+ <li>
266
+ <em>
267
+ <eref bibitemid='ISO712' type='inline' citeas='ISO 712'>
268
+ <localityStack>
269
+ <locality type='clause'>
270
+ <referenceFrom>3.1</referenceFrom>
271
+ </locality>
272
+ </localityStack>
273
+ <localityStack>
274
+ <locality type='figure'>
275
+ <referenceFrom>b</referenceFrom>
276
+ </locality>
277
+ </localityStack>
278
+ ISO 712, Clause 3.1; Figure b
279
+ </eref>
280
+ </em>
281
+ </li>
282
+ <li>
283
+ <em>
284
+ <eref bibitemid='ISO712' type='inline' citeas='ISO 712'>
285
+ <localityStack>
286
+ <locality type='clause'>
287
+ <referenceFrom>3.1</referenceFrom>
288
+ </locality>
289
+ </localityStack>
290
+ <localityStack>
291
+ <locality type='figure'>
292
+ <referenceFrom>b</referenceFrom>
293
+ </locality>
294
+ </localityStack>
295
+ <em>word</em>
296
+ </eref>
297
+ </em>
298
+ </li>
299
+ <li>
300
+ [term defined in
301
+ <termref base='IEV' target='135-13-13'/>
302
+ ]
303
+ </li>
304
+ <li>
305
+ <em>
306
+ <termref base='IEV' target='135-13-13'>
307
+ <em>word</em>
308
+ word
309
+ </termref>
310
+ </em>
311
+ </li>
312
+ </ul>
313
+ </p>
314
+ </foreword>
315
+ </preface>
316
+ <sections>
317
+ <clause id='clause1'>
318
+ <title depth='1'>
319
+ 2.
320
+ <tab/>
321
+ Clause 1
322
+ </title>
323
+ </clause>
324
+ </sections>
325
+ <bibliography>
326
+ <references id='_normative_references' obligation='informative' normative='true'>
327
+ <title depth='1'>
328
+ 1.
329
+ <tab/>
330
+ Normative References
331
+ </title>
332
+ <p>
333
+ The following documents are referred to in the text in such a way that
334
+ some or all of their content constitutes requirements of this document.
335
+ For dated references, only the edition cited applies. For undated
336
+ references, the latest edition of the referenced document (including any
337
+ amendments) applies.
338
+ </p>
339
+ <bibitem id='ISO712' type='standard'>
340
+ <title format='text/plain'>Cereals or cereal products</title>
341
+ <title type='main' format='text/plain'>Cereals and cereal products</title>
342
+ <docidentifier type='ISO'>ISO 712</docidentifier>
343
+ <contributor>
344
+ <role type='publisher'/>
345
+ <organization>
346
+ <name>International Organization for Standardization</name>
347
+ </organization>
348
+ </contributor>
349
+ </bibitem>
350
+ </references>
351
+ </bibliography>
352
+ </iso-standard>
396
353
  end
397
354
 
398
355
  it "processes embedded inline formatting" do
@@ -945,7 +902,7 @@ OUTPUT
945
902
  end
946
903
 
947
904
  it "processes variant" do
948
- expect(xmlpp(IsoDoc::HtmlConvert.new({}).convert("test", <<~"INPUT", true))).to be_equivalent_to xmlpp(<<~"OUTPUT")
905
+ expect(xmlpp(IsoDoc::PresentationXMLConvert.new({}).convert("test", <<~"INPUT", true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(<<~"OUTPUT")
949
906
  <iso-standard xmlns="http://riboseinc.com/isoxml">
950
907
  <bibdata>
951
908
  <language>en</language>
@@ -953,28 +910,46 @@ OUTPUT
953
910
  </bibdata>
954
911
  <preface>
955
912
  <clause id="A"><title><variant lang="en" script="Latn">ABC</variant><variant lang="fr" script="Latn">DEF</variant></title></clause>
913
+ <clause id="A1"><title><variant lang="en" script="Grek">ABC</variant><variant lang="fr" script="Grek">DEF</variant></title></clause>
914
+ <clause id="A2"><title><variant lang="en">ABC</variant><variant lang="fr">DEF</variant></title></clause>
956
915
  <clause id="B"><title><variant lang="de" script="Latn">GHI</variant><variant lang="es" script="Latn">JKL</variant></title></clause>
957
916
  <clause id="C"><title><variant lang="fr" script="Latn">ABC</variant><variant lang="en" script="Latn">DEF</variant></title></clause>
917
+ <clause id="C1"><title><variant lang="fr" script="Grek">ABC</variant><variant lang="en" script="Grek">DEF</variant></title></clause>
918
+ <clause id="C2"><title><variant lang="fr">ABC</variant><variant lang="en">DEF</variant></title></clause>
919
+ <p>A <variant><variant lang="en">B</variant><variant lang="fr">C</variant></variant> D <variant><variant lang="en" script="Latn">E</variant><variant lang="fr" script="Latn">F</variant></variant></p>
958
920
  </preface>
959
921
  </iso-standard>
960
922
  INPUT
961
- #{HTML_HDR}
962
- <br/>
963
- <div class='Section3' id='A'>
964
- <h1 class='IntroTitle'>ABC</h1>
965
- </div>
966
- <br/>
967
- <div class='Section3' id='B'>
968
- <h1 class='IntroTitle'>GHI</h1>
969
- </div>
970
- <br/>
971
- <div class='Section3' id='C'>
972
- <h1 class='IntroTitle'>DEF</h1>
973
- </div>
974
- <p class='zzSTDTitle1'/>
975
- </div>
976
- </body>
977
- </html>
923
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
924
+ <bibdata>
925
+ <language current='true'>en</language>
926
+ <script current='true'>Latn</script>
927
+ </bibdata>
928
+ <preface>
929
+ <clause id='A'>
930
+ <title depth='1'>ABC</title>
931
+ </clause>
932
+ <clause id='A1'>
933
+ <title depth='1'>ABC/DEF</title>
934
+ </clause>
935
+ <clause id='A2'>
936
+ <title depth='1'>ABC</title>
937
+ </clause>
938
+ <clause id='B'>
939
+ <title depth='1'>GHI/JKL</title>
940
+ </clause>
941
+ <clause id='C'>
942
+ <title depth='1'>DEF</title>
943
+ </clause>
944
+ <clause id='C1'>
945
+ <title depth='1'>ABC/DEF</title>
946
+ </clause>
947
+ <clause id='C2'>
948
+ <title depth='1'>DEF</title>
949
+ </clause>
950
+ <p>A B D E</p>
951
+ </preface>
952
+ </iso-standard>
978
953
  OUTPUT
979
954
  end
980
955
 
@@ -989,6 +964,7 @@ it "cases xrefs" do
989
964
  <clause id="C">
990
965
  <p>This is <xref target="A"/> and <xref target="B"/>.
991
966
  This is <xref target="A" case="capital"/> and <xref target="B" case="lowercase"/>.
967
+ This is <xref target="A" case="lowercase"/> and <xref target="B" case="capital"/>.
992
968
  <xref target="A"/> is clause <em>initial.</em><br/>
993
969
  <xref target="A"/> is too. </p>
994
970
  <p><xref target="A"/> is also.</p>
@@ -1011,11 +987,15 @@ INPUT
1011
987
  This is
1012
988
  <xref target='A'>kla&#x16D;zo 1</xref>
1013
989
  and
1014
- <xref target='B'>Tabelo 1</xref>
990
+ <xref target='B'>tabelo 1</xref>
1015
991
  . This is
1016
992
  <xref target='A' case='capital'>Kla&#x16D;zo 1</xref>
1017
993
  and
1018
994
  <xref target='B' case='lowercase'>tabelo 1</xref>
995
+ . This is
996
+ <xref target='A' case='lowercase'>kla&#x16D;zo 1</xref>
997
+ and
998
+ <xref target='B' case='capital'>Tabelo 1</xref>
1019
999
  .
1020
1000
  <xref target='A'>Kla&#x16D;zo 1</xref>
1021
1001
  is clause