metanorma-iso 1.4.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +0 -1
- data/.github/workflows/ubuntu.yml +6 -3
- data/.github/workflows/windows.yml +0 -1
- data/Gemfile +1 -0
- data/Rakefile +2 -0
- data/lib/asciidoctor/iso/base.rb +8 -19
- data/lib/asciidoctor/iso/cleanup.rb +2 -3
- data/lib/asciidoctor/iso/front.rb +0 -1
- data/lib/asciidoctor/iso/front_id.rb +1 -1
- data/lib/asciidoctor/iso/isodoc.rng +12 -6
- data/lib/asciidoctor/iso/section.rb +5 -11
- data/lib/asciidoctor/iso/term_lookup_cleanup.rb +0 -1
- data/lib/asciidoctor/iso/validate_section.rb +30 -44
- data/lib/isodoc/iso/base_convert.rb +3 -64
- data/lib/isodoc/iso/html/htmlstyle.css +47 -0
- data/lib/isodoc/iso/html/htmlstyle.scss +0 -1
- data/lib/isodoc/iso/html/isodoc.css +862 -0
- data/lib/isodoc/iso/html/isodoc.scss +0 -1
- data/lib/isodoc/iso/html/style-human.css +968 -0
- data/lib/isodoc/iso/html/style-iso.css +996 -0
- data/lib/isodoc/iso/html/wordstyle.css +1515 -0
- data/lib/isodoc/iso/html/wordstyle.scss +0 -1
- data/lib/isodoc/iso/html_convert.rb +2 -1
- data/lib/{asciidoctor → isodoc}/iso/i18n-en.yaml +0 -0
- data/lib/{asciidoctor → isodoc}/iso/i18n-fr.yaml +0 -0
- data/lib/{asciidoctor → isodoc}/iso/i18n-zh-Hans.yaml +0 -0
- data/lib/isodoc/iso/i18n.rb +19 -0
- data/lib/isodoc/iso/init.rb +33 -0
- data/lib/isodoc/iso/iso.amendment.xsl +32 -0
- data/lib/isodoc/iso/iso.international-standard.xsl +32 -0
- data/lib/isodoc/iso/metadata.rb +1 -1
- data/lib/isodoc/iso/pdf_convert.rb +1 -1
- data/lib/isodoc/iso/presentation_xml_convert.rb +99 -1
- data/lib/isodoc/iso/sections.rb +3 -8
- data/lib/isodoc/iso/word_convert.rb +2 -1
- data/lib/isodoc/iso/xref.rb +2 -0
- data/lib/metanorma/iso/processor.rb +0 -4
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +4 -3
- data/spec/asciidoctor-iso/cleanup_spec.rb +4 -4
- data/spec/asciidoctor-iso/inline_spec.rb +1 -1
- data/spec/asciidoctor-iso/refs_spec.rb +3 -3
- data/spec/asciidoctor-iso/section_spec.rb +9 -6
- data/spec/asciidoctor-iso/validate_spec.rb +13 -21
- data/spec/isodoc/amd_spec.rb +309 -153
- data/spec/isodoc/blocks_spec.rb +362 -28
- data/spec/isodoc/i18n_spec.rb +468 -108
- data/spec/isodoc/inline_spec.rb +99 -31
- data/spec/isodoc/iso_spec.rb +95 -29
- data/spec/isodoc/postproc_spec.rb +114 -149
- data/spec/isodoc/ref_spec.rb +176 -4
- data/spec/isodoc/section_spec.rb +148 -82
- data/spec/isodoc/table_spec.rb +142 -5
- data/spec/isodoc/terms_spec.rb +78 -53
- data/spec/isodoc/xref_spec.rb +831 -658
- data/spec/metanorma/processor_spec.rb +2 -1
- metadata +34 -13
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module IsoDoc
|
2
|
+
module Iso
|
3
|
+
class I18n < IsoDoc::I18n
|
4
|
+
def load_yaml(lang, script, i18nyaml = nil)
|
5
|
+
y = if i18nyaml then YAML.load_file(i18nyaml)
|
6
|
+
elsif lang == "en"
|
7
|
+
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
8
|
+
elsif lang == "fr"
|
9
|
+
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-fr.yaml"))
|
10
|
+
elsif lang == "zh" && script == "Hans"
|
11
|
+
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-zh-Hans.yaml"))
|
12
|
+
else
|
13
|
+
YAML.load_file(File.join(File.dirname(__FILE__), "i18n-en.yaml"))
|
14
|
+
end
|
15
|
+
super.merge(y)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "isodoc"
|
2
|
+
require_relative "metadata"
|
3
|
+
require_relative "xref"
|
4
|
+
require_relative "i18n"
|
5
|
+
|
6
|
+
module IsoDoc
|
7
|
+
module Iso
|
8
|
+
module Init
|
9
|
+
def metadata_init(lang, script, i18n)
|
10
|
+
@meta = Metadata.new(lang, script, i18n)
|
11
|
+
end
|
12
|
+
|
13
|
+
def xref_init(lang, script, klass, i18n, options)
|
14
|
+
html = HtmlConvert.new(language: lang, script: script)
|
15
|
+
@xrefs = Xref.new(lang, script, html, i18n, options)
|
16
|
+
end
|
17
|
+
|
18
|
+
def i18n_init(lang, script, i18nyaml = nil)
|
19
|
+
@i18n = I18n.new(lang, script, i18nyaml || @i18nyaml)
|
20
|
+
end
|
21
|
+
|
22
|
+
def amd(docxml)
|
23
|
+
doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
|
24
|
+
%w(amendment technical-corrigendum).include? doctype
|
25
|
+
end
|
26
|
+
|
27
|
+
def clausedelim
|
28
|
+
""
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
@@ -3996,6 +3996,7 @@
|
|
3996
3996
|
<fo:inline padding-right="2mm">
|
3997
3997
|
|
3998
3998
|
|
3999
|
+
|
3999
4000
|
<xsl:variable name="title-note">
|
4000
4001
|
<xsl:call-template name="getTitle">
|
4001
4002
|
<xsl:with-param name="name" select="'title-note'"/>
|
@@ -5079,4 +5080,35 @@
|
|
5079
5080
|
</xsl:if>
|
5080
5081
|
</xsl:template><xsl:template name="getDocumentId">
|
5081
5082
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
5083
|
+
</xsl:template><xsl:template name="namespaceCheck">
|
5084
|
+
<xsl:variable name="documentNS" select="namespace-uri(/*)"/>
|
5085
|
+
<xsl:variable name="XSLNS">
|
5086
|
+
|
5087
|
+
<xsl:value-of select="document('')//*/namespace::iso"/>
|
5088
|
+
|
5089
|
+
|
5090
|
+
|
5091
|
+
|
5092
|
+
|
5093
|
+
|
5094
|
+
|
5095
|
+
|
5096
|
+
|
5097
|
+
|
5098
|
+
|
5099
|
+
|
5100
|
+
</xsl:variable>
|
5101
|
+
<xsl:if test="$documentNS != $XSLNS">
|
5102
|
+
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
5103
|
+
</xsl:if>
|
5104
|
+
</xsl:template><xsl:template name="getLanguage">
|
5105
|
+
<xsl:param name="lang"/>
|
5106
|
+
<xsl:variable name="language" select="java:toLowerCase(java:java.lang.String.new($lang))"/>
|
5107
|
+
<xsl:choose>
|
5108
|
+
<xsl:when test="$language = 'en'">English</xsl:when>
|
5109
|
+
<xsl:when test="$language = 'fr'">French</xsl:when>
|
5110
|
+
<xsl:when test="$language = 'de'">Deutsch</xsl:when>
|
5111
|
+
<xsl:when test="$language = 'cn'">Chinese</xsl:when>
|
5112
|
+
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
5113
|
+
</xsl:choose>
|
5082
5114
|
</xsl:template></xsl:stylesheet>
|
@@ -3996,6 +3996,7 @@
|
|
3996
3996
|
<fo:inline padding-right="2mm">
|
3997
3997
|
|
3998
3998
|
|
3999
|
+
|
3999
4000
|
<xsl:variable name="title-note">
|
4000
4001
|
<xsl:call-template name="getTitle">
|
4001
4002
|
<xsl:with-param name="name" select="'title-note'"/>
|
@@ -5079,4 +5080,35 @@
|
|
5079
5080
|
</xsl:if>
|
5080
5081
|
</xsl:template><xsl:template name="getDocumentId">
|
5081
5082
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
5083
|
+
</xsl:template><xsl:template name="namespaceCheck">
|
5084
|
+
<xsl:variable name="documentNS" select="namespace-uri(/*)"/>
|
5085
|
+
<xsl:variable name="XSLNS">
|
5086
|
+
|
5087
|
+
<xsl:value-of select="document('')//*/namespace::iso"/>
|
5088
|
+
|
5089
|
+
|
5090
|
+
|
5091
|
+
|
5092
|
+
|
5093
|
+
|
5094
|
+
|
5095
|
+
|
5096
|
+
|
5097
|
+
|
5098
|
+
|
5099
|
+
|
5100
|
+
</xsl:variable>
|
5101
|
+
<xsl:if test="$documentNS != $XSLNS">
|
5102
|
+
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
5103
|
+
</xsl:if>
|
5104
|
+
</xsl:template><xsl:template name="getLanguage">
|
5105
|
+
<xsl:param name="lang"/>
|
5106
|
+
<xsl:variable name="language" select="java:toLowerCase(java:java.lang.String.new($lang))"/>
|
5107
|
+
<xsl:choose>
|
5108
|
+
<xsl:when test="$language = 'en'">English</xsl:when>
|
5109
|
+
<xsl:when test="$language = 'fr'">French</xsl:when>
|
5110
|
+
<xsl:when test="$language = 'de'">Deutsch</xsl:when>
|
5111
|
+
<xsl:when test="$language = 'cn'">Chinese</xsl:when>
|
5112
|
+
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
5113
|
+
</xsl:choose>
|
5082
5114
|
</xsl:template></xsl:stylesheet>
|
data/lib/isodoc/iso/metadata.rb
CHANGED
@@ -15,7 +15,7 @@ module IsoDoc
|
|
15
15
|
|
16
16
|
def pdf_stylesheet(docxml)
|
17
17
|
case doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
|
18
|
-
when "amendment", "technical-corrigendum" then "
|
18
|
+
when "amendment", "technical-corrigendum" then "iso.amendment.xsl"
|
19
19
|
else
|
20
20
|
"iso.international-standard.xsl"
|
21
21
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require_relative "
|
1
|
+
require_relative "init"
|
2
2
|
require "isodoc"
|
3
3
|
|
4
4
|
module IsoDoc
|
@@ -8,6 +8,104 @@ module IsoDoc
|
|
8
8
|
# schema encapsulation of the document for validation
|
9
9
|
#
|
10
10
|
class PresentationXMLConvert < IsoDoc::PresentationXMLConvert
|
11
|
+
def initialize(options)
|
12
|
+
super
|
13
|
+
end
|
14
|
+
|
15
|
+
def convert1(docxml, filename, dir)
|
16
|
+
if amd(docxml)
|
17
|
+
@oldsuppressheadingnumbers = @suppressheadingnumbers
|
18
|
+
@suppressheadingnumbers = true
|
19
|
+
end
|
20
|
+
super
|
21
|
+
end
|
22
|
+
|
23
|
+
def annex(isoxml)
|
24
|
+
amd(isoxml) and @suppressheadingnumbers = @oldsuppressheadingnumbers
|
25
|
+
super
|
26
|
+
isoxml.xpath(ns("//annex//clause | //annex//appendix")).each do |f|
|
27
|
+
clause1(f)
|
28
|
+
end
|
29
|
+
amd(isoxml) and @suppressheadingnumbers = true
|
30
|
+
end
|
31
|
+
|
32
|
+
def xref_init(lang, script, klass, labels, options)
|
33
|
+
@xrefs = Xref.new(lang, script, klass, labels, options)
|
34
|
+
end
|
35
|
+
|
36
|
+
def figure1(f)
|
37
|
+
return if labelled_ancestor(f) && f.ancestors("figure").empty?
|
38
|
+
lbl = @xrefs.anchor(f['id'], :label, false) or return
|
39
|
+
figname = f.parent.name == "figure" ? "" : "#{@i18n.figure} "
|
40
|
+
connective = f.parent.name == "figure" ? " " : " — "
|
41
|
+
prefix_name(f, connective, l10n("#{figname}#{lbl}"), "name")
|
42
|
+
end
|
43
|
+
|
44
|
+
def example1(f)
|
45
|
+
n = @xrefs.get[f["id"]]
|
46
|
+
lbl = (n.nil? || n[:label].nil? || n[:label].empty?) ? @i18n.example :
|
47
|
+
l10n("#{@i18n.example} #{n[:label]}")
|
48
|
+
prefix_name(f, " — ", lbl, "name")
|
49
|
+
end
|
50
|
+
|
51
|
+
def eref_localities1_zh(target, type, from, to, delim)
|
52
|
+
subsection = from&.text&.match(/\./)
|
53
|
+
ret = (delim == ";") ? ";" : (type == "list") ? "" : delim
|
54
|
+
ret += " 第#{from.text}" if from
|
55
|
+
ret += "–#{to.text}" if to
|
56
|
+
loc = (@i18n.locality[type] || type.sub(/^locality:/, "").capitalize )
|
57
|
+
ret += " #{loc}" unless subsection && type == "clause" ||
|
58
|
+
type == "list" || target.match(/^IEV$|^IEC 60050-/)
|
59
|
+
ret += ")" if type == "list"
|
60
|
+
ret
|
61
|
+
end
|
62
|
+
|
63
|
+
def eref_localities1(target, type, from, to, delim, lang = "en")
|
64
|
+
return "" if type == "anchor"
|
65
|
+
subsection = from&.text&.match(/\./)
|
66
|
+
type = type.downcase
|
67
|
+
lang == "zh" and
|
68
|
+
return l10n(eref_localities1_zh(target, type, from, to, delim))
|
69
|
+
ret = (delim == ";") ? ";" : (type == "list") ? "" : delim
|
70
|
+
loc = @i18n.locality[type] || type.sub(/^locality:/, "").capitalize
|
71
|
+
ret += " #{loc}" unless subsection && type == "clause" ||
|
72
|
+
type == "list" || target.match(/^IEV$|^IEC 60050-/)
|
73
|
+
ret += " #{from.text}" if from
|
74
|
+
ret += "–#{to.text}" if to
|
75
|
+
ret += ")" if type == "list"
|
76
|
+
l10n(ret)
|
77
|
+
end
|
78
|
+
|
79
|
+
def prefix_container(container, linkend, target)
|
80
|
+
delim = @xrefs.anchor(target, :type) == "listitem" ? " " : ", "
|
81
|
+
l10n(@xrefs.anchor(container, :xref) + delim + linkend)
|
82
|
+
end
|
83
|
+
|
84
|
+
def example_span_label(node, div, name)
|
85
|
+
return if name.nil?
|
86
|
+
div.span **{ class: "example_label" } do |p|
|
87
|
+
name.children.each { |n| parse(n, div) }
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def clause1(f)
|
92
|
+
if !f.at(ns("./title")) &&
|
93
|
+
!%w(sections preface bibliography).include?(f.parent.name)
|
94
|
+
f["inline-header"] = "true"
|
95
|
+
end
|
96
|
+
super
|
97
|
+
end
|
98
|
+
|
99
|
+
def clause(docxml)
|
100
|
+
docxml.xpath(ns("//clause[not(ancestor::annex)] | "\
|
101
|
+
"//terms | //definitions | //references | "\
|
102
|
+
"//preface/introduction[clause]")).
|
103
|
+
each do |f|
|
104
|
+
clause1(f)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
include Init
|
11
109
|
end
|
12
110
|
end
|
13
111
|
end
|
data/lib/isodoc/iso/sections.rb
CHANGED
@@ -37,11 +37,10 @@ module IsoDoc
|
|
37
37
|
|
38
38
|
def introduction(isoxml, out)
|
39
39
|
f = isoxml.at(ns("//introduction")) || return
|
40
|
-
num = f.at(ns(".//clause")) ? "0" : nil
|
41
40
|
title_attr = { class: "IntroTitle" }
|
42
41
|
page_break(out)
|
43
42
|
out.div **{ class: "Section3", id: f["id"] } do |div|
|
44
|
-
clause_name(
|
43
|
+
clause_name(nil, f.at(ns("./title")), div, title_attr)
|
45
44
|
f.elements.each do |e|
|
46
45
|
parse(e, div) unless e.name == "title"
|
47
46
|
end
|
@@ -52,15 +51,11 @@ module IsoDoc
|
|
52
51
|
f = isoxml.at(ns("//foreword")) || return
|
53
52
|
page_break(out)
|
54
53
|
out.div **attr_code(id: f["id"]) do |s|
|
55
|
-
|
54
|
+
clause_name(nil, f.at(ns("./title")) || @i18n.foreword, s,
|
55
|
+
{ class: "ForewordTitle" })
|
56
56
|
f.elements.each { |e| parse(e, s) unless e.name == "title" }
|
57
57
|
end
|
58
58
|
end
|
59
|
-
|
60
|
-
def clause_parse_title(node, div, c1, out)
|
61
|
-
return inline_header_title(out, node, c1) if c1.nil?
|
62
|
-
super
|
63
|
-
end
|
64
59
|
end
|
65
60
|
end
|
66
61
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require_relative "base_convert"
|
2
2
|
require "isodoc"
|
3
|
-
require_relative "
|
3
|
+
require_relative "init"
|
4
4
|
|
5
5
|
module IsoDoc
|
6
6
|
module Iso
|
@@ -121,6 +121,7 @@ module IsoDoc
|
|
121
121
|
end
|
122
122
|
|
123
123
|
include BaseConvert
|
124
|
+
include Init
|
124
125
|
end
|
125
126
|
end
|
126
127
|
end
|
data/lib/isodoc/iso/xref.rb
CHANGED
@@ -21,6 +21,8 @@ module IsoDoc
|
|
21
21
|
# we can reference 0-number clauses in introduction
|
22
22
|
def introduction_names(clause)
|
23
23
|
return if clause.nil?
|
24
|
+
clause.at(ns("./clause")) and @anchors[clause["id"]] =
|
25
|
+
{ label: "0", level: 1, xref: clause.at(ns("./title"))&.text, type: "clause" }
|
24
26
|
clause.xpath(ns("./clause")).each_with_index do |c, i|
|
25
27
|
section_names1(c, "0.#{i + 1}", 2)
|
26
28
|
end
|
@@ -33,10 +33,6 @@ module Metanorma
|
|
33
33
|
"Metanorma::ISO #{Metanorma::ISO::VERSION}"
|
34
34
|
end
|
35
35
|
|
36
|
-
def input_to_isodoc(file, filename)
|
37
|
-
Metanorma::Input::Asciidoc.new.process(file, filename, @asciidoctor_backend)
|
38
|
-
end
|
39
|
-
|
40
36
|
def use_presentation_xml(ext)
|
41
37
|
return true if ext == :html_alt
|
42
38
|
super
|
data/metanorma-iso.gemspec
CHANGED
@@ -30,17 +30,18 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
31
31
|
|
32
32
|
spec.add_dependency "ruby-jing"
|
33
|
-
spec.add_dependency "isodoc", "~> 1.
|
34
|
-
spec.add_dependency "metanorma-standoc", "~> 1.
|
33
|
+
spec.add_dependency "isodoc", "~> 1.2.0"
|
34
|
+
spec.add_dependency "metanorma-standoc", "~> 1.5.0"
|
35
35
|
spec.add_dependency "tokenizer", "~> 0.3.0"
|
36
36
|
spec.add_dependency "twitter_cldr"
|
37
37
|
spec.add_dependency "mn2sts", "~> 1.2.0"
|
38
38
|
|
39
39
|
spec.add_development_dependency "byebug"
|
40
|
+
spec.add_development_dependency "sassc", "2.4.0"
|
40
41
|
spec.add_development_dependency "equivalent-xml", "~> 0.6"
|
41
42
|
spec.add_development_dependency "guard", "~> 2.14"
|
42
43
|
spec.add_development_dependency "guard-rspec", "~> 4.7"
|
43
|
-
spec.add_development_dependency "rake"
|
44
|
+
spec.add_development_dependency "rake" #, "~> 12.0"
|
44
45
|
spec.add_development_dependency "rspec", "~> 3.6"
|
45
46
|
spec.add_development_dependency "rubocop", "= 0.54.0"
|
46
47
|
spec.add_development_dependency "simplecov", "~> 0.15"
|
@@ -190,7 +190,7 @@ RSpec.describe Asciidoctor::ISO do
|
|
190
190
|
</p>
|
191
191
|
</foreword></preface><sections>
|
192
192
|
</sections><bibliography><references id="_" obligation="informative" normative="true">
|
193
|
-
<title>Normative
|
193
|
+
<title>Normative references</title>
|
194
194
|
<p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
|
195
195
|
<bibitem id="iso216" type="standard">
|
196
196
|
<title format="text/plain">Reference</title>
|
@@ -233,7 +233,7 @@ RSpec.describe Asciidoctor::ISO do
|
|
233
233
|
</p>
|
234
234
|
</foreword></preface><sections>
|
235
235
|
</sections><bibliography><references id="_" obligation="informative" normative="true">
|
236
|
-
<title>Normative
|
236
|
+
<title>Normative references</title>
|
237
237
|
<p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
|
238
238
|
<bibitem id="iso216" type="standard">
|
239
239
|
<title format="text/plain">Reference</title>
|
@@ -333,7 +333,7 @@ RSpec.describe Asciidoctor::ISO do
|
|
333
333
|
INPUT
|
334
334
|
#{BLANK_HDR}
|
335
335
|
<sections></sections>
|
336
|
-
<bibliography><references id="_" obligation="informative" normative="true"><title>Normative
|
336
|
+
<bibliography><references id="_" obligation="informative" normative="true"><title>Normative references</title>
|
337
337
|
<p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
|
338
338
|
<bibitem id="iso216" type="standard">
|
339
339
|
<title format="text/plain">Reference</title>
|
@@ -638,7 +638,7 @@ RSpec.describe Asciidoctor::ISO do
|
|
638
638
|
</fn>
|
639
639
|
</p>
|
640
640
|
</clause></sections><bibliography><references id="_" obligation="informative" normative="true">
|
641
|
-
<title>Normative
|
641
|
+
<title>Normative references</title>
|
642
642
|
<p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
|
643
643
|
<bibitem id="iso123" type="standard">
|
644
644
|
<title format="text/plain">Standard</title>
|
@@ -128,7 +128,7 @@ RSpec.describe Asciidoctor::ISO do
|
|
128
128
|
<sections>
|
129
129
|
|
130
130
|
</sections><bibliography><references id="_" obligation="informative" normative="true">
|
131
|
-
<title>Normative
|
131
|
+
<title>Normative references</title>
|
132
132
|
<p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
|
133
133
|
<bibitem id="ISO712">
|
134
134
|
<formattedref format="application/x-isodoc+xml">Reference</formattedref>
|
@@ -16,7 +16,7 @@ RSpec.describe Asciidoctor::ISO do
|
|
16
16
|
#{BLANK_HDR}
|
17
17
|
<sections>
|
18
18
|
</sections><bibliography><references id="_" obligation="informative" normative="true">
|
19
|
-
<title>Normative
|
19
|
+
<title>Normative references</title>
|
20
20
|
<p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
|
21
21
|
<bibitem id="iso123" type="standard">
|
22
22
|
<title format="text/plain">Standard</title>
|
@@ -65,7 +65,7 @@ RSpec.describe Asciidoctor::ISO do
|
|
65
65
|
</clause>
|
66
66
|
</sections>
|
67
67
|
<bibliography><references id="_" obligation="informative" normative="true">
|
68
|
-
<title>Normative
|
68
|
+
<title>Normative references</title>
|
69
69
|
<p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
|
70
70
|
<bibitem id="iso123" type="standard">
|
71
71
|
<title format="text/plain">Standard</title>
|
@@ -101,7 +101,7 @@ RSpec.describe Asciidoctor::ISO do
|
|
101
101
|
<sections>
|
102
102
|
|
103
103
|
</sections><bibliography><references id="_" obligation="informative" normative="true">
|
104
|
-
<title>Normative
|
104
|
+
<title>Normative references</title>
|
105
105
|
<p id="_">The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
|
106
106
|
<bibitem id="iso123">
|
107
107
|
<formattedref format="application/x-isodoc+xml">
|