metanorma-iso 1.10.0 → 1.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ubuntu.yml +41 -0
- data/Gemfile +3 -4
- data/Makefile +44 -0
- data/Rakefile +1 -1
- data/bin/rspec +1 -2
- data/lib/asciidoctor/iso/basicdoc.rng +11 -1
- data/lib/asciidoctor/iso/biblio.rng +2 -0
- data/lib/asciidoctor/iso/cleanup.rb +7 -6
- data/lib/asciidoctor/iso/isodoc.rng +13 -1
- data/lib/asciidoctor/iso/isostandard-amd.rng +1 -1
- data/lib/asciidoctor/iso/isostandard.rng +3 -1
- data/lib/asciidoctor/iso/reqt.rng +1 -1
- data/lib/isodoc/iso/i18n.rb +10 -9
- data/lib/isodoc/iso/iso.amendment.xsl +27 -9
- data/lib/isodoc/iso/iso.international-standard.xsl +27 -9
- data/lib/isodoc/iso/sections.rb +2 -0
- data/lib/isodoc/iso/word_cleanup.rb +94 -0
- data/lib/isodoc/iso/word_convert.rb +12 -89
- data/lib/metanorma/iso/version.rb +1 -1
- data/spec/asciidoctor/base_spec.rb +543 -209
- data/spec/asciidoctor/blocks_spec.rb +0 -39
- data/spec/asciidoctor/refs_spec.rb +87 -4
- data/spec/isodoc/i18n_spec.rb +25 -11
- data/spec/isodoc/table_spec.rb +6 -8
- data/spec/vcr_cassettes/docrels.yml +783 -0
- data/spec/vcr_cassettes/sortrefs.yml +599 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24633dfc813afd54d496d125ac4cc7ffdb4e11b9a2958437033c0cfe57ea7873
|
4
|
+
data.tar.gz: b3995300f75025e162a31b28aa2aea9ebfdb3fd791928d622ee9fea264948a63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d495eb4e4758f85053f888027b8776048ed4e1c2f1c0ee5f87a5dda4214fcfe85d2d490947633a8889cf9aa8db48dcd42eb319e1ae63abb5cf3901fec9cb789
|
7
|
+
data.tar.gz: c4472ab5da3868ccf1331e6ff1879218a5e5e515128f3733d1ef32dcc8b4fec5b5855d5712c03ac950c67b4a7e0ccdf452da1b4fba9c6f61907b9ed40b0867e3
|
@@ -0,0 +1,41 @@
|
|
1
|
+
name: ubuntu
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- main
|
7
|
+
pull_request:
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
build:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v2
|
14
|
+
|
15
|
+
- name: Setup prerequisites
|
16
|
+
run: |
|
17
|
+
sudo apt-get update
|
18
|
+
sudo apt-get -y install xsltproc
|
19
|
+
|
20
|
+
- run: make xsd_doc
|
21
|
+
env:
|
22
|
+
GITHUB_USERNAME: ${{ github.actor }}
|
23
|
+
GITHUB_TOKEN: ${{ github.token }}
|
24
|
+
|
25
|
+
- uses: actions/upload-artifact@master
|
26
|
+
with:
|
27
|
+
name: xsd_doc
|
28
|
+
path: xsd_doc
|
29
|
+
|
30
|
+
deploy-gh-pages:
|
31
|
+
if: github.ref == 'refs/heads/main'
|
32
|
+
runs-on: ubuntu-latest
|
33
|
+
needs: build
|
34
|
+
steps:
|
35
|
+
- uses: actions/checkout@master
|
36
|
+
|
37
|
+
- uses: actions/download-artifact@master
|
38
|
+
with:
|
39
|
+
name: xsd_doc-ubuntu
|
40
|
+
path: xsd_doc
|
41
|
+
|
data/Gemfile
CHANGED
@@ -4,11 +4,10 @@ Encoding.default_internal = Encoding::UTF_8
|
|
4
4
|
source "https://rubygems.org"
|
5
5
|
git_source(:github) { |repo| "https://github.com/#{repo}" }
|
6
6
|
|
7
|
-
#gem "asciimath", git: "https://github.com/asciidoctor/asciimath"
|
7
|
+
# gem "asciimath", git: "https://github.com/asciidoctor/asciimath"
|
8
8
|
|
9
9
|
gemspec
|
10
10
|
|
11
|
-
if File.exist?
|
12
|
-
eval File.read(
|
11
|
+
if File.exist? "Gemfile.devel"
|
12
|
+
eval File.read("Gemfile.devel"), nil, "Gemfile.devel" # rubocop:disable Security/Eval
|
13
13
|
end
|
14
|
-
|
data/Makefile
CHANGED
@@ -8,6 +8,15 @@ SHELL := /bin/bash
|
|
8
8
|
# Ensure the xml2rfc cache directory exists locally
|
9
9
|
IGNORE := $(shell mkdir -p $(HOME)/.cache/xml2rfc)
|
10
10
|
|
11
|
+
TRANG_RELEASE := https://github.com/relaxng/jing-trang/releases/download/V20181222/trang-20181222.zip
|
12
|
+
TOOLS_DIR := ${CURDIR}/tools
|
13
|
+
TRANG_JAR := $(TOOLS_DIR)/trang.jar
|
14
|
+
XSDVIPATH := $(TOOLS_DIR)/xsdvi.jar
|
15
|
+
XSLT_FILE := $(TOOLS_DIR)/xs3pxsl
|
16
|
+
XSLT_FILE_MERGE := $(TOOLS_DIR)/xsdmerge.xsl
|
17
|
+
RNG_FILE_SRC := lib/asciidoctor/iso/isostandard.rng
|
18
|
+
XSD_FILE_DEST := ${CURDIR}/xsd_doc/isostandard.xsd
|
19
|
+
|
11
20
|
all: $(TXT) $(HTML) $(XML) $(NITS)
|
12
21
|
|
13
22
|
clean:
|
@@ -37,3 +46,38 @@ clean:
|
|
37
46
|
open:
|
38
47
|
open *.txt
|
39
48
|
|
49
|
+
|
50
|
+
$(XSDVIPATH):
|
51
|
+
mkdir -p $(dir $@); \
|
52
|
+
curl -sSL https://sourceforge.net/projects/xsdvi/files/latest/download > $(dir $@)/xsdvi.zip; \
|
53
|
+
unzip -p $(dir $@)/xsdvi.zip dist/lib/xercesImpl.jar > $(dir $@)/xercesImpl.jar; \
|
54
|
+
curl -sSL https://github.com/metanorma/xsdvi/releases/download/v1.0/xsdvi-1.0.jar > $@
|
55
|
+
|
56
|
+
$(XSLT_FILE):
|
57
|
+
mkdir -p $(dir $@)
|
58
|
+
curl -sSL https://raw.githubusercontent.com/metanorma/xs3p/main/xsl/xs3p.xsl > $@
|
59
|
+
|
60
|
+
$(XSLT_FILE_MERGE):
|
61
|
+
mkdir -p $(dir $@)
|
62
|
+
curl -sSL https://raw.githubusercontent.com/metanorma/xs3p/main/xsl/xsdmerge.xsl > $@
|
63
|
+
|
64
|
+
$(TRANG_JAR):
|
65
|
+
mkdir -p $(dir $@); \
|
66
|
+
cd $(dir $@); \
|
67
|
+
curl -sSL $(TRANG_RELEASE) > trang.zip; \
|
68
|
+
unzip -p trang.zip trang-20181222/trang.jar > $@
|
69
|
+
|
70
|
+
|
71
|
+
$(XSD_FILE_DEST): $(TRANG_JAR)
|
72
|
+
mkdir -p $(dir $@); \
|
73
|
+
java -jar $< $(RNG_FILE_SRC) $@
|
74
|
+
|
75
|
+
xsd_doc: $(XSD_FILE_DEST) $(XSDVIPATH) $(XSLT_FILE) $(XSLT_FILE_MERGE)
|
76
|
+
mkdir -p $@/diagrams; \
|
77
|
+
cd $@; \
|
78
|
+
java -jar $(XSDVIPATH) $< -rootNodeName all -oneNodeOnly -outputPath diagrams; \
|
79
|
+
xsltproc --nonet --stringparam rootxsd iso-standard --output $@.tmp $(XSLT_FILE_MERGE) $<;\
|
80
|
+
xsltproc --nonet --param title "'Metanorma XML Schema Documentation, ISO Standard'" \
|
81
|
+
--output index.html $(XSLT_FILE) $@.tmp;\
|
82
|
+
rm $@.tmp
|
83
|
+
|
data/Rakefile
CHANGED
data/bin/rspec
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
3
|
<include href="biblio.rng">
|
4
4
|
<start>
|
5
5
|
<ref name="document"/>
|
@@ -19,6 +19,7 @@
|
|
19
19
|
</define>
|
20
20
|
<define name="bibdata">
|
21
21
|
<element name="bibdata">
|
22
|
+
<a:documentation>Document attributes</a:documentation>
|
22
23
|
<ref name="BibData"/>
|
23
24
|
</element>
|
24
25
|
</define>
|
@@ -104,10 +105,12 @@
|
|
104
105
|
</define>
|
105
106
|
<define name="paragraph">
|
106
107
|
<element name="p">
|
108
|
+
<a:documentation>Paragraph</a:documentation>
|
107
109
|
<ref name="ParagraphType"/>
|
108
110
|
</element>
|
109
111
|
</define>
|
110
112
|
<define name="Alignments">
|
113
|
+
<a:documentation>Text alignment</a:documentation>
|
111
114
|
<choice>
|
112
115
|
<value>left</value>
|
113
116
|
<value>right</value>
|
@@ -215,6 +218,7 @@
|
|
215
218
|
</define>
|
216
219
|
<define name="quote">
|
217
220
|
<element name="quote">
|
221
|
+
<a:documentation>Block quotes</a:documentation>
|
218
222
|
<attribute name="id">
|
219
223
|
<data type="ID"/>
|
220
224
|
</attribute>
|
@@ -249,6 +253,7 @@
|
|
249
253
|
</define>
|
250
254
|
<define name="sourcecode">
|
251
255
|
<element name="sourcecode">
|
256
|
+
<a:documentation>Source code, a pre-formatted source snippet to be rendered in monospace font, and with spaces preserved</a:documentation>
|
252
257
|
<attribute name="id">
|
253
258
|
<data type="ID"/>
|
254
259
|
</attribute>
|
@@ -1047,6 +1052,7 @@
|
|
1047
1052
|
</define>
|
1048
1053
|
<define name="ul">
|
1049
1054
|
<element name="ul">
|
1055
|
+
<a:documentation>Unordered list</a:documentation>
|
1050
1056
|
<attribute name="id">
|
1051
1057
|
<data type="ID"/>
|
1052
1058
|
</attribute>
|
@@ -1060,6 +1066,7 @@
|
|
1060
1066
|
</define>
|
1061
1067
|
<define name="li">
|
1062
1068
|
<element name="li">
|
1069
|
+
<a:documentation>List item</a:documentation>
|
1063
1070
|
<optional>
|
1064
1071
|
<attribute name="id">
|
1065
1072
|
<data type="ID"/>
|
@@ -1097,6 +1104,7 @@
|
|
1097
1104
|
</define>
|
1098
1105
|
<define name="dl">
|
1099
1106
|
<element name="dl">
|
1107
|
+
<a:documentation>Definition list</a:documentation>
|
1100
1108
|
<attribute name="id">
|
1101
1109
|
<data type="ID"/>
|
1102
1110
|
</attribute>
|
@@ -1111,6 +1119,7 @@
|
|
1111
1119
|
</define>
|
1112
1120
|
<define name="dt">
|
1113
1121
|
<element name="dt">
|
1122
|
+
<a:documentation>Definition term</a:documentation>
|
1114
1123
|
<zeroOrMore>
|
1115
1124
|
<ref name="TextElement"/>
|
1116
1125
|
</zeroOrMore>
|
@@ -1118,6 +1127,7 @@
|
|
1118
1127
|
</define>
|
1119
1128
|
<define name="dd">
|
1120
1129
|
<element name="dd">
|
1130
|
+
<a:documentation>Definition description</a:documentation>
|
1121
1131
|
<zeroOrMore>
|
1122
1132
|
<ref name="paragraph-with-footnote"/>
|
1123
1133
|
</zeroOrMore>
|
@@ -76,12 +76,14 @@
|
|
76
76
|
<define name="script">
|
77
77
|
<a:documentation>ISO-639</a:documentation>
|
78
78
|
<element name="script">
|
79
|
+
<a:documentation>ISO-639</a:documentation>
|
79
80
|
<text/>
|
80
81
|
</element>
|
81
82
|
</define>
|
82
83
|
<define name="edition">
|
83
84
|
<a:documentation>ISO-15924: Latn</a:documentation>
|
84
85
|
<element name="edition">
|
86
|
+
<a:documentation>ISO-15924: Latn</a:documentation>
|
85
87
|
<optional>
|
86
88
|
<attribute name="number"/>
|
87
89
|
</optional>
|
@@ -8,7 +8,7 @@ module Asciidoctor
|
|
8
8
|
module ISO
|
9
9
|
class Converter < Standoc::Converter
|
10
10
|
PRE_NORMREF_FOOTNOTES = "//preface//fn | "\
|
11
|
-
|
11
|
+
"//clause[@type = 'scope']//fn".freeze
|
12
12
|
|
13
13
|
NORMREF_FOOTNOTES =
|
14
14
|
"//references[@normative = 'true']//fn".freeze
|
@@ -41,7 +41,7 @@ module Asciidoctor
|
|
41
41
|
xmldoc.xpath("//bibdata/contributor[role/@type = 'publisher']"\
|
42
42
|
"/organization").each do |x|
|
43
43
|
x1 = x.at("abbreviation")&.text || x.at("name")&.text
|
44
|
-
x1 == "ISO" and prefix.unshift("ISO") or prefix << x1
|
44
|
+
(x1 == "ISO" and prefix.unshift("ISO")) or prefix << x1
|
45
45
|
end
|
46
46
|
prefix
|
47
47
|
end
|
@@ -64,14 +64,15 @@ module Asciidoctor
|
|
64
64
|
super
|
65
65
|
end
|
66
66
|
|
67
|
-
TERM_CLAUSE =
|
67
|
+
TERM_CLAUSE =
|
68
|
+
"//sections//terms | "\
|
68
69
|
"//sections//clause[descendant::terms][not(descendant::definitions)]"
|
69
|
-
|
70
|
+
.freeze
|
70
71
|
|
71
72
|
PUBLISHER = "./contributor[role/@type = 'publisher']/organization".freeze
|
72
73
|
|
73
74
|
OTHERIDS = "@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or "\
|
74
|
-
|
75
|
+
"@type = 'ISBN'".freeze
|
75
76
|
|
76
77
|
def pub_class(bib)
|
77
78
|
return 1 if bib.at("#{PUBLISHER}[abbreviation = 'ISO']")
|
@@ -111,7 +112,7 @@ module Asciidoctor
|
|
111
112
|
bib&.at("./title")&.text || bib&.at("./formattedref")&.text
|
112
113
|
"#{pubclass} :: #{type} :: "\
|
113
114
|
"#{num.nil? ? abbrid : sprintf('%09d', num.to_i)} :: "\
|
114
|
-
"#{partid} :: #{id&.text} :: #{title}"
|
115
|
+
"#{sprintf('%09d', partid.to_i)} :: #{id&.text} :: #{title}"
|
115
116
|
end
|
116
117
|
|
117
118
|
def sections_cleanup(xml)
|
@@ -194,6 +194,7 @@
|
|
194
194
|
</optional>
|
195
195
|
<optional>
|
196
196
|
<attribute name="type">
|
197
|
+
<a:documentation>allow specifying labels of an ordered list</a:documentation>
|
197
198
|
<choice>
|
198
199
|
<value>roman</value>
|
199
200
|
<value>alphabet</value>
|
@@ -2063,7 +2064,12 @@
|
|
2063
2064
|
<define name="verbaldefinition">
|
2064
2065
|
<element name="verbaldefinition">
|
2065
2066
|
<oneOrMore>
|
2066
|
-
<
|
2067
|
+
<choice>
|
2068
|
+
<ref name="paragraph"/>
|
2069
|
+
<ref name="dl"/>
|
2070
|
+
<ref name="ol"/>
|
2071
|
+
<ref name="ul"/>
|
2072
|
+
</choice>
|
2067
2073
|
</oneOrMore>
|
2068
2074
|
<zeroOrMore>
|
2069
2075
|
<ref name="termsource"/>
|
@@ -2163,6 +2169,12 @@
|
|
2163
2169
|
<value>modified</value>
|
2164
2170
|
</choice>
|
2165
2171
|
</attribute>
|
2172
|
+
<attribute name="type">
|
2173
|
+
<choice>
|
2174
|
+
<value>authoritative</value>
|
2175
|
+
<value>lineage</value>
|
2176
|
+
</choice>
|
2177
|
+
</attribute>
|
2166
2178
|
<ref name="origin"/>
|
2167
2179
|
<optional>
|
2168
2180
|
<ref name="modification"/>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar ns="https://www.metanorma.org/ns/iso" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
2
|
+
<grammar ns="https://www.metanorma.org/ns/iso" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
3
|
<!-- default namespace isostandard = "https://www.metanorma.com/ns/iso" -->
|
4
4
|
<include href="isostandard.rng">
|
5
5
|
<start>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar ns="https://www.metanorma.org/ns/iso" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
2
|
+
<grammar ns="https://www.metanorma.org/ns/iso" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
3
|
<!-- default namespace isostandard = "https://www.metanorma.com/ns/iso" -->
|
4
4
|
<include href="isodoc.rng">
|
5
5
|
<start>
|
@@ -359,6 +359,7 @@
|
|
359
359
|
-->
|
360
360
|
<define name="iso-standard">
|
361
361
|
<element name="iso-standard">
|
362
|
+
<a:documentation>Root element for xml document</a:documentation>
|
362
363
|
<attribute name="version"/>
|
363
364
|
<attribute name="type">
|
364
365
|
<choice>
|
@@ -469,6 +470,7 @@
|
|
469
470
|
</define>
|
470
471
|
<define name="annex-appendix">
|
471
472
|
<element name="appendix">
|
473
|
+
<a:documentation>Appendix</a:documentation>
|
472
474
|
<ref name="Clause-Section"/>
|
473
475
|
</element>
|
474
476
|
</define>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
3
|
<!--
|
4
4
|
Presupposes isodoc.rnc, is included in it
|
5
5
|
include "isodoc.rnc" { }
|
data/lib/isodoc/iso/i18n.rb
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
module IsoDoc
|
2
2
|
module Iso
|
3
3
|
class I18n < IsoDoc::I18n
|
4
|
+
def load_file(fname)
|
5
|
+
YAML.load_file(File.join(File.dirname(__FILE__), fname))
|
6
|
+
end
|
7
|
+
|
4
8
|
def load_yaml1(lang, script)
|
5
|
-
y = if lang == "en"
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
else
|
12
|
-
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
13
|
-
end
|
9
|
+
y = if lang == "en" then load_file("i18n-en.yaml")
|
10
|
+
elsif lang == "fr" then load_file("i18n-fr.yaml")
|
11
|
+
elsif lang == "zh" && script == "Hans"
|
12
|
+
load_file("i18n-zh-Hans.yaml")
|
13
|
+
else load_file("i18n-en.yaml")
|
14
|
+
end
|
14
15
|
super.merge(y)
|
15
16
|
end
|
16
17
|
end
|
@@ -1798,7 +1798,7 @@
|
|
1798
1798
|
</xsl:variable>
|
1799
1799
|
<fo:block line-height="1.1" role="H{$levelTerm}">
|
1800
1800
|
<fo:block font-weight="bold" keep-with-next="always">
|
1801
|
-
<xsl:apply-templates select="ancestor::iso:term/iso:name" mode="presentation"/>
|
1801
|
+
<xsl:apply-templates select="ancestor::iso:term[1]/iso:name" mode="presentation"/>
|
1802
1802
|
</fo:block>
|
1803
1803
|
<fo:block font-weight="bold" keep-with-next="always">
|
1804
1804
|
<xsl:apply-templates/>
|
@@ -4295,6 +4295,7 @@
|
|
4295
4295
|
<fo:table-cell>
|
4296
4296
|
|
4297
4297
|
<fo:block margin-top="6pt">
|
4298
|
+
<xsl:copy-of select="@id"/>
|
4298
4299
|
|
4299
4300
|
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
4300
4301
|
|
@@ -5141,14 +5142,20 @@
|
|
5141
5142
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
|
5142
5143
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
5143
5144
|
</xsl:template><xsl:template match="*[local-name() = 'terms']">
|
5145
|
+
<!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
|
5144
5146
|
<fo:block id="{@id}">
|
5145
5147
|
<xsl:apply-templates/>
|
5146
5148
|
</fo:block>
|
5147
5149
|
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
5150
|
+
<!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
|
5148
5151
|
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
5149
5152
|
|
5150
5153
|
|
5151
|
-
|
5154
|
+
<xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
|
5155
|
+
|
5156
|
+
<xsl:attribute name="space-before">12pt</xsl:attribute>
|
5157
|
+
|
5158
|
+
</xsl:if>
|
5152
5159
|
<xsl:apply-templates/>
|
5153
5160
|
</fo:block>
|
5154
5161
|
</xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
|
@@ -6122,7 +6129,8 @@
|
|
6122
6129
|
</fo:block>
|
6123
6130
|
</fo:table-cell>
|
6124
6131
|
</xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
|
6125
|
-
<fo:block font-size="11pt"
|
6132
|
+
<fo:block font-size="11pt">
|
6133
|
+
|
6126
6134
|
<xsl:apply-templates/>
|
6127
6135
|
</fo:block>
|
6128
6136
|
</xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
|
@@ -6243,13 +6251,15 @@
|
|
6243
6251
|
<!-- <xsl:apply-templates /> -->
|
6244
6252
|
<xsl:copy-of select="$termsource_text"/>
|
6245
6253
|
</xsl:when>
|
6246
|
-
<xsl:otherwise>
|
6254
|
+
<xsl:otherwise>
|
6255
|
+
|
6247
6256
|
|
6248
6257
|
<xsl:text>[</xsl:text>
|
6249
6258
|
|
6250
6259
|
<!-- <xsl:apply-templates /> -->
|
6251
6260
|
<xsl:copy-of select="$termsource_text"/>
|
6252
6261
|
|
6262
|
+
|
6253
6263
|
<xsl:text>]</xsl:text>
|
6254
6264
|
|
6255
6265
|
</xsl:otherwise>
|
@@ -6331,12 +6341,20 @@
|
|
6331
6341
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
6332
6342
|
<xsl:text>— </xsl:text>
|
6333
6343
|
<xsl:apply-templates/>
|
6334
|
-
</xsl:template><xsl:
|
6344
|
+
</xsl:template><xsl:variable name="bibitem_hidden_">
|
6345
|
+
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
6346
|
+
<xsl:copy-of select="."/>
|
6347
|
+
</xsl:for-each>
|
6348
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem']">
|
6349
|
+
<xsl:copy-of select="."/>
|
6350
|
+
</xsl:for-each>
|
6351
|
+
</xsl:variable><xsl:variable name="bibitem_hidden" select="xalan:nodeset($bibitem_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
6335
6352
|
|
6336
6353
|
<xsl:variable name="bibitemid">
|
6337
6354
|
<xsl:choose>
|
6338
|
-
<xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"
|
6339
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"
|
6355
|
+
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
6356
|
+
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
6357
|
+
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
6340
6358
|
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
6341
6359
|
</xsl:choose>
|
6342
6360
|
</xsl:variable>
|
@@ -6425,10 +6443,10 @@
|
|
6425
6443
|
</xsl:choose>
|
6426
6444
|
</xsl:variable>
|
6427
6445
|
|
6428
|
-
<xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
|
6446
|
+
<!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
|
6429
6447
|
|
6430
6448
|
<xsl:choose>
|
6431
|
-
<xsl:when test="$
|
6449
|
+
<xsl:when test="$lang = 'zh'">
|
6432
6450
|
<fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
|
6433
6451
|
</xsl:when>
|
6434
6452
|
<xsl:when test="../../@inline-header = 'true'">
|
@@ -1798,7 +1798,7 @@
|
|
1798
1798
|
</xsl:variable>
|
1799
1799
|
<fo:block line-height="1.1" role="H{$levelTerm}">
|
1800
1800
|
<fo:block font-weight="bold" keep-with-next="always">
|
1801
|
-
<xsl:apply-templates select="ancestor::iso:term/iso:name" mode="presentation"/>
|
1801
|
+
<xsl:apply-templates select="ancestor::iso:term[1]/iso:name" mode="presentation"/>
|
1802
1802
|
</fo:block>
|
1803
1803
|
<fo:block font-weight="bold" keep-with-next="always">
|
1804
1804
|
<xsl:apply-templates/>
|
@@ -4295,6 +4295,7 @@
|
|
4295
4295
|
<fo:table-cell>
|
4296
4296
|
|
4297
4297
|
<fo:block margin-top="6pt">
|
4298
|
+
<xsl:copy-of select="@id"/>
|
4298
4299
|
|
4299
4300
|
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
4300
4301
|
|
@@ -5141,14 +5142,20 @@
|
|
5141
5142
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
|
5142
5143
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
5143
5144
|
</xsl:template><xsl:template match="*[local-name() = 'terms']">
|
5145
|
+
<!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
|
5144
5146
|
<fo:block id="{@id}">
|
5145
5147
|
<xsl:apply-templates/>
|
5146
5148
|
</fo:block>
|
5147
5149
|
</xsl:template><xsl:template match="*[local-name() = 'term']">
|
5150
|
+
<!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
|
5148
5151
|
<fo:block id="{@id}" xsl:use-attribute-sets="term-style">
|
5149
5152
|
|
5150
5153
|
|
5151
|
-
|
5154
|
+
<xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
|
5155
|
+
|
5156
|
+
<xsl:attribute name="space-before">12pt</xsl:attribute>
|
5157
|
+
|
5158
|
+
</xsl:if>
|
5152
5159
|
<xsl:apply-templates/>
|
5153
5160
|
</fo:block>
|
5154
5161
|
</xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
|
@@ -6122,7 +6129,8 @@
|
|
6122
6129
|
</fo:block>
|
6123
6130
|
</fo:table-cell>
|
6124
6131
|
</xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
|
6125
|
-
<fo:block font-size="11pt"
|
6132
|
+
<fo:block font-size="11pt">
|
6133
|
+
|
6126
6134
|
<xsl:apply-templates/>
|
6127
6135
|
</fo:block>
|
6128
6136
|
</xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
|
@@ -6243,13 +6251,15 @@
|
|
6243
6251
|
<!-- <xsl:apply-templates /> -->
|
6244
6252
|
<xsl:copy-of select="$termsource_text"/>
|
6245
6253
|
</xsl:when>
|
6246
|
-
<xsl:otherwise>
|
6254
|
+
<xsl:otherwise>
|
6255
|
+
|
6247
6256
|
|
6248
6257
|
<xsl:text>[</xsl:text>
|
6249
6258
|
|
6250
6259
|
<!-- <xsl:apply-templates /> -->
|
6251
6260
|
<xsl:copy-of select="$termsource_text"/>
|
6252
6261
|
|
6262
|
+
|
6253
6263
|
<xsl:text>]</xsl:text>
|
6254
6264
|
|
6255
6265
|
</xsl:otherwise>
|
@@ -6331,12 +6341,20 @@
|
|
6331
6341
|
</xsl:template><xsl:template match="*[local-name() = 'author']">
|
6332
6342
|
<xsl:text>— </xsl:text>
|
6333
6343
|
<xsl:apply-templates/>
|
6334
|
-
</xsl:template><xsl:
|
6344
|
+
</xsl:template><xsl:variable name="bibitem_hidden_">
|
6345
|
+
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
|
6346
|
+
<xsl:copy-of select="."/>
|
6347
|
+
</xsl:for-each>
|
6348
|
+
<xsl:for-each select="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem']">
|
6349
|
+
<xsl:copy-of select="."/>
|
6350
|
+
</xsl:for-each>
|
6351
|
+
</xsl:variable><xsl:variable name="bibitem_hidden" select="xalan:nodeset($bibitem_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
|
6335
6352
|
|
6336
6353
|
<xsl:variable name="bibitemid">
|
6337
6354
|
<xsl:choose>
|
6338
|
-
<xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"
|
6339
|
-
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"
|
6355
|
+
<!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
|
6356
|
+
<xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
|
6357
|
+
<xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
|
6340
6358
|
<xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
|
6341
6359
|
</xsl:choose>
|
6342
6360
|
</xsl:variable>
|
@@ -6425,10 +6443,10 @@
|
|
6425
6443
|
</xsl:choose>
|
6426
6444
|
</xsl:variable>
|
6427
6445
|
|
6428
|
-
<xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
|
6446
|
+
<!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
|
6429
6447
|
|
6430
6448
|
<xsl:choose>
|
6431
|
-
<xsl:when test="$
|
6449
|
+
<xsl:when test="$lang = 'zh'">
|
6432
6450
|
<fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
|
6433
6451
|
</xsl:when>
|
6434
6452
|
<xsl:when test="../../@inline-header = 'true'">
|
data/lib/isodoc/iso/sections.rb
CHANGED
@@ -49,12 +49,14 @@ module IsoDoc
|
|
49
49
|
|
50
50
|
def foreword(isoxml, out)
|
51
51
|
f = isoxml.at(ns("//foreword")) || return
|
52
|
+
@foreword = true
|
52
53
|
page_break(out)
|
53
54
|
out.div **attr_code(id: f["id"]) do |s|
|
54
55
|
clause_name(nil, f.at(ns("./title")) || @i18n.foreword, s,
|
55
56
|
{ class: "ForewordTitle" })
|
56
57
|
f.elements.each { |e| parse(e, s) unless e.name == "title" }
|
57
58
|
end
|
59
|
+
@foreword = false
|
58
60
|
end
|
59
61
|
end
|
60
62
|
end
|