metanorma-ogc 2.4.9 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/ogc/i18n-en.yaml +1 -0
- data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +4 -2
- data/lib/isodoc/ogc/ogc.best-practice.xsl +4 -2
- data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +4 -2
- data/lib/isodoc/ogc/ogc.community-practice.xsl +4 -2
- data/lib/isodoc/ogc/ogc.community-standard.xsl +4 -2
- data/lib/isodoc/ogc/ogc.discussion-paper.xsl +4 -2
- data/lib/isodoc/ogc/ogc.draft-standard.xsl +4 -2
- data/lib/isodoc/ogc/ogc.engineering-report.xsl +4 -2
- data/lib/isodoc/ogc/ogc.other.xsl +4 -2
- data/lib/isodoc/ogc/ogc.policy.xsl +4 -2
- data/lib/isodoc/ogc/ogc.reference-model.xsl +4 -2
- data/lib/isodoc/ogc/ogc.release-notes.xsl +4 -2
- data/lib/isodoc/ogc/ogc.standard.xsl +4 -2
- data/lib/isodoc/ogc/ogc.test-suite.xsl +4 -2
- data/lib/isodoc/ogc/ogc.user-guide.xsl +4 -2
- data/lib/isodoc/ogc/ogc.white-paper.xsl +4 -2
- data/lib/isodoc/ogc/presentation_sections.rb +112 -0
- data/lib/isodoc/ogc/presentation_xml_convert.rb +79 -104
- data/lib/metanorma/ogc/basicdoc.rng +91 -8
- data/lib/metanorma/ogc/biblio-standoc.rng +44 -1
- data/lib/metanorma/ogc/biblio.rng +11 -0
- data/lib/metanorma/ogc/cleanup.rb +9 -8
- data/lib/metanorma/ogc/converter.rb +5 -2
- data/lib/metanorma/ogc/isodoc.rng +10 -64
- data/lib/metanorma/ogc/reqt.rng +0 -16
- data/lib/metanorma/ogc/version.rb +1 -1
- data/metanorma-ogc.gemspec +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cfcf839845ca523b4dbcba32c4bd689498e6e0a2c7c5ecb2a171dd3c7bce4934
|
|
4
|
+
data.tar.gz: 60dd01126c0591afd6d82b1aaa23d7a1e15e46081e04c1bf68be10c85ad73358
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9c7334090d5271c9e01570baa42b6bf9f91934599989e491739ee27c8289385c62584f1527ea1184f87119a3bc08340c5ea00a4c1f2e726ac0b944fb16a10004
|
|
7
|
+
data.tar.gz: 35281f49a9263c900c1ea614b3b0aca5ba9fe00b0cfa528f11e3641cdf36f03c17caa9b06995a9ef4f07dde9d1b14f206066afe1523666bb0a4a45227349ad7b
|
data/lib/isodoc/ogc/i18n-en.yaml
CHANGED
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -10197,14 +10197,16 @@
|
|
|
10197
10197
|
|
|
10198
10198
|
<xsl:template match="*[local-name() = 'annex']">
|
|
10199
10199
|
<fo:block break-after="page"/>
|
|
10200
|
-
<fo:block
|
|
10200
|
+
<fo:block>
|
|
10201
10201
|
|
|
10202
10202
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
10203
10203
|
|
|
10204
10204
|
<xsl:call-template name="refine_annex_style"/>
|
|
10205
10205
|
|
|
10206
10206
|
</fo:block>
|
|
10207
|
-
<
|
|
10207
|
+
<fo:block id="{@id}">
|
|
10208
|
+
<xsl:apply-templates/>
|
|
10209
|
+
</fo:block>
|
|
10208
10210
|
</xsl:template>
|
|
10209
10211
|
|
|
10210
10212
|
<xsl:template name="refine_annex_style">
|
|
@@ -9248,14 +9248,16 @@
|
|
|
9248
9248
|
|
|
9249
9249
|
<xsl:template match="*[local-name() = 'annex']">
|
|
9250
9250
|
<fo:block break-after="page"/>
|
|
9251
|
-
<fo:block
|
|
9251
|
+
<fo:block>
|
|
9252
9252
|
|
|
9253
9253
|
<xsl:call-template name="setBlockSpanAll"/>
|
|
9254
9254
|
|
|
9255
9255
|
<xsl:call-template name="refine_annex_style"/>
|
|
9256
9256
|
|
|
9257
9257
|
</fo:block>
|
|
9258
|
-
<
|
|
9258
|
+
<fo:block id="{@id}">
|
|
9259
|
+
<xsl:apply-templates/>
|
|
9260
|
+
</fo:block>
|
|
9259
9261
|
</xsl:template>
|
|
9260
9262
|
|
|
9261
9263
|
<xsl:template name="refine_annex_style">
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
module IsoDoc
|
|
2
|
+
module Ogc
|
|
3
|
+
class PresentationXMLConvert < IsoDoc::PresentationXMLConvert
|
|
4
|
+
def middle_title(docxml); end
|
|
5
|
+
|
|
6
|
+
def preface_rearrange(doc)
|
|
7
|
+
super
|
|
8
|
+
insert_preface_sections(doc)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def insert_preface_sections(doc)
|
|
12
|
+
preface_insert(doc.at(ns("//preface/clause" \
|
|
13
|
+
"[@type = 'executivesummary']")),
|
|
14
|
+
doc.at(ns("//preface/abstract")), doc)
|
|
15
|
+
preface_insert(doc.at(ns("//preface//submitters")),
|
|
16
|
+
submit_orgs_append_pt(doc), doc)
|
|
17
|
+
insert_submitting_orgs(doc)
|
|
18
|
+
preface_insert(doc.at(ns("//preface/clause[@type = 'security']")),
|
|
19
|
+
submit_orgs_append_pt(doc), doc)
|
|
20
|
+
insert_keywords(doc)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def preface_init_insert_pt(docxml)
|
|
24
|
+
docxml.at(ns("//preface")) ||
|
|
25
|
+
docxml.at(ns("//sections"))
|
|
26
|
+
.add_previous_sibling("<preface> </preface>").first
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def preface_insert(clause, after, docxml)
|
|
30
|
+
clause or return
|
|
31
|
+
clause.remove
|
|
32
|
+
if after then after.next = clause
|
|
33
|
+
else
|
|
34
|
+
preface_init_insert_pt(docxml)&.children&.first
|
|
35
|
+
&.add_previous_sibling(clause)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def submit_orgs_append_pt(docxml)
|
|
40
|
+
docxml.at(ns("//foreword")) ||
|
|
41
|
+
docxml.at(ns("//preface/clause[@type = 'keywords']")) ||
|
|
42
|
+
docxml.at(ns("//preface/clause[@type = 'executivesummary']")) ||
|
|
43
|
+
docxml.at(ns("//preface/abstract"))
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def insert_submitting_orgs(docxml)
|
|
47
|
+
orgs = docxml.xpath(ns(submittingorgs_path))
|
|
48
|
+
.each_with_object([]) { |org, m| m << org.text }
|
|
49
|
+
orgs.empty? and return
|
|
50
|
+
if a = submit_orgs_append_pt(docxml)
|
|
51
|
+
a.next = submitting_orgs_clause(orgs)
|
|
52
|
+
else
|
|
53
|
+
preface_init_insert_pt(docxml)&.children&.first
|
|
54
|
+
&.add_previous_sibling(submitting_orgs_clause(orgs))
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def submitting_orgs_clause(orgs)
|
|
59
|
+
<<~SUBMITTING
|
|
60
|
+
<clause id="_#{UUIDTools::UUID.random_create}" type="submitting_orgs">
|
|
61
|
+
<title>Submitting Organizations</title>
|
|
62
|
+
<p>The following organizations submitted this Document to the Open Geospatial Consortium (OGC):</p>
|
|
63
|
+
<ul>#{orgs.map { |m| "<li>#{m}</li>" }.join("\n")}</ul>
|
|
64
|
+
</clause>
|
|
65
|
+
SUBMITTING
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def keyword_clause(kwords)
|
|
69
|
+
<<~KEYWORDS
|
|
70
|
+
<clause id="_#{UUIDTools::UUID.random_create}" type="keywords">
|
|
71
|
+
<title>Keywords</title>
|
|
72
|
+
<p>The following are keywords to be used by search engines and document catalogues.</p>
|
|
73
|
+
<p>#{kwords.join(', ')}</p></clause>
|
|
74
|
+
KEYWORDS
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def insert_keywords(docxml)
|
|
78
|
+
kw = @meta.get[:keywords]
|
|
79
|
+
kw.empty? and return
|
|
80
|
+
if abstract =
|
|
81
|
+
docxml.at(ns("//preface/clause[@type = 'executivesummary']")) ||
|
|
82
|
+
docxml.at(ns("//preface/abstract"))
|
|
83
|
+
abstract.next = keyword_clause(kw)
|
|
84
|
+
else
|
|
85
|
+
preface_init_insert_pt(docxml)&.children&.first
|
|
86
|
+
&.add_previous_sibling(keyword_clause(kw))
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def annex1(elem)
|
|
91
|
+
lbl = @xrefs.anchor(elem["id"], :label)
|
|
92
|
+
t = elem.at(ns("./title")) and
|
|
93
|
+
t.children = "<strong>#{to_xml(t.children)}</strong>"
|
|
94
|
+
prefix_name(elem, "<br/>", lbl, "title")
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def clause(docxml)
|
|
98
|
+
super
|
|
99
|
+
docxml.xpath(ns("//foreword | //preface/abstract | " \
|
|
100
|
+
"//submitters | //introduction | //acknowledgements"))
|
|
101
|
+
.each { |f| clause1(f) }
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def clause1(elem)
|
|
105
|
+
elem.name == "terms" && elem.parent.name == "annex" &&
|
|
106
|
+
elem.parent.xpath(ns("./terms")).size == 1 and return
|
|
107
|
+
elem.name == "clause" && elem["type"] == "toc" and return
|
|
108
|
+
super
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require_relative "init"
|
|
2
|
-
require "uuidtools"
|
|
3
2
|
require_relative "../../relaton/render/general"
|
|
3
|
+
require_relative "presentation_sections"
|
|
4
4
|
|
|
5
5
|
module IsoDoc
|
|
6
6
|
module Ogc
|
|
@@ -10,8 +10,6 @@ module IsoDoc
|
|
|
10
10
|
super
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
def middle_title(docxml); end
|
|
14
|
-
|
|
15
13
|
def convert1(docxml, filename, dir)
|
|
16
14
|
info docxml, nil
|
|
17
15
|
super
|
|
@@ -21,123 +19,100 @@ module IsoDoc
|
|
|
21
19
|
File.read(File.join(@libdir, "html", "rouge.css"))
|
|
22
20
|
end
|
|
23
21
|
|
|
24
|
-
def
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
submit_orgs_append_pt(doc), doc)
|
|
35
|
-
insert_submitting_orgs(doc)
|
|
36
|
-
preface_insert(doc.at(ns("//preface/clause[@type = 'security']")),
|
|
37
|
-
submit_orgs_append_pt(doc), doc)
|
|
38
|
-
insert_keywords(doc)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def preface_init_insert_pt(docxml)
|
|
42
|
-
docxml.at(ns("//preface")) ||
|
|
43
|
-
docxml.at(ns("//sections"))
|
|
44
|
-
.add_previous_sibling("<preface> </preface>").first
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def preface_insert(clause, after, docxml)
|
|
48
|
-
clause or return
|
|
49
|
-
clause.remove
|
|
50
|
-
if after then after.next = clause
|
|
51
|
-
else
|
|
52
|
-
preface_init_insert_pt(docxml)&.children&.first
|
|
53
|
-
&.add_previous_sibling(clause)
|
|
22
|
+
def example1(elem)
|
|
23
|
+
lbl = @xrefs.anchor(elem["id"], :label, false) or return
|
|
24
|
+
prefix_name(elem, block_delim, l10n("#{@i18n.example} #{lbl}"),
|
|
25
|
+
"name")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def bibdata(docxml)
|
|
29
|
+
docxml.xpath(ns("//bibdata/contributor[@type = 'author']")).each do |a|
|
|
30
|
+
a.at(ns("./description"))&.text == "contributor" and
|
|
31
|
+
a["type"] = "contributor"
|
|
54
32
|
end
|
|
33
|
+
super
|
|
34
|
+
dochistory_insert(docxml)
|
|
55
35
|
end
|
|
56
36
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
37
|
+
UPDATE_RELATIONS = <<~XPATH.freeze
|
|
38
|
+
//bibdata/relation[@type = 'updatedBy' or @type = 'merges' or @type = 'splits' or @type = 'hasDraft']/bibitem
|
|
39
|
+
XPATH
|
|
40
|
+
|
|
41
|
+
def dochistory_insert(docxml)
|
|
42
|
+
updates = docxml.xpath(ns(UPDATE_RELATIONS))
|
|
43
|
+
updates.empty? and return
|
|
44
|
+
fwd = annex_insert_point(docxml)
|
|
45
|
+
generate_dochistory(updates, fwd)
|
|
62
46
|
end
|
|
63
47
|
|
|
64
|
-
def
|
|
65
|
-
|
|
66
|
-
.each_with_object([]) { |org, m| m << org.text }
|
|
67
|
-
orgs.empty? and return
|
|
68
|
-
if a = submit_orgs_append_pt(docxml)
|
|
69
|
-
a.next = submitting_orgs_clause(orgs)
|
|
70
|
-
else
|
|
71
|
-
preface_init_insert_pt(docxml)&.children&.first
|
|
72
|
-
&.add_previous_sibling(submitting_orgs_clause(orgs))
|
|
73
|
-
end
|
|
48
|
+
def annex_insert_point(docxml)
|
|
49
|
+
docxml.at(ns("//annex[last()]")) || docxml.at(ns("//sections"))
|
|
74
50
|
end
|
|
75
51
|
|
|
76
|
-
def
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
<<~KEYWORDS
|
|
88
|
-
<clause id="_#{UUIDTools::UUID.random_create}" type="keywords">
|
|
89
|
-
<title>Keywords</title>
|
|
90
|
-
<p>The following are keywords to be used by search engines and document catalogues.</p>
|
|
91
|
-
<p>#{kwords.join(', ')}</p></clause>
|
|
92
|
-
KEYWORDS
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
def insert_keywords(docxml)
|
|
96
|
-
kw = @meta.get[:keywords]
|
|
97
|
-
kw.empty? and return
|
|
98
|
-
if abstract =
|
|
99
|
-
docxml.at(ns("//preface/clause[@type = 'executivesummary']")) ||
|
|
100
|
-
docxml.at(ns("//preface/abstract"))
|
|
101
|
-
abstract.next = keyword_clause(kw)
|
|
102
|
-
else
|
|
103
|
-
preface_init_insert_pt(docxml)&.children&.first
|
|
104
|
-
&.add_previous_sibling(keyword_clause(kw))
|
|
105
|
-
end
|
|
52
|
+
def generate_dochistory(updates, pref)
|
|
53
|
+
ret = updates.map { |u| generate_dochistory_row(u) }.flatten.join("\n")
|
|
54
|
+
pref.next = <<~XML
|
|
55
|
+
<annex id='_#{UUIDTools::UUID.random_create}' obligation='informative'>
|
|
56
|
+
<title>#{@i18n.dochistory}</title>
|
|
57
|
+
<table><thead>
|
|
58
|
+
<tr><th>Date</th><th>Release</th><th>Author</th><th>Paragraph Modified</th><th>Description</th></tr>
|
|
59
|
+
</thead><tbody>
|
|
60
|
+
#{ret}
|
|
61
|
+
</tbody></table></annex>
|
|
62
|
+
XML
|
|
106
63
|
end
|
|
107
64
|
|
|
108
|
-
def
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
65
|
+
def generate_dochistory_row(item)
|
|
66
|
+
e = item.at(ns("./edition")) || item.at(ns("./version/draft"))
|
|
67
|
+
date = dochistory_date(item)
|
|
68
|
+
c = dochistory_contributors(item)
|
|
69
|
+
l = dochistory_location(item)
|
|
70
|
+
desc = dochistory_description(item)
|
|
71
|
+
"<tr><td>#{date}</td><td>#{e&.text}</td><td>#{c}</td>" \
|
|
72
|
+
"<td>#{l}</td><td>#{desc}</td></tr>"
|
|
112
73
|
end
|
|
113
74
|
|
|
114
|
-
def
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
75
|
+
def dochistory_date(item)
|
|
76
|
+
d = item.at(ns("./date[@type = 'updated']")) ||
|
|
77
|
+
item.at(ns("./date[@type = 'published']")) ||
|
|
78
|
+
item.at(ns("./date[@type = 'issued']")) or return ""
|
|
79
|
+
d.text.strip
|
|
119
80
|
end
|
|
120
81
|
|
|
121
|
-
def
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
.each { |f| clause1(f) }
|
|
82
|
+
def dochistory_contributors(item)
|
|
83
|
+
item.xpath(ns("./contributor")).map do |c|
|
|
84
|
+
dochistory_contributor(c)
|
|
85
|
+
end.join(", ")
|
|
126
86
|
end
|
|
127
87
|
|
|
128
|
-
def
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
88
|
+
def dochistory_contributor(contrib)
|
|
89
|
+
ret = contrib.at("./organization/subdivision") ||
|
|
90
|
+
contrib.at("./organization/name") ||
|
|
91
|
+
contrib.at("./person/name/abbreviation") ||
|
|
92
|
+
contrib.at("./person/name/completename")
|
|
93
|
+
ret and return ret.text
|
|
94
|
+
format_personalname(contrib)
|
|
133
95
|
end
|
|
134
96
|
|
|
135
|
-
def
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
97
|
+
def format_personalname(contrib)
|
|
98
|
+
Relaton::Render::Ogc::General
|
|
99
|
+
.new(template: { book: "{{ creatornames }}" })
|
|
100
|
+
.render("<bibitem type='book'>#{contrib.to_xml}</bibitem>",
|
|
101
|
+
embedded: true)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def dochistory_description(item)
|
|
105
|
+
d = item.at(ns("./amend/description")) or return ""
|
|
106
|
+
d.children.to_xml
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def dochistory_location(item)
|
|
110
|
+
t = item.at(ns("./amend/location")) or return "All"
|
|
111
|
+
xpath = "./amend/location/locality | ./amend/location/localityStack"
|
|
112
|
+
r = eref_localities(item.xpath(ns(xpath)), nil, t)
|
|
113
|
+
r.sub!(/^, /, "")
|
|
114
|
+
r == @i18n.wholeoftext and r = "All"
|
|
115
|
+
r
|
|
141
116
|
end
|
|
142
117
|
|
|
143
118
|
def bibdata_i18n(bib)
|
|
@@ -203,7 +178,7 @@ module IsoDoc
|
|
|
203
178
|
# else, use both ordinal, as prefix, and ids
|
|
204
179
|
def biblio_ref_entry_code(ordinal, ids, _id, standard, datefn, _bib)
|
|
205
180
|
standard and return "[#{ordinal}]<tab/>"
|
|
206
|
-
ret =
|
|
181
|
+
ret = ids[:ordinal] || ids[:metanorma] || "[#{ordinal}]"
|
|
207
182
|
prefix_bracketed_ref("#{ret}#{datefn}")
|
|
208
183
|
end
|
|
209
184
|
|
|
@@ -95,8 +95,89 @@
|
|
|
95
95
|
<ref name="pagebreak"/>
|
|
96
96
|
<ref name="hr"/>
|
|
97
97
|
<ref name="bookmark"/>
|
|
98
|
+
<ref name="amend"/>
|
|
98
99
|
</choice>
|
|
99
100
|
</define>
|
|
101
|
+
<define name="amend">
|
|
102
|
+
<element name="amend">
|
|
103
|
+
<ref name="AmendType"/>
|
|
104
|
+
</element>
|
|
105
|
+
</define>
|
|
106
|
+
<define name="AmendType">
|
|
107
|
+
<optional>
|
|
108
|
+
<attribute name="id">
|
|
109
|
+
<data type="ID"/>
|
|
110
|
+
</attribute>
|
|
111
|
+
</optional>
|
|
112
|
+
<attribute name="change">
|
|
113
|
+
<choice>
|
|
114
|
+
<value>add</value>
|
|
115
|
+
<value>modify</value>
|
|
116
|
+
<value>delete</value>
|
|
117
|
+
<value>replace</value>
|
|
118
|
+
</choice>
|
|
119
|
+
</attribute>
|
|
120
|
+
<optional>
|
|
121
|
+
<attribute name="path"/>
|
|
122
|
+
</optional>
|
|
123
|
+
<optional>
|
|
124
|
+
<attribute name="path_end"/>
|
|
125
|
+
</optional>
|
|
126
|
+
<optional>
|
|
127
|
+
<attribute name="title"/>
|
|
128
|
+
</optional>
|
|
129
|
+
<optional>
|
|
130
|
+
<element name="location">
|
|
131
|
+
<zeroOrMore>
|
|
132
|
+
<choice>
|
|
133
|
+
<ref name="locality"/>
|
|
134
|
+
<ref name="localityStack"/>
|
|
135
|
+
</choice>
|
|
136
|
+
</zeroOrMore>
|
|
137
|
+
</element>
|
|
138
|
+
</optional>
|
|
139
|
+
<optional>
|
|
140
|
+
<element name="description">
|
|
141
|
+
<zeroOrMore>
|
|
142
|
+
<ref name="BasicBlock"/>
|
|
143
|
+
</zeroOrMore>
|
|
144
|
+
</element>
|
|
145
|
+
</optional>
|
|
146
|
+
<optional>
|
|
147
|
+
<element name="newcontent">
|
|
148
|
+
<optional>
|
|
149
|
+
<attribute name="id">
|
|
150
|
+
<data type="ID"/>
|
|
151
|
+
</attribute>
|
|
152
|
+
</optional>
|
|
153
|
+
<zeroOrMore>
|
|
154
|
+
<ref name="BasicBlock"/>
|
|
155
|
+
</zeroOrMore>
|
|
156
|
+
</element>
|
|
157
|
+
</optional>
|
|
158
|
+
<zeroOrMore>
|
|
159
|
+
<ref name="classification"/>
|
|
160
|
+
</zeroOrMore>
|
|
161
|
+
<zeroOrMore>
|
|
162
|
+
<ref name="contributor"/>
|
|
163
|
+
</zeroOrMore>
|
|
164
|
+
</define>
|
|
165
|
+
<define name="classification">
|
|
166
|
+
<element name="classification">
|
|
167
|
+
<ref name="classification_tag"/>
|
|
168
|
+
<ref name="classification_value"/>
|
|
169
|
+
</element>
|
|
170
|
+
</define>
|
|
171
|
+
<define name="classification_tag">
|
|
172
|
+
<element name="tag">
|
|
173
|
+
<text/>
|
|
174
|
+
</element>
|
|
175
|
+
</define>
|
|
176
|
+
<define name="classification_value">
|
|
177
|
+
<element name="value">
|
|
178
|
+
<text/>
|
|
179
|
+
</element>
|
|
180
|
+
</define>
|
|
100
181
|
<define name="paragraph">
|
|
101
182
|
<element name="p">
|
|
102
183
|
<ref name="ParagraphType"/>
|
|
@@ -939,18 +1020,12 @@
|
|
|
939
1020
|
</optional>
|
|
940
1021
|
<optional>
|
|
941
1022
|
<attribute name="width">
|
|
942
|
-
<
|
|
943
|
-
<data type="int"/>
|
|
944
|
-
<value>auto</value>
|
|
945
|
-
</choice>
|
|
1023
|
+
<ref name="ImageSize"/>
|
|
946
1024
|
</attribute>
|
|
947
1025
|
</optional>
|
|
948
1026
|
<optional>
|
|
949
1027
|
<attribute name="height">
|
|
950
|
-
<
|
|
951
|
-
<data type="int"/>
|
|
952
|
-
<value>auto</value>
|
|
953
|
-
</choice>
|
|
1028
|
+
<ref name="ImageSize"/>
|
|
954
1029
|
</attribute>
|
|
955
1030
|
</optional>
|
|
956
1031
|
<optional>
|
|
@@ -965,6 +1040,14 @@
|
|
|
965
1040
|
</attribute>
|
|
966
1041
|
</optional>
|
|
967
1042
|
</define>
|
|
1043
|
+
<define name="ImageSize">
|
|
1044
|
+
<choice>
|
|
1045
|
+
<data type="string">
|
|
1046
|
+
<param name="pattern">\d+([.]\d+)?(%?)</param>
|
|
1047
|
+
</data>
|
|
1048
|
+
<value>auto</value>
|
|
1049
|
+
</choice>
|
|
1050
|
+
</define>
|
|
968
1051
|
<define name="video">
|
|
969
1052
|
<element name="video">
|
|
970
1053
|
<attribute name="id">
|
|
@@ -9,11 +9,42 @@
|
|
|
9
9
|
-->
|
|
10
10
|
<include href="biblio.rng">
|
|
11
11
|
<define name="BibData">
|
|
12
|
-
<ref name="
|
|
12
|
+
<ref name="StandardBibliographicItem"/>
|
|
13
13
|
<optional>
|
|
14
14
|
<ref name="ext"/>
|
|
15
15
|
</optional>
|
|
16
16
|
</define>
|
|
17
|
+
<define name="docrelation">
|
|
18
|
+
<element name="relation">
|
|
19
|
+
<attribute name="type">
|
|
20
|
+
<ref name="DocRelationType"/>
|
|
21
|
+
</attribute>
|
|
22
|
+
<optional>
|
|
23
|
+
<element name="description">
|
|
24
|
+
<ref name="FormattedString"/>
|
|
25
|
+
</element>
|
|
26
|
+
</optional>
|
|
27
|
+
<element name="bibitem">
|
|
28
|
+
<ref name="StandardReducedBibliographicItem"/>
|
|
29
|
+
</element>
|
|
30
|
+
<choice>
|
|
31
|
+
<zeroOrMore>
|
|
32
|
+
<ref name="locality"/>
|
|
33
|
+
</zeroOrMore>
|
|
34
|
+
<zeroOrMore>
|
|
35
|
+
<ref name="localityStack"/>
|
|
36
|
+
</zeroOrMore>
|
|
37
|
+
</choice>
|
|
38
|
+
<choice>
|
|
39
|
+
<zeroOrMore>
|
|
40
|
+
<ref name="sourceLocality"/>
|
|
41
|
+
</zeroOrMore>
|
|
42
|
+
<zeroOrMore>
|
|
43
|
+
<ref name="sourceLocalityStack"/>
|
|
44
|
+
</zeroOrMore>
|
|
45
|
+
</choice>
|
|
46
|
+
</element>
|
|
47
|
+
</define>
|
|
17
48
|
</include>
|
|
18
49
|
<define name="ext">
|
|
19
50
|
<element name="ext">
|
|
@@ -161,4 +192,16 @@
|
|
|
161
192
|
</optional>
|
|
162
193
|
</element>
|
|
163
194
|
</define>
|
|
195
|
+
<define name="StandardBibliographicItem">
|
|
196
|
+
<ref name="BibliographicItem"/>
|
|
197
|
+
<zeroOrMore>
|
|
198
|
+
<ref name="amend"/>
|
|
199
|
+
</zeroOrMore>
|
|
200
|
+
</define>
|
|
201
|
+
<define name="StandardReducedBibliographicItem">
|
|
202
|
+
<ref name="ReducedBibliographicItem"/>
|
|
203
|
+
<zeroOrMore>
|
|
204
|
+
<ref name="amend"/>
|
|
205
|
+
</zeroOrMore>
|
|
206
|
+
</define>
|
|
164
207
|
</grammar>
|
|
@@ -241,6 +241,9 @@
|
|
|
241
241
|
</element>
|
|
242
242
|
</define>
|
|
243
243
|
<define name="FullNameType">
|
|
244
|
+
<optional>
|
|
245
|
+
<ref name="name_abbreviation"/>
|
|
246
|
+
</optional>
|
|
244
247
|
<choice>
|
|
245
248
|
<group>
|
|
246
249
|
<zeroOrMore>
|
|
@@ -266,6 +269,11 @@
|
|
|
266
269
|
<ref name="variantname"/>
|
|
267
270
|
</zeroOrMore>
|
|
268
271
|
</define>
|
|
272
|
+
<define name="name_abbreviation">
|
|
273
|
+
<element name="abbreviation">
|
|
274
|
+
<ref name="LocalizedString"/>
|
|
275
|
+
</element>
|
|
276
|
+
</define>
|
|
269
277
|
<define name="prefix">
|
|
270
278
|
<element name="prefix">
|
|
271
279
|
<ref name="LocalizedString"/>
|
|
@@ -870,6 +878,9 @@
|
|
|
870
878
|
<optional>
|
|
871
879
|
<ref name="validity"/>
|
|
872
880
|
</optional>
|
|
881
|
+
<optional>
|
|
882
|
+
<ref name="depiction"/>
|
|
883
|
+
</optional>
|
|
873
884
|
</define>
|
|
874
885
|
<define name="btitle">
|
|
875
886
|
<element name="title">
|
|
@@ -64,11 +64,12 @@ module Metanorma
|
|
|
64
64
|
if xml.at("//submitters")
|
|
65
65
|
preface = sect.at("//preface") ||
|
|
66
66
|
sect.add_previous_sibling("<preface/>").first
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
xml.xpath("//submitters").each do |s|
|
|
68
|
+
s.xpath(".//table").each do |t|
|
|
69
|
+
t["unnumbered"] = true
|
|
70
|
+
end
|
|
71
|
+
preface.add_child s.remove
|
|
70
72
|
end
|
|
71
|
-
preface.add_child submitters.remove
|
|
72
73
|
end
|
|
73
74
|
end
|
|
74
75
|
|
|
@@ -225,15 +226,15 @@ module Metanorma
|
|
|
225
226
|
type: id ? id["type"] : nil }
|
|
226
227
|
end
|
|
227
228
|
|
|
228
|
-
|
|
229
|
-
# case insensitive
|
|
230
|
-
|
|
229
|
+
# Numbers sort *before* letters; we leave out using thorn to force
|
|
230
|
+
# that sort order. case insensitive
|
|
231
|
+
def symbol_key(sym)
|
|
231
232
|
@c.decode(asciimath_key(sym).text)
|
|
232
233
|
.gsub(/[\[\]{}<>()]/, "").gsub(/\s/m, "")
|
|
233
234
|
.gsub(/[[:punct:]]|[_^]/, ":\\0").gsub("`", "")
|
|
234
235
|
end
|
|
235
236
|
|
|
236
|
-
|
|
237
|
+
def symbols_cleanup(docxml)
|
|
237
238
|
docxml.xpath("//definitions/dl").each do |dl|
|
|
238
239
|
dl_out = extract_symbols_list(dl)
|
|
239
240
|
dl_out.sort! do |a, b|
|
|
@@ -88,8 +88,10 @@ module Metanorma
|
|
|
88
88
|
|
|
89
89
|
def clause_parse(attrs, xml, node)
|
|
90
90
|
case node.attr("heading")&.downcase || node.title.downcase
|
|
91
|
-
when "submitters"
|
|
91
|
+
when "submitters"
|
|
92
92
|
return submitters_parse(attrs, xml, node)
|
|
93
|
+
when "contributors"
|
|
94
|
+
return submitters_parse(attrs.merge(type: "contributors"), xml, node)
|
|
93
95
|
when "conformance" then attrs = attrs.merge(type: "conformance")
|
|
94
96
|
when "security considerations"
|
|
95
97
|
attrs = attrs.merge(type: "security")
|
|
@@ -101,7 +103,8 @@ module Metanorma
|
|
|
101
103
|
|
|
102
104
|
def submitters_parse(attrs, xml, node)
|
|
103
105
|
title = @i18n.submitters
|
|
104
|
-
doctype(node) == "engineering-report"
|
|
106
|
+
doctype(node) == "engineering-report" ||
|
|
107
|
+
attrs[:type] == "contributors" and
|
|
105
108
|
title = @i18n.contributors_clause
|
|
106
109
|
xml.submitters **attr_code(attrs) do |xml_section|
|
|
107
110
|
xml_section.title title
|
|
@@ -17,10 +17,19 @@
|
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
|
18
18
|
of this.
|
|
19
19
|
-->
|
|
20
|
-
<!-- VERSION v1.2.
|
|
20
|
+
<!-- VERSION v1.2.12 -->
|
|
21
21
|
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
22
22
|
<include href="reqt.rng"/>
|
|
23
23
|
<include href="basicdoc.rng">
|
|
24
|
+
<define name="amend">
|
|
25
|
+
<element name="amend">
|
|
26
|
+
<ref name="BlockAttributes"/>
|
|
27
|
+
<ref name="AmendType"/>
|
|
28
|
+
<zeroOrMore>
|
|
29
|
+
<ref name="autonumber"/>
|
|
30
|
+
</zeroOrMore>
|
|
31
|
+
</element>
|
|
32
|
+
</define>
|
|
24
33
|
<define name="admonition">
|
|
25
34
|
<element name="admonition">
|
|
26
35
|
<attribute name="type">
|
|
@@ -2319,69 +2328,6 @@
|
|
|
2319
2328
|
<ref name="CitationType"/>
|
|
2320
2329
|
</element>
|
|
2321
2330
|
</define>
|
|
2322
|
-
<define name="amend">
|
|
2323
|
-
<element name="amend">
|
|
2324
|
-
<optional>
|
|
2325
|
-
<attribute name="id">
|
|
2326
|
-
<data type="ID"/>
|
|
2327
|
-
</attribute>
|
|
2328
|
-
</optional>
|
|
2329
|
-
<attribute name="change">
|
|
2330
|
-
<choice>
|
|
2331
|
-
<value>add</value>
|
|
2332
|
-
<value>modify</value>
|
|
2333
|
-
<value>delete</value>
|
|
2334
|
-
<value>replace</value>
|
|
2335
|
-
</choice>
|
|
2336
|
-
</attribute>
|
|
2337
|
-
<optional>
|
|
2338
|
-
<attribute name="path"/>
|
|
2339
|
-
</optional>
|
|
2340
|
-
<optional>
|
|
2341
|
-
<attribute name="path_end"/>
|
|
2342
|
-
</optional>
|
|
2343
|
-
<optional>
|
|
2344
|
-
<attribute name="title"/>
|
|
2345
|
-
</optional>
|
|
2346
|
-
<ref name="BlockAttributes"/>
|
|
2347
|
-
<optional>
|
|
2348
|
-
<element name="location">
|
|
2349
|
-
<zeroOrMore>
|
|
2350
|
-
<ref name="locality"/>
|
|
2351
|
-
</zeroOrMore>
|
|
2352
|
-
</element>
|
|
2353
|
-
</optional>
|
|
2354
|
-
<zeroOrMore>
|
|
2355
|
-
<ref name="autonumber"/>
|
|
2356
|
-
</zeroOrMore>
|
|
2357
|
-
<optional>
|
|
2358
|
-
<element name="description">
|
|
2359
|
-
<zeroOrMore>
|
|
2360
|
-
<ref name="BasicBlock"/>
|
|
2361
|
-
</zeroOrMore>
|
|
2362
|
-
</element>
|
|
2363
|
-
</optional>
|
|
2364
|
-
<optional>
|
|
2365
|
-
<element name="newcontent">
|
|
2366
|
-
<optional>
|
|
2367
|
-
<attribute name="id">
|
|
2368
|
-
<data type="ID"/>
|
|
2369
|
-
</attribute>
|
|
2370
|
-
</optional>
|
|
2371
|
-
<zeroOrMore>
|
|
2372
|
-
<ref name="BasicBlock"/>
|
|
2373
|
-
</zeroOrMore>
|
|
2374
|
-
</element>
|
|
2375
|
-
</optional>
|
|
2376
|
-
<optional>
|
|
2377
|
-
<element name="description">
|
|
2378
|
-
<zeroOrMore>
|
|
2379
|
-
<ref name="BasicBlock"/>
|
|
2380
|
-
</zeroOrMore>
|
|
2381
|
-
</element>
|
|
2382
|
-
</optional>
|
|
2383
|
-
</element>
|
|
2384
|
-
</define>
|
|
2385
2331
|
<define name="autonumber">
|
|
2386
2332
|
<element name="autonumber">
|
|
2387
2333
|
<attribute name="type">
|
data/lib/metanorma/ogc/reqt.rng
CHANGED
|
@@ -207,20 +207,4 @@
|
|
|
207
207
|
<value>permission</value>
|
|
208
208
|
</choice>
|
|
209
209
|
</define>
|
|
210
|
-
<define name="classification">
|
|
211
|
-
<element name="classification">
|
|
212
|
-
<ref name="classification_tag"/>
|
|
213
|
-
<ref name="classification_value"/>
|
|
214
|
-
</element>
|
|
215
|
-
</define>
|
|
216
|
-
<define name="classification_tag">
|
|
217
|
-
<element name="tag">
|
|
218
|
-
<text/>
|
|
219
|
-
</element>
|
|
220
|
-
</define>
|
|
221
|
-
<define name="classification_value">
|
|
222
|
-
<element name="value">
|
|
223
|
-
<text/>
|
|
224
|
-
</element>
|
|
225
|
-
</define>
|
|
226
210
|
</grammar>
|
data/metanorma-ogc.gemspec
CHANGED
|
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
|
|
|
26
26
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
|
27
27
|
|
|
28
28
|
spec.add_dependency "iso-639"
|
|
29
|
-
spec.add_dependency "metanorma-standoc", "~> 2.
|
|
29
|
+
spec.add_dependency "metanorma-standoc", "~> 2.8.0"
|
|
30
30
|
|
|
31
31
|
spec.add_development_dependency "debug"
|
|
32
32
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metanorma-ogc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-01-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: iso-639
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 2.
|
|
33
|
+
version: 2.8.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 2.
|
|
40
|
+
version: 2.8.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: debug
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -271,6 +271,7 @@ files:
|
|
|
271
271
|
- lib/isodoc/ogc/ogc.user-guide.xsl
|
|
272
272
|
- lib/isodoc/ogc/ogc.white-paper.xsl
|
|
273
273
|
- lib/isodoc/ogc/pdf_convert.rb
|
|
274
|
+
- lib/isodoc/ogc/presentation_sections.rb
|
|
274
275
|
- lib/isodoc/ogc/presentation_xml_convert.rb
|
|
275
276
|
- lib/isodoc/ogc/sections.rb
|
|
276
277
|
- lib/isodoc/ogc/word_convert.rb
|