metanorma-standoc 1.6.4 → 1.7.3
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.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +17 -0
- data/lib/asciidoctor/standoc/base.rb +8 -16
- data/lib/asciidoctor/standoc/basicdoc.rng +50 -3
- data/lib/asciidoctor/standoc/cleanup.rb +1 -1
- data/lib/asciidoctor/standoc/cleanup_block.rb +0 -8
- data/lib/asciidoctor/standoc/cleanup_boilerplate.rb +33 -20
- data/lib/asciidoctor/standoc/cleanup_inline.rb +3 -1
- data/lib/asciidoctor/standoc/cleanup_ref.rb +17 -24
- data/lib/asciidoctor/standoc/cleanup_terms.rb +4 -6
- data/lib/asciidoctor/standoc/converter.rb +4 -49
- data/lib/asciidoctor/standoc/front_contributor.rb +8 -4
- data/lib/asciidoctor/standoc/inline.rb +7 -5
- data/lib/asciidoctor/standoc/isodoc.rng +48 -3
- data/lib/asciidoctor/standoc/macros.rb +30 -61
- data/lib/asciidoctor/standoc/macros_terms.rb +82 -0
- data/lib/asciidoctor/standoc/ref.rb +12 -21
- data/lib/asciidoctor/standoc/section.rb +22 -20
- data/lib/asciidoctor/standoc/table.rb +12 -0
- data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +86 -0
- data/lib/asciidoctor/standoc/utils.rb +2 -0
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +1 -2
- data/spec/asciidoctor-standoc/base_spec.rb +14 -8
- data/spec/asciidoctor-standoc/blocks_spec.rb +14 -9
- data/spec/asciidoctor-standoc/cleanup_sections_spec.rb +18 -13
- data/spec/asciidoctor-standoc/cleanup_spec.rb +75 -11
- data/spec/asciidoctor-standoc/inline_spec.rb +4 -5
- data/spec/asciidoctor-standoc/macros_lutaml_spec.rb +1 -1
- data/spec/asciidoctor-standoc/macros_plantuml_spec.rb +307 -0
- data/spec/asciidoctor-standoc/macros_spec.rb +258 -277
- data/spec/asciidoctor-standoc/refs_dl_spec.rb +4 -4
- data/spec/asciidoctor-standoc/section_spec.rb +155 -12
- data/spec/asciidoctor-standoc/table_spec.rb +146 -0
- data/spec/fixtures/diagram_definitions.lutaml +4 -4
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +49 -49
- data/spec/vcr_cassettes/isobib_get_123.yml +13 -13
- data/spec/vcr_cassettes/isobib_get_123_1.yml +25 -25
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +33 -33
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +14 -14
- data/spec/vcr_cassettes/isobib_get_124.yml +14 -14
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +8 -8
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +71 -75
- metadata +7 -18
@@ -142,7 +142,7 @@ copyright::
|
|
142
142
|
abbreviation:::: ISO
|
143
143
|
url:::: www.iso.org
|
144
144
|
from::: 2014
|
145
|
-
to:::
|
145
|
+
to::: #{Time.now.year}
|
146
146
|
link::
|
147
147
|
type::: src
|
148
148
|
content::: https://www.iso.org/standard/53798.html
|
@@ -389,7 +389,7 @@ home run record in 1998.</note>
|
|
389
389
|
</status>
|
390
390
|
<copyright>
|
391
391
|
<from>2014</from>
|
392
|
-
<to
|
392
|
+
<to>#{Time.now.year}</to>
|
393
393
|
<owner>
|
394
394
|
<organization>
|
395
395
|
<name>International Organization for Standardization</name>
|
@@ -507,7 +507,7 @@ copyright.owner.name:: International Organization for Standardization
|
|
507
507
|
copyright.owner.abbreviation:: ISO
|
508
508
|
copyright.owner.url:: www.iso.org
|
509
509
|
copyright.from:: 2014
|
510
|
-
copyright.to::
|
510
|
+
copyright.to:: #{Time.now.year}
|
511
511
|
link::
|
512
512
|
link.type:: src
|
513
513
|
link.content:: https://www.iso.org/standard/53798.html
|
@@ -707,7 +707,7 @@ home run record in 1998.</note>
|
|
707
707
|
</status>
|
708
708
|
<copyright>
|
709
709
|
<from>2014</from>
|
710
|
-
<to
|
710
|
+
<to>#{Time.now.year}</to>
|
711
711
|
<owner>
|
712
712
|
<organization>
|
713
713
|
<name>International Organization for Standardization</name>
|
@@ -34,6 +34,11 @@ RSpec.describe Asciidoctor::Standoc do
|
|
34
34
|
|
35
35
|
== Terms, Definitions, Symbols and Abbreviated Terms
|
36
36
|
|
37
|
+
[.boilerplate]
|
38
|
+
=== Boilerplate
|
39
|
+
|
40
|
+
Boilerplate text
|
41
|
+
|
37
42
|
[.nonterm]
|
38
43
|
=== Introduction
|
39
44
|
|
@@ -111,12 +116,12 @@ RSpec.describe Asciidoctor::Standoc do
|
|
111
116
|
<title>Terms and definitions</title>
|
112
117
|
<p id="_">For the purposes of this document,
|
113
118
|
the following terms and definitions apply.</p>
|
114
|
-
<term id="
|
119
|
+
<term id="term-term1">
|
115
120
|
<preferred>Term1</preferred>
|
116
121
|
</term>
|
117
122
|
</terms>
|
118
123
|
<clause id="_" obligation="normative"><title>Terms, definitions, symbols and abbreviated terms</title>
|
119
|
-
|
124
|
+
<p id='_'>Boilerplate text</p>
|
120
125
|
<clause id="_" inline-header="false" obligation="normative">
|
121
126
|
<title>Introduction</title>
|
122
127
|
<clause id="_" inline-header="false" obligation="normative">
|
@@ -133,14 +138,14 @@ RSpec.describe Asciidoctor::Standoc do
|
|
133
138
|
<title>Intro 4</title>
|
134
139
|
<terms id="_" obligation="normative">
|
135
140
|
<title>Intro 5</title>
|
136
|
-
<term id="
|
141
|
+
<term id="term-term1-1">
|
137
142
|
<preferred>Term1</preferred>
|
138
143
|
</term>
|
139
144
|
</terms>
|
140
145
|
</clause>
|
141
146
|
<terms id="_" obligation="normative">
|
142
147
|
<title>Normal Terms</title>
|
143
|
-
<term id="
|
148
|
+
<term id="term-term2">
|
144
149
|
<preferred>Term2</preferred>
|
145
150
|
</term>
|
146
151
|
</terms>
|
@@ -181,6 +186,144 @@ RSpec.describe Asciidoctor::Standoc do
|
|
181
186
|
OUTPUT
|
182
187
|
end
|
183
188
|
|
189
|
+
it "processes sections with number attributes" do
|
190
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
191
|
+
#{ASCIIDOC_BLANK_HDR}
|
192
|
+
[number=1bis]
|
193
|
+
== Scope
|
194
|
+
|
195
|
+
Text
|
196
|
+
|
197
|
+
[number=2bis]
|
198
|
+
== Normative References
|
199
|
+
|
200
|
+
[number=3bis]
|
201
|
+
== Terms and Definitions
|
202
|
+
|
203
|
+
[number=4bis]
|
204
|
+
=== Term1
|
205
|
+
|
206
|
+
[number=5bis]
|
207
|
+
== Terms, Definitions, Symbols and Abbreviated Terms
|
208
|
+
|
209
|
+
[.nonterm,number=6bis]
|
210
|
+
=== Introduction
|
211
|
+
|
212
|
+
[number=7bis]
|
213
|
+
==== Intro 1
|
214
|
+
|
215
|
+
[number=8bis]
|
216
|
+
=== Intro 2
|
217
|
+
|
218
|
+
[number=9bis]
|
219
|
+
=== Symbols and Abbreviated Terms
|
220
|
+
|
221
|
+
[.nonterm,number=10bis]
|
222
|
+
==== General
|
223
|
+
|
224
|
+
[number=11bis]
|
225
|
+
==== Symbols
|
226
|
+
|
227
|
+
[number=12bis]
|
228
|
+
== Abbreviated Terms
|
229
|
+
|
230
|
+
[number=13bis]
|
231
|
+
== Clause 4
|
232
|
+
|
233
|
+
[number=14bis]
|
234
|
+
=== Introduction
|
235
|
+
|
236
|
+
[number=15bis]
|
237
|
+
=== Clause 4.2
|
238
|
+
|
239
|
+
[number=16bis]
|
240
|
+
== Terms and Definitions
|
241
|
+
|
242
|
+
[appendix,number=17bis]
|
243
|
+
== Annex
|
244
|
+
|
245
|
+
[number=18bis]
|
246
|
+
=== Annex A.1
|
247
|
+
|
248
|
+
[bibliography,number=19bis]
|
249
|
+
== Bibliography
|
250
|
+
|
251
|
+
[number=20bis]
|
252
|
+
=== Bibliography Subsection
|
253
|
+
INPUT
|
254
|
+
#{BLANK_HDR}
|
255
|
+
<sections>
|
256
|
+
<clause id='_' number='1bis' type='scope' inline-header='false' obligation='normative'>
|
257
|
+
<title>Scope</title>
|
258
|
+
<p id='_'>Text</p>
|
259
|
+
</clause>
|
260
|
+
<terms id='_' number='3bis' obligation='normative'>
|
261
|
+
<title>Terms and definitions</title>
|
262
|
+
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
263
|
+
<term id='term-term1' number='4bis'>
|
264
|
+
<preferred>Term1</preferred>
|
265
|
+
</term>
|
266
|
+
</terms>
|
267
|
+
<terms id='_' number='5bis' obligation='normative'>
|
268
|
+
<title>Terms, definitions, symbols and abbreviated terms</title>
|
269
|
+
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
270
|
+
<clause id='_' number='6bis' inline-header='false' obligation='normative'>
|
271
|
+
<title>Introduction</title>
|
272
|
+
<clause id='_' number='7bis' inline-header='false' obligation='normative'>
|
273
|
+
<title>Intro 1</title>
|
274
|
+
</clause>
|
275
|
+
</clause>
|
276
|
+
<term id='term-intro-2' number='8bis'>
|
277
|
+
<preferred>Intro 2</preferred>
|
278
|
+
</term>
|
279
|
+
<definitions id='_' number='9bis' obligation='normative'>
|
280
|
+
<title>Symbols and abbreviated terms</title>
|
281
|
+
<clause id='_' number='10bis' inline-header='false' obligation='normative'>
|
282
|
+
<title>General</title>
|
283
|
+
</clause>
|
284
|
+
<definitions id='_' number='11bis' type='symbols' obligation='normative'>
|
285
|
+
<title>Symbols</title>
|
286
|
+
</definitions>
|
287
|
+
</definitions>
|
288
|
+
</terms>
|
289
|
+
<definitions id='_' number='12bis' type='abbreviated_terms' obligation='normative'>
|
290
|
+
<title>Abbreviated terms</title>
|
291
|
+
</definitions>
|
292
|
+
<clause id='_' number='13bis' inline-header='false' obligation='normative'>
|
293
|
+
<title>Clause 4</title>
|
294
|
+
<clause id='_' number='14bis' inline-header='false' obligation='normative'>
|
295
|
+
<title>Introduction</title>
|
296
|
+
</clause>
|
297
|
+
<clause id='_' number='15bis' inline-header='false' obligation='normative'>
|
298
|
+
<title>Clause 4.2</title>
|
299
|
+
</clause>
|
300
|
+
</clause>
|
301
|
+
<clause id='_' number='16bis' inline-header='false' obligation='normative'>
|
302
|
+
<title>Terms and Definitions</title>
|
303
|
+
</clause>
|
304
|
+
</sections>
|
305
|
+
<annex id='_' number='17bis' inline-header='false' obligation='normative'>
|
306
|
+
<title>Annex</title>
|
307
|
+
<clause id='_' number='18bis' inline-header='false' obligation='normative'>
|
308
|
+
<title>Annex A.1</title>
|
309
|
+
</clause>
|
310
|
+
</annex>
|
311
|
+
<bibliography>
|
312
|
+
<references id='_' number='2bis' normative='true' obligation='informative'>
|
313
|
+
<title>Normative references</title>
|
314
|
+
<p id='_'>There are no normative references in this document.</p>
|
315
|
+
</references>
|
316
|
+
<clause id='_' number='19bis' obligation='informative'>
|
317
|
+
<title>Bibliography</title>
|
318
|
+
<references id='_' number='20bis' normative='false' obligation='informative'>
|
319
|
+
<title>Bibliography Subsection</title>
|
320
|
+
</references>
|
321
|
+
</clause>
|
322
|
+
</bibliography>
|
323
|
+
</standard-document>
|
324
|
+
OUTPUT
|
325
|
+
end
|
326
|
+
|
184
327
|
it "processes sections with language and script attributes" do
|
185
328
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
186
329
|
#{ASCIIDOC_BLANK_HDR}
|
@@ -317,7 +460,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
317
460
|
<title>Terms and definitions</title>
|
318
461
|
<p id="_">For the purposes of this document,
|
319
462
|
the following terms and definitions apply.</p>
|
320
|
-
<term id="
|
463
|
+
<term id="term-term1" language="en" script="Latn">
|
321
464
|
<preferred>Term1</preferred>
|
322
465
|
</term>
|
323
466
|
</terms>
|
@@ -339,14 +482,14 @@ RSpec.describe Asciidoctor::Standoc do
|
|
339
482
|
<title>Intro 4</title>
|
340
483
|
<terms id="_" language="en" script="Latn" obligation="normative">
|
341
484
|
<title>Intro 5</title>
|
342
|
-
<term id="
|
485
|
+
<term id="term-term1-1">
|
343
486
|
<preferred>Term1</preferred>
|
344
487
|
</term>
|
345
488
|
</terms>
|
346
489
|
</clause>
|
347
490
|
<terms id="_" language="en" script="Latn" obligation="normative">
|
348
491
|
<title>Normal Terms</title>
|
349
|
-
<term id="
|
492
|
+
<term id="term-term2">
|
350
493
|
<preferred>Term2</preferred>
|
351
494
|
</term>
|
352
495
|
</terms>
|
@@ -468,7 +611,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
468
611
|
<terms id='_' obligation='normative'>
|
469
612
|
<title>Terms and definitions</title>
|
470
613
|
<p id="_">For the purposes of this document, the following terms and definitions apply.</p>
|
471
|
-
<term id='
|
614
|
+
<term id='term-term1'>
|
472
615
|
<preferred>Term1</preferred>
|
473
616
|
</term>
|
474
617
|
</terms>
|
@@ -477,7 +620,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
477
620
|
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
478
621
|
<terms id='_' obligation='normative'>
|
479
622
|
<title>Normal Terms</title>
|
480
|
-
<term id='
|
623
|
+
<term id='term-term2'>
|
481
624
|
<preferred>Term2</preferred>
|
482
625
|
</term>
|
483
626
|
</terms>
|
@@ -536,7 +679,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
536
679
|
<terms id='_' obligation='normative'>
|
537
680
|
<title>Terms, definitions and symbols</title>
|
538
681
|
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
539
|
-
<term id='
|
682
|
+
<term id='term-term'>
|
540
683
|
<preferred>Term</preferred>
|
541
684
|
</term>
|
542
685
|
<definitions id='_' obligation="normative" type="symbols">
|
@@ -565,7 +708,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
565
708
|
<terms id='_' obligation='normative'>
|
566
709
|
<title>Terms, definitions and abbreviated terms</title>
|
567
710
|
<p id='_'>For the purposes of this document, the following terms and definitions apply.</p>
|
568
|
-
<term id='
|
711
|
+
<term id='term-term'>
|
569
712
|
<preferred>Term</preferred>
|
570
713
|
</term>
|
571
714
|
<definitions id='_' obligation="normative" type="abbreviated_terms">
|
@@ -710,7 +853,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
710
853
|
<terms id="_" obligation="normative">
|
711
854
|
<title>Terms and definitions</title><p id="_">For the purposes of this document, the terms and definitions
|
712
855
|
given in <eref bibitemid="iso1234"/> and <eref bibitemid="iso5678"/> and the following apply.</p>
|
713
|
-
<term id="
|
856
|
+
<term id="term-term1">
|
714
857
|
<preferred>Term1</preferred>
|
715
858
|
</term>
|
716
859
|
</terms></sections>
|
@@ -35,6 +35,152 @@ RSpec.describe Asciidoctor::Standoc do
|
|
35
35
|
OUTPUT
|
36
36
|
end
|
37
37
|
|
38
|
+
it "processes table widths" do
|
39
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
40
|
+
#{ASCIIDOC_BLANK_HDR}
|
41
|
+
[width=75%]
|
42
|
+
|===
|
43
|
+
|A
|
44
|
+
|B
|
45
|
+
|===
|
46
|
+
|
47
|
+
[width=75]
|
48
|
+
|===
|
49
|
+
|A
|
50
|
+
|B
|
51
|
+
|===
|
52
|
+
|
53
|
+
[width=575]
|
54
|
+
|===
|
55
|
+
|A
|
56
|
+
|B
|
57
|
+
|===
|
58
|
+
|
59
|
+
INPUT
|
60
|
+
#{BLANK_HDR}
|
61
|
+
<sections>
|
62
|
+
<table id='_' width='75%'>
|
63
|
+
<tbody>
|
64
|
+
<tr>
|
65
|
+
<td valign='top' align='left'>A</td>
|
66
|
+
</tr>
|
67
|
+
<tr>
|
68
|
+
<td valign='top' align='left'>B</td>
|
69
|
+
</tr>
|
70
|
+
</tbody>
|
71
|
+
</table>
|
72
|
+
<table id='_' width='75'>
|
73
|
+
<tbody>
|
74
|
+
<tr>
|
75
|
+
<td valign='top' align='left'>A</td>
|
76
|
+
</tr>
|
77
|
+
<tr>
|
78
|
+
<td valign='top' align='left'>B</td>
|
79
|
+
</tr>
|
80
|
+
</tbody>
|
81
|
+
</table>
|
82
|
+
<table id='_' width='575'>
|
83
|
+
<tbody>
|
84
|
+
<tr>
|
85
|
+
<td valign='top' align='left'>A</td>
|
86
|
+
</tr>
|
87
|
+
<tr>
|
88
|
+
<td valign='top' align='left'>B</td>
|
89
|
+
</tr>
|
90
|
+
</tbody>
|
91
|
+
</table>
|
92
|
+
</sections>
|
93
|
+
</standard-document>
|
94
|
+
|
95
|
+
OUTPUT
|
96
|
+
end
|
97
|
+
|
98
|
+
it "processes column widths in tables" do
|
99
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
100
|
+
#{ASCIIDOC_BLANK_HDR}
|
101
|
+
[cols=".<,.^,^.>"]
|
102
|
+
|===
|
103
|
+
|A |B |C
|
104
|
+
|
105
|
+
|1 |2 |3
|
106
|
+
|===
|
107
|
+
|
108
|
+
[cols="3"]
|
109
|
+
|===
|
110
|
+
|A |B |C
|
111
|
+
|
112
|
+
|1 |2 |3
|
113
|
+
|===
|
114
|
+
|
115
|
+
|
116
|
+
[cols="1,2,6"]
|
117
|
+
|===
|
118
|
+
|A |B |C
|
119
|
+
|
120
|
+
|1 |2 |3
|
121
|
+
|===
|
122
|
+
INPUT
|
123
|
+
#{BLANK_HDR}
|
124
|
+
<sections>
|
125
|
+
<table id='_'>
|
126
|
+
<thead>
|
127
|
+
<tr>
|
128
|
+
<th valign='top' align='left'>A</th>
|
129
|
+
<th valign='middle' align='left'>B</th>
|
130
|
+
<th valign='bottom' align='center'>C</th>
|
131
|
+
</tr>
|
132
|
+
</thead>
|
133
|
+
<tbody>
|
134
|
+
<tr>
|
135
|
+
<td valign='top' align='left'>1</td>
|
136
|
+
<td valign='middle' align='left'>2</td>
|
137
|
+
<td valign='bottom' align='center'>3</td>
|
138
|
+
</tr>
|
139
|
+
</tbody>
|
140
|
+
</table>
|
141
|
+
<table id='_'>
|
142
|
+
<thead>
|
143
|
+
<tr>
|
144
|
+
<th valign='top' align='left'>A</th>
|
145
|
+
<th valign='top' align='left'>B</th>
|
146
|
+
<th valign='top' align='left'>C</th>
|
147
|
+
</tr>
|
148
|
+
</thead>
|
149
|
+
<tbody>
|
150
|
+
<tr>
|
151
|
+
<td valign='top' align='left'>1</td>
|
152
|
+
<td valign='top' align='left'>2</td>
|
153
|
+
<td valign='top' align='left'>3</td>
|
154
|
+
</tr>
|
155
|
+
</tbody>
|
156
|
+
</table>
|
157
|
+
<table id='_'>
|
158
|
+
<colgroup>
|
159
|
+
<col width='11.1111%'/>
|
160
|
+
<col width='22.2222%'/>
|
161
|
+
<col width='66.6667%'/>
|
162
|
+
</colgroup>
|
163
|
+
<thead>
|
164
|
+
<tr>
|
165
|
+
<th valign='top' align='left'>A</th>
|
166
|
+
<th valign='top' align='left'>B</th>
|
167
|
+
<th valign='top' align='left'>C</th>
|
168
|
+
</tr>
|
169
|
+
</thead>
|
170
|
+
<tbody>
|
171
|
+
<tr>
|
172
|
+
<td valign='top' align='left'>1</td>
|
173
|
+
<td valign='top' align='left'>2</td>
|
174
|
+
<td valign='top' align='left'>3</td>
|
175
|
+
</tr>
|
176
|
+
</tbody>
|
177
|
+
</table>
|
178
|
+
</sections>
|
179
|
+
</standard-document>
|
180
|
+
OUTPUT
|
181
|
+
end
|
182
|
+
|
183
|
+
|
38
184
|
it "inserts header rows in a table with a name and no header" do
|
39
185
|
expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
|
40
186
|
#{ASCIIDOC_BLANK_HDR}
|
@@ -3,20 +3,20 @@ diagram MyView {
|
|
3
3
|
|
4
4
|
enum AddressClassProfile {
|
5
5
|
imlicistAttributeProfile: CharacterString [0..1] {
|
6
|
-
definition
|
6
|
+
definition {
|
7
7
|
this is multiline with `ascidoc`
|
8
8
|
comments
|
9
9
|
and list
|
10
|
-
|
10
|
+
}
|
11
11
|
}
|
12
12
|
}
|
13
13
|
|
14
14
|
class AttributeProfile {
|
15
15
|
+addressClassProfile: CharacterString [0..1]
|
16
16
|
imlicistAttributeProfile: CharacterString [0..1] {
|
17
|
-
definition this is attribute definition
|
17
|
+
definition { this is attribute definition
|
18
18
|
with multiply lines
|
19
|
-
|
19
|
+
}
|
20
20
|
}
|
21
21
|
}
|
22
22
|
}
|