metanorma-standoc 1.10.1 → 1.10.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/standoc/cleanup.rb +61 -0
- data/lib/asciidoctor/standoc/converter.rb +4 -0
- data/lib/asciidoctor/standoc/datamodel/diagram_preprocessor.rb +22 -21
- data/lib/asciidoctor/standoc/isodoc.rng +12 -0
- data/lib/asciidoctor/standoc/macros.rb +18 -0
- data/lib/asciidoctor/standoc/ref.rb +60 -56
- data/lib/asciidoctor/standoc/reqt.rb +39 -27
- data/lib/asciidoctor/standoc/reqt.rng +7 -0
- data/lib/asciidoctor/standoc/term_lookup_cleanup.rb +1 -1
- data/lib/asciidoctor/standoc/validate_section.rb +2 -1
- data/lib/metanorma/standoc/version.rb +1 -1
- data/metanorma-standoc.gemspec +1 -1
- data/spec/asciidoctor/blocks_spec.rb +45 -25
- data/spec/asciidoctor/cleanup_sections_spec.rb +899 -864
- data/spec/asciidoctor/cleanup_spec.rb +56 -6
- data/spec/asciidoctor/macros_plantuml_spec.rb +165 -104
- data/spec/asciidoctor/macros_spec.rb +277 -0
- data/spec/fixtures/datamodel_description_sections_tree.xml +327 -0
- data/spec/fixtures/test.xmi +9250 -0
- data/spec/support/shared_examples/structured_data_2_text_preprocessor.rb +34 -34
- data/spec/vcr_cassettes/dated_iso_ref_joint_iso_iec.yml +50 -50
- data/spec/vcr_cassettes/isobib_get_123.yml +11 -11
- data/spec/vcr_cassettes/isobib_get_123_1.yml +23 -23
- data/spec/vcr_cassettes/isobib_get_123_1_fr.yml +35 -35
- data/spec/vcr_cassettes/isobib_get_123_2001.yml +12 -12
- data/spec/vcr_cassettes/isobib_get_124.yml +11 -11
- data/spec/vcr_cassettes/rfcbib_get_rfc8341.yml +14 -14
- data/spec/vcr_cassettes/separates_iev_citations_by_top_level_clause.yml +46 -46
- metadata +6 -4
@@ -663,6 +663,75 @@ RSpec.describe Asciidoctor::Standoc do
|
|
663
663
|
.to be_equivalent_to xmlpp(output)
|
664
664
|
end
|
665
665
|
|
666
|
+
it "processes the concept macros with disambiguation for math symbols" do
|
667
|
+
input = <<~INPUT
|
668
|
+
#{ASCIIDOC_BLANK_HDR}
|
669
|
+
[[clause1]]
|
670
|
+
|
671
|
+
== Symbols and Abbreviated Terms
|
672
|
+
stem:[|~ x ~|]:: A function that returns the smallest integer greater than or equal to stem:[x]; also known as the _ceiling_ function.
|
673
|
+
stem:[|__ x __|]:: A function that returns the largest integer less than or equal to stem:[x]; also known as the _floor_ function.
|
674
|
+
INPUT
|
675
|
+
output = <<~OUTPUT
|
676
|
+
#{BLANK_HDR}
|
677
|
+
<sections>
|
678
|
+
<definitions id='clause1' obligation='normative'>
|
679
|
+
<title>Symbols and abbreviated terms</title>
|
680
|
+
<dl id='_'>
|
681
|
+
<dt id='symbol-_-_x_-'>
|
682
|
+
<stem type='MathML'>
|
683
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
684
|
+
<mo>⌊</mo>
|
685
|
+
<mi>x</mi>
|
686
|
+
<mo>⌋</mo>
|
687
|
+
</math>
|
688
|
+
</stem>
|
689
|
+
</dt>
|
690
|
+
<dd>
|
691
|
+
<p id='_'>
|
692
|
+
A function that returns the largest integer less than or equal to
|
693
|
+
<stem type='MathML'>
|
694
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
695
|
+
<mi>x</mi>
|
696
|
+
</math>
|
697
|
+
</stem>
|
698
|
+
; also known as the
|
699
|
+
<em>floor</em>
|
700
|
+
function.
|
701
|
+
</p>
|
702
|
+
</dd>
|
703
|
+
<dt id='symbol-_-_x_--1'>
|
704
|
+
<stem type='MathML'>
|
705
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
706
|
+
<mo>⌈</mo>
|
707
|
+
<mi>x</mi>
|
708
|
+
<mo>⌉</mo>
|
709
|
+
</math>
|
710
|
+
</stem>
|
711
|
+
</dt>
|
712
|
+
<dd>
|
713
|
+
<p id='_'>
|
714
|
+
A function that returns the smallest integer greater than or equal
|
715
|
+
to
|
716
|
+
<stem type='MathML'>
|
717
|
+
<math xmlns='http://www.w3.org/1998/Math/MathML'>
|
718
|
+
<mi>x</mi>
|
719
|
+
</math>
|
720
|
+
</stem>
|
721
|
+
; also known as the
|
722
|
+
<em>ceiling</em>
|
723
|
+
function.
|
724
|
+
</p>
|
725
|
+
</dd>
|
726
|
+
</dl>
|
727
|
+
</definitions>
|
728
|
+
</sections>
|
729
|
+
</standard-document>
|
730
|
+
OUTPUT
|
731
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
732
|
+
.to be_equivalent_to xmlpp(output)
|
733
|
+
end
|
734
|
+
|
666
735
|
it "processes the TODO custom admonition" do
|
667
736
|
input = <<~INPUT
|
668
737
|
#{ASCIIDOC_BLANK_HDR}
|
@@ -1062,6 +1131,105 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1062
1131
|
.to be_equivalent_to xmlpp(output)
|
1063
1132
|
end
|
1064
1133
|
|
1134
|
+
it "processes ToC form macros" do
|
1135
|
+
input = <<~INPUT
|
1136
|
+
#{ASCIIDOC_BLANK_HDR}
|
1137
|
+
|
1138
|
+
[[clause1]]
|
1139
|
+
== Clause 1
|
1140
|
+
|
1141
|
+
[[clause1A]]
|
1142
|
+
=== Clause 1A
|
1143
|
+
|
1144
|
+
[[clause1Aa]]
|
1145
|
+
==== Clause 1Aa
|
1146
|
+
|
1147
|
+
[[clause1Ab]]
|
1148
|
+
==== Clause 1Ab
|
1149
|
+
|
1150
|
+
[[clause1B]]
|
1151
|
+
=== Clause 1B
|
1152
|
+
|
1153
|
+
[[clause1Ba]]
|
1154
|
+
==== Clause 1Ba
|
1155
|
+
|
1156
|
+
[[clause2]]
|
1157
|
+
== Clause 2
|
1158
|
+
|
1159
|
+
And introducing:
|
1160
|
+
toc:["//clause[@id = 'clause1'\\]/clause/title","//clause[@id = 'clause1'\\]/clause/clause/title:2"]
|
1161
|
+
|
1162
|
+
toc:["//clause[@id = 'clause1'\\]/clause/title"]
|
1163
|
+
INPUT
|
1164
|
+
output = <<~OUTPUT
|
1165
|
+
#{BLANK_HDR}
|
1166
|
+
<sections>
|
1167
|
+
<clause id='clause1' inline-header='false' obligation='normative'>
|
1168
|
+
<title>Clause 1</title>
|
1169
|
+
<clause id='clause1A' inline-header='false' obligation='normative'>
|
1170
|
+
<title>Clause 1A</title>
|
1171
|
+
<clause id='clause1Aa' inline-header='false' obligation='normative'>
|
1172
|
+
<title>Clause 1Aa</title>
|
1173
|
+
</clause>
|
1174
|
+
<clause id='clause1Ab' inline-header='false' obligation='normative'>
|
1175
|
+
<title>Clause 1Ab</title>
|
1176
|
+
</clause>
|
1177
|
+
</clause>
|
1178
|
+
<clause id='clause1B' inline-header='false' obligation='normative'>
|
1179
|
+
<title>Clause 1B</title>
|
1180
|
+
<clause id='clause1Ba' inline-header='false' obligation='normative'>
|
1181
|
+
<title>Clause 1Ba</title>
|
1182
|
+
</clause>
|
1183
|
+
</clause>
|
1184
|
+
</clause>
|
1185
|
+
<clause id='clause2' inline-header='false' obligation='normative'>
|
1186
|
+
<title>Clause 2</title>
|
1187
|
+
<p id='_'>And introducing: </p>
|
1188
|
+
<toc>
|
1189
|
+
<ul id='_'>
|
1190
|
+
<li>
|
1191
|
+
<xref target='clause1A'>Clause 1A</xref>
|
1192
|
+
</li>
|
1193
|
+
<li>
|
1194
|
+
<ul id='_'>
|
1195
|
+
<li>
|
1196
|
+
<xref target='clause1Aa'>Clause 1Aa</xref>
|
1197
|
+
</li>
|
1198
|
+
<li>
|
1199
|
+
<xref target='clause1Ab'>Clause 1Ab</xref>
|
1200
|
+
</li>
|
1201
|
+
</ul>
|
1202
|
+
</li>
|
1203
|
+
<li>
|
1204
|
+
<xref target='clause1B'>Clause 1B</xref>
|
1205
|
+
</li>
|
1206
|
+
<li>
|
1207
|
+
<ul id='_'>
|
1208
|
+
<li>
|
1209
|
+
<xref target='clause1Ba'>Clause 1Ba</xref>
|
1210
|
+
</li>
|
1211
|
+
</ul>
|
1212
|
+
</li>
|
1213
|
+
</ul>
|
1214
|
+
</toc>
|
1215
|
+
<toc>
|
1216
|
+
<ul id='_'>
|
1217
|
+
<li>
|
1218
|
+
<xref target='clause1A'>Clause 1A</xref>
|
1219
|
+
</li>
|
1220
|
+
<li>
|
1221
|
+
<xref target='clause1B'>Clause 1B</xref>
|
1222
|
+
</li>
|
1223
|
+
</ul>
|
1224
|
+
</toc>
|
1225
|
+
</clause>
|
1226
|
+
</sections>
|
1227
|
+
</standard-document>
|
1228
|
+
OUTPUT
|
1229
|
+
expect(xmlpp(strip_guid(Asciidoctor.convert(input, *OPTIONS))))
|
1230
|
+
.to be_equivalent_to xmlpp(output)
|
1231
|
+
end
|
1232
|
+
|
1065
1233
|
describe "term inline macros" do
|
1066
1234
|
subject(:convert) do
|
1067
1235
|
xmlpp(
|
@@ -1373,4 +1541,113 @@ RSpec.describe Asciidoctor::Standoc do
|
|
1373
1541
|
end
|
1374
1542
|
end
|
1375
1543
|
end
|
1544
|
+
|
1545
|
+
describe "lutaml_figure macro" do
|
1546
|
+
let(:example_file) { fixtures_path("test.xmi") }
|
1547
|
+
let(:input) do
|
1548
|
+
<<~TEXT
|
1549
|
+
= Document title
|
1550
|
+
Author
|
1551
|
+
:docfile: test.adoc
|
1552
|
+
:nodoc:
|
1553
|
+
:novalid:
|
1554
|
+
:no-isobib:
|
1555
|
+
:imagesdir: spec/assets
|
1556
|
+
|
1557
|
+
[lutaml_uml_datamodel_description,#{example_file}]
|
1558
|
+
--
|
1559
|
+
--
|
1560
|
+
|
1561
|
+
This is lutaml_figure::[package="Wrapper root package", name="Fig B1 Full model"] figure
|
1562
|
+
TEXT
|
1563
|
+
end
|
1564
|
+
let(:output) do
|
1565
|
+
'<xref target="figure-EAID_0E029ABF_C35A_49e3_9EEA_FFD4F32780A8">'
|
1566
|
+
end
|
1567
|
+
|
1568
|
+
it "correctly renders input" do
|
1569
|
+
expect(strip_src(xml_string_conent(metanorma_process(input))))
|
1570
|
+
.to(include(output))
|
1571
|
+
end
|
1572
|
+
end
|
1573
|
+
|
1574
|
+
describe "lutaml_uml_datamodel_description macro" do
|
1575
|
+
subject(:convert) do
|
1576
|
+
xmlpp(
|
1577
|
+
strip_guid(
|
1578
|
+
Asciidoctor.convert(
|
1579
|
+
input, *OPTIONS
|
1580
|
+
),
|
1581
|
+
),
|
1582
|
+
)
|
1583
|
+
end
|
1584
|
+
|
1585
|
+
let(:example_file) { fixtures_path("test.xmi") }
|
1586
|
+
let(:input) do
|
1587
|
+
<<~TEXT
|
1588
|
+
= Document title
|
1589
|
+
Author
|
1590
|
+
:docfile: test.adoc
|
1591
|
+
:nodoc:
|
1592
|
+
:novalid:
|
1593
|
+
:no-isobib:
|
1594
|
+
:imagesdir: spec/assets
|
1595
|
+
|
1596
|
+
[lutaml_uml_datamodel_description,#{example_file}]
|
1597
|
+
--
|
1598
|
+
[.diagram_include_block, base_path="requirements/"]
|
1599
|
+
...
|
1600
|
+
Diagram text
|
1601
|
+
...
|
1602
|
+
|
1603
|
+
[.include_block, package="Another", base_path="spec/fixtures/"]
|
1604
|
+
...
|
1605
|
+
my text
|
1606
|
+
...
|
1607
|
+
|
1608
|
+
[.include_block, base_path="spec/fixtures/"]
|
1609
|
+
...
|
1610
|
+
my text
|
1611
|
+
...
|
1612
|
+
|
1613
|
+
[.before]
|
1614
|
+
...
|
1615
|
+
mine text
|
1616
|
+
...
|
1617
|
+
|
1618
|
+
[.before, package="Another"]
|
1619
|
+
...
|
1620
|
+
text before Another package
|
1621
|
+
...
|
1622
|
+
|
1623
|
+
[.after, package="Another"]
|
1624
|
+
...
|
1625
|
+
text after Another package
|
1626
|
+
...
|
1627
|
+
|
1628
|
+
[.after, package="CityGML"]
|
1629
|
+
...
|
1630
|
+
text after CityGML package
|
1631
|
+
...
|
1632
|
+
|
1633
|
+
[.after]
|
1634
|
+
...
|
1635
|
+
footer text
|
1636
|
+
...
|
1637
|
+
--
|
1638
|
+
TEXT
|
1639
|
+
end
|
1640
|
+
let(:output) do
|
1641
|
+
<<~TEXT
|
1642
|
+
#{BLANK_HDR}
|
1643
|
+
#{File.read(fixtures_path('datamodel_description_sections_tree.xml'))}
|
1644
|
+
</standard-document>
|
1645
|
+
TEXT
|
1646
|
+
end
|
1647
|
+
|
1648
|
+
it "correctly renders input" do
|
1649
|
+
expect(convert)
|
1650
|
+
.to(be_equivalent_to(xmlpp(output)))
|
1651
|
+
end
|
1652
|
+
end
|
1376
1653
|
end
|
@@ -0,0 +1,327 @@
|
|
1
|
+
<preface>
|
2
|
+
<foreword id='_' obligation='informative'>
|
3
|
+
<title>Foreword</title>
|
4
|
+
<p id='_'>mine text</p>
|
5
|
+
</foreword>
|
6
|
+
</preface>
|
7
|
+
<sections>
|
8
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
9
|
+
<title>Wrapper nested package package</title>
|
10
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
11
|
+
<title>Wrapper nested package overview</title>
|
12
|
+
<p id='_'>Diagram text</p>
|
13
|
+
<figure id='figure-EAID_0E029ABF_C35A_49e3_9EEA_FFD4F32780A8'>
|
14
|
+
<name>Fig B1 Full model</name>
|
15
|
+
<image src='spec/assets/requirements//EAID_0E029ABF_C35A_49e3_9EEA_FFD4F32780A8.png' id='_' mimetype='image/png' height='auto' width='auto'/>
|
16
|
+
</figure>
|
17
|
+
<p id='_'>The Wrapper nested package package is organized into 1 packages:</p>
|
18
|
+
<ol id='_' type='arabic'>
|
19
|
+
<li>
|
20
|
+
<p id='_'>ISO 19135 Procedures for item registration XML package</p>
|
21
|
+
</li>
|
22
|
+
</ol>
|
23
|
+
<p id='_'>mine text</p>
|
24
|
+
</clause>
|
25
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
26
|
+
<title>ISO 19135 Procedures for item registration XML package</title>
|
27
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
28
|
+
<title>ISO 19135 Procedures for item registration XML overview</title>
|
29
|
+
<p id='_'>Diagram text</p>
|
30
|
+
<figure id='figure-EAID_0E029ABF_C35A_49e3_9EEA_FFD4F32780A8'>
|
31
|
+
<name>Fig B1 Full model</name>
|
32
|
+
<image src='spec/assets/requirements//EAID_0E029ABF_C35A_49e3_9EEA_FFD4F32780A8.png' id='_' mimetype='image/png' height='auto' width='auto'/>
|
33
|
+
</figure>
|
34
|
+
</clause>
|
35
|
+
<clause id='_' inline-header='false' obligation='normative'>
|
36
|
+
<title>Defining tables</title>
|
37
|
+
<table id='tab-P-iso_19135_procedures_for_item_registration_xml-C-re_register' width='100%'>
|
38
|
+
<name>Elements of ISO 19135 Procedures for item registration XML::RE_Register</name>
|
39
|
+
<tbody>
|
40
|
+
<tr>
|
41
|
+
<th valign='top' align='left'>Name:</th>
|
42
|
+
<td colspan='7' valign='top' align='left'>
|
43
|
+
<p id='_'>RE_Register</p>
|
44
|
+
</td>
|
45
|
+
</tr>
|
46
|
+
<tr>
|
47
|
+
<th valign='top' align='left'>Definition:</th>
|
48
|
+
<td colspan='7' valign='top' align='left'>
|
49
|
+
<p id='_'>
|
50
|
+
The class “RE_Register” specifies information
|
51
|
+
about the register itself. It is a subtype of the Register
|
52
|
+
class in the core profile.
|
53
|
+
</p>
|
54
|
+
</td>
|
55
|
+
</tr>
|
56
|
+
<tr>
|
57
|
+
<th valign='top' align='left'>Stereotype:</th>
|
58
|
+
<td colspan='7' valign='top' align='left'>
|
59
|
+
<p id='_'>interface</p>
|
60
|
+
</td>
|
61
|
+
</tr>
|
62
|
+
<tr>
|
63
|
+
<th valign='top' align='left'>Inheritance from:</th>
|
64
|
+
<td colspan='7' valign='top' align='left'>
|
65
|
+
<p id='_'>Register</p>
|
66
|
+
</td>
|
67
|
+
</tr>
|
68
|
+
<tr>
|
69
|
+
<th valign='top' align='left'>Generalization of:</th>
|
70
|
+
<td colspan='7' valign='top' align='left'>
|
71
|
+
<p id='_'>TermRegister, CL_ClassificationRegister, LC_LCMLRegister</p>
|
72
|
+
</td>
|
73
|
+
</tr>
|
74
|
+
<tr>
|
75
|
+
<th valign='top' align='left'>Abstract:</th>
|
76
|
+
<td colspan='7' valign='top' align='left'>
|
77
|
+
<p id='_'>false</p>
|
78
|
+
</td>
|
79
|
+
</tr>
|
80
|
+
<tr>
|
81
|
+
<th valign='top' rowspan='2' align='left'>Associations:</th>
|
82
|
+
<td colspan='4' valign='top' align='left'>
|
83
|
+
<p id='_'>
|
84
|
+
<em>Association with:</em>
|
85
|
+
</p>
|
86
|
+
</td>
|
87
|
+
<td valign='top' align='left'>
|
88
|
+
<p id='_'>
|
89
|
+
<em>Obligation</em>
|
90
|
+
</p>
|
91
|
+
</td>
|
92
|
+
<td valign='top' align='left'>
|
93
|
+
<p id='_'>
|
94
|
+
<em>Maximum occurrence</em>
|
95
|
+
</p>
|
96
|
+
</td>
|
97
|
+
<td valign='top' align='left'>
|
98
|
+
<p id='_'>
|
99
|
+
<em>Provides:</em>
|
100
|
+
</p>
|
101
|
+
</td>
|
102
|
+
</tr>
|
103
|
+
<tr>
|
104
|
+
<td colspan='4' valign='top' align='left'>
|
105
|
+
<p id='_'>RE_ReferenceSource</p>
|
106
|
+
</td>
|
107
|
+
<td valign='top' align='left'>
|
108
|
+
<p id='_'>C</p>
|
109
|
+
</td>
|
110
|
+
<td valign='top' align='left'>
|
111
|
+
<p id='_'>*</p>
|
112
|
+
</td>
|
113
|
+
<td valign='top' align='left'>
|
114
|
+
<p id='_'>citation</p>
|
115
|
+
</td>
|
116
|
+
</tr>
|
117
|
+
<tr>
|
118
|
+
<th valign='top' rowspan='6' align='left'>Public attributes:</th>
|
119
|
+
<td valign='top' align='left'>
|
120
|
+
<p id='_'>
|
121
|
+
<em>Name</em>
|
122
|
+
</p>
|
123
|
+
</td>
|
124
|
+
<td colspan='2' valign='top' align='left'>
|
125
|
+
<p id='_'>
|
126
|
+
<em>Definition</em>
|
127
|
+
</p>
|
128
|
+
</td>
|
129
|
+
<td valign='top' align='left'>
|
130
|
+
<p id='_'>
|
131
|
+
<em>Derived</em>
|
132
|
+
</p>
|
133
|
+
</td>
|
134
|
+
<td valign='top' align='left'>
|
135
|
+
<p id='_'>
|
136
|
+
<em>Obligation</em>
|
137
|
+
</p>
|
138
|
+
</td>
|
139
|
+
<td valign='top' align='left'>
|
140
|
+
<p id='_'>
|
141
|
+
<em>Maximum occurrence</em>
|
142
|
+
</p>
|
143
|
+
</td>
|
144
|
+
<td valign='top' align='left'>
|
145
|
+
<p id='_'>
|
146
|
+
<em>Data type</em>
|
147
|
+
</p>
|
148
|
+
</td>
|
149
|
+
</tr>
|
150
|
+
<tr>
|
151
|
+
<td valign='top' align='left'>
|
152
|
+
<p id='_'>alternativeLanguages</p>
|
153
|
+
</td>
|
154
|
+
<td colspan='2' valign='top' align='left'>
|
155
|
+
<p id='_'>
|
156
|
+
The attribute “alternativeLanguages” supports
|
157
|
+
cultural and linguistic adaptability, individual items in a
|
158
|
+
register may provide elements of information in additional
|
159
|
+
languages other than the operating language of the register.
|
160
|
+
The attribute
|
161
|
+
<em>alternativeLanguages</em>
|
162
|
+
shall be represented as a set of instances of RE_Locale,
|
163
|
+
each specifying an additional unique locale used by items in
|
164
|
+
the register. Every member of the set shall be used by at
|
165
|
+
least one item in the register. The
|
166
|
+
<em>locale</em>
|
167
|
+
of every
|
168
|
+
<em>alternativeExpression</em>
|
169
|
+
used by any item in the register shall be included in this
|
170
|
+
set of RE_Locales. This attribute provides a summary of
|
171
|
+
alternative locales used by items in a register. Register
|
172
|
+
owners shall specify and publish their policy as to whether
|
173
|
+
all or only some of the items in a register shall have
|
174
|
+
alternative expressions.
|
175
|
+
</p>
|
176
|
+
</td>
|
177
|
+
<td valign='top' align='left'/>
|
178
|
+
<td valign='top' align='left'>
|
179
|
+
<p id='_'>C</p>
|
180
|
+
</td>
|
181
|
+
<td valign='top' align='left'>
|
182
|
+
<p id='_'>1</p>
|
183
|
+
</td>
|
184
|
+
<td valign='top' align='left'>
|
185
|
+
<p id='_'>Set<RE_Locale></p>
|
186
|
+
</td>
|
187
|
+
</tr>
|
188
|
+
<tr>
|
189
|
+
<td valign='top' align='left'>
|
190
|
+
<p id='_'>contentSummary</p>
|
191
|
+
</td>
|
192
|
+
<td colspan='2' valign='top' align='left'>
|
193
|
+
<p id='_'>
|
194
|
+
The attribute “contentSummary” is be represented
|
195
|
+
as a CharacterString containing a general statement of the
|
196
|
+
purpose for which items in the register are made available
|
197
|
+
to potential users. It should also specify any limits to the
|
198
|
+
scope of the register and identify the types of applications
|
199
|
+
for which the items are intended. NOTE The scope of a
|
200
|
+
register could be limited by theme, by region, by language
|
201
|
+
or other criteria. EXAMPLE The scope of a terminology
|
202
|
+
register could be limited to Spanish terms used to describe
|
203
|
+
landforms in Latin America.
|
204
|
+
</p>
|
205
|
+
</td>
|
206
|
+
<td valign='top' align='left'/>
|
207
|
+
<td valign='top' align='left'>
|
208
|
+
<p id='_'>M</p>
|
209
|
+
</td>
|
210
|
+
<td valign='top' align='left'>
|
211
|
+
<p id='_'>1</p>
|
212
|
+
</td>
|
213
|
+
<td valign='top' align='left'>
|
214
|
+
<p id='_'>CharacterString</p>
|
215
|
+
</td>
|
216
|
+
</tr>
|
217
|
+
<tr>
|
218
|
+
<td valign='top' align='left'>
|
219
|
+
<p id='_'>name</p>
|
220
|
+
</td>
|
221
|
+
<td colspan='2' valign='top' align='left'>
|
222
|
+
<p id='_'>
|
223
|
+
The attribute “name” is be represented as a
|
224
|
+
CharacterString containing a compact and human-readable
|
225
|
+
designator that is used to uniquely denote that register
|
226
|
+
within the set of registers maintained by the register
|
227
|
+
owner. In the case of a hierarchical register, the “
|
228
|
+
<em>name”</em>
|
229
|
+
of a subregister shall uniquely identify that subregister
|
230
|
+
within the scope EXAMPLE �ISO/TC 211
|
231
|
+
Register of Feature Data Dictionaries and Feature
|
232
|
+
Catalogues� might be the name of the
|
233
|
+
principal register of of all registers established by the
|
234
|
+
owner of the principal register. a hierarchical register.
|
235
|
+
�DGIWG FACC Data
|
236
|
+
Dictionary� and �IHO S-57
|
237
|
+
Object Dictionary� might be the names of
|
238
|
+
subregisters within the hierarchy.
|
239
|
+
</p>
|
240
|
+
</td>
|
241
|
+
<td valign='top' align='left'/>
|
242
|
+
<td valign='top' align='left'>
|
243
|
+
<p id='_'>M</p>
|
244
|
+
</td>
|
245
|
+
<td valign='top' align='left'>
|
246
|
+
<p id='_'>1</p>
|
247
|
+
</td>
|
248
|
+
<td valign='top' align='left'>
|
249
|
+
<p id='_'>CharacterString</p>
|
250
|
+
</td>
|
251
|
+
</tr>
|
252
|
+
<tr>
|
253
|
+
<td valign='top' align='left'>
|
254
|
+
<p id='_'>operatingLanguage</p>
|
255
|
+
</td>
|
256
|
+
<td colspan='2' valign='top' align='left'>
|
257
|
+
<p id='_'>
|
258
|
+
The attribute “operatingLanguage” is represented
|
259
|
+
as an instance of class RE_Locale that is used to specify
|
260
|
+
language, country information and character encoding for the
|
261
|
+
proper interpretation of the content of character strings in
|
262
|
+
the register. The values of all character strings in the
|
263
|
+
register shall be in accordance with the value of
|
264
|
+
“operatingLanguage”, unless otherwise stated.
|
265
|
+
</p>
|
266
|
+
</td>
|
267
|
+
<td valign='top' align='left'/>
|
268
|
+
<td valign='top' align='left'>
|
269
|
+
<p id='_'>M</p>
|
270
|
+
</td>
|
271
|
+
<td valign='top' align='left'>
|
272
|
+
<p id='_'>1</p>
|
273
|
+
</td>
|
274
|
+
<td valign='top' align='left'>
|
275
|
+
<p id='_'>EAID_3996125E_4828_4f3c_93BD_605E9059DE05</p>
|
276
|
+
</td>
|
277
|
+
</tr>
|
278
|
+
<tr>
|
279
|
+
<td valign='top' align='left'>
|
280
|
+
<p id='_'>uniformResourceIdentifier</p>
|
281
|
+
</td>
|
282
|
+
<td colspan='2' valign='top' align='left'>
|
283
|
+
<p id='_'>
|
284
|
+
The attribute “uniformResourceIdentifier” takes
|
285
|
+
as its value a set of URI’s, each referencing
|
286
|
+
information about online resources associated with the
|
287
|
+
register. EXAMPLE
|
288
|
+
�http://www.digest.org/Navigate2.htm� and �http://www.epa.gov/opppmsd1/PPISdata/index.html� are sample valuescorresponding value of the attribute
|
289
|
+
<em>OnLineResource.linkage</em>
|
290
|
+
specifies a resource providing access to the complete
|
291
|
+
content of the register. EXAMPLE
|
292
|
+
�http://www.digest.org/Navigate2.htm� and �http://www.epa.gov/opppmsd1/PPISdata/index.html� are sample values of
|
293
|
+
<em>OnLineResource.linkage</em>
|
294
|
+
.
|
295
|
+
</p>
|
296
|
+
</td>
|
297
|
+
<td valign='top' align='left'/>
|
298
|
+
<td valign='top' align='left'>
|
299
|
+
<p id='_'>M</p>
|
300
|
+
</td>
|
301
|
+
<td valign='top' align='left'>
|
302
|
+
<p id='_'>*</p>
|
303
|
+
</td>
|
304
|
+
<td valign='top' align='left'>
|
305
|
+
<p id='_'>URI</p>
|
306
|
+
</td>
|
307
|
+
</tr>
|
308
|
+
<tr>
|
309
|
+
<td valign='top' align='left'>
|
310
|
+
<p id='_'>
|
311
|
+
<strong>Constraints:</strong>
|
312
|
+
</p>
|
313
|
+
</td>
|
314
|
+
<td colspan='7' valign='top' align='left'>
|
315
|
+
<p id='_'>
|
316
|
+
<tt>count(self.version +self.dateOfLastChange) >= 1</tt>
|
317
|
+
</p>
|
318
|
+
</td>
|
319
|
+
</tr>
|
320
|
+
</tbody>
|
321
|
+
</table>
|
322
|
+
<p id='_'>footer text</p>
|
323
|
+
<p id='_'>footer text</p>
|
324
|
+
</clause>
|
325
|
+
</clause>
|
326
|
+
</clause>
|
327
|
+
</sections>
|