metanorma-itu 1.3.13 → 1.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0da762646b3253c450a7c952b40b3c71a6f30ba371831b617167e2ea5ae8813c
4
- data.tar.gz: daf355300a1de0a3c3a2920b9d5bcf52eb934890e29b33ef407263104ca6be97
3
+ metadata.gz: 884443bd7f066d1f36f6619d27f1c18ccea67e94f7630c1683c316d1f6147a34
4
+ data.tar.gz: 8e6338fa60555339dcf8d1201d899ce9d12dfba028f928e3d9cf3f981560bb80
5
5
  SHA512:
6
- metadata.gz: 7227280e92249dd3dbc8b6c3fb566b709e3fde581b9d9a96d961b04081c76109f55380e14a90cbd812939caabc7c9ac861428ed3c308cb0e3612902e2cf6105a
7
- data.tar.gz: 1009519227cf310c3c187c0f7c5536752098ca50e2a5f814712af1694bb56bddab71cd4a67aec589c46fbebc6a91504ac0c8719860af4ca4dd6c136e8d89b2f7
6
+ metadata.gz: '0582f0b0770409d595b19e0976f2438b6fff7084b02220d35ac0e29936ba2c2fe98682810b21b502c029a5a6defdcb6e0d4a3f00142174c07ec44df5e2bd5db6'
7
+ data.tar.gz: f3e40a05f45bcf0f1a87a920210188c1700950aa676a78c7f08c31fa1c0cce04282a2ed47a9f64506528220893bf9d39c484e2f43a3f3a263b63cef4619d0085
@@ -17,7 +17,7 @@
17
17
  these elements; we just want one namespace for any child grammars
18
18
  of this.
19
19
  -->
20
- <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
20
+ <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">
21
21
  <include href="reqt.rng"/>
22
22
  <!-- include "biblio.rnc" { } -->
23
23
  <include href="basicdoc.rng">
@@ -1803,17 +1803,20 @@
1803
1803
  <ref name="admitted"/>
1804
1804
  </zeroOrMore>
1805
1805
  <zeroOrMore>
1806
- <ref name="related"/>
1806
+ <ref name="deprecates"/>
1807
1807
  </zeroOrMore>
1808
1808
  <zeroOrMore>
1809
- <ref name="deprecates"/>
1809
+ <ref name="related"/>
1810
1810
  </zeroOrMore>
1811
1811
  <optional>
1812
1812
  <ref name="termdomain"/>
1813
1813
  </optional>
1814
- <zeroOrMore>
1815
- <ref name="termgrammar"/>
1816
- </zeroOrMore>
1814
+ <optional>
1815
+ <ref name="termsubject"/>
1816
+ </optional>
1817
+ <optional>
1818
+ <ref name="termusage"/>
1819
+ </optional>
1817
1820
  <oneOrMore>
1818
1821
  <ref name="termdefinition"/>
1819
1822
  </oneOrMore>
@@ -1830,41 +1833,200 @@
1830
1833
  </define>
1831
1834
  <define name="preferred">
1832
1835
  <element name="preferred">
1833
- <oneOrMore>
1834
- <ref name="TextElement"/>
1835
- </oneOrMore>
1836
+ <ref name="Designation"/>
1836
1837
  </element>
1837
1838
  </define>
1838
1839
  <define name="admitted">
1839
1840
  <element name="admitted">
1840
- <oneOrMore>
1841
- <ref name="TextElement"/>
1842
- </oneOrMore>
1841
+ <ref name="Designation"/>
1843
1842
  </element>
1844
1843
  </define>
1845
1844
  <define name="related">
1846
1845
  <element name="related">
1846
+ <attribute name="type">
1847
+ <ref name="RelatedTermType"/>
1848
+ </attribute>
1849
+ <element name="preferred">
1850
+ <ref name="Designation"/>
1851
+ </element>
1852
+ <choice>
1853
+ <ref name="eref"/>
1854
+ <ref name="xref"/>
1855
+ <ref name="termref"/>
1856
+ </choice>
1857
+ </element>
1858
+ </define>
1859
+ <define name="RelatedTermType">
1860
+ <choice>
1861
+ <value>deprecates</value>
1862
+ <value>supersedes</value>
1863
+ <value>narrower</value>
1864
+ <value>broader</value>
1865
+ <value>equivalent</value>
1866
+ <value>compare</value>
1867
+ <value>contrast</value>
1868
+ <value>see</value>
1869
+ </choice>
1870
+ </define>
1871
+ <define name="deprecates">
1872
+ <element name="deprecates">
1873
+ <ref name="Designation"/>
1874
+ </element>
1875
+ </define>
1876
+ <define name="Designation">
1877
+ <optional>
1878
+ <attribute name="absent">
1879
+ <data type="boolean"/>
1880
+ </attribute>
1881
+ </optional>
1882
+ <optional>
1883
+ <attribute name="geographicArea"/>
1884
+ </optional>
1885
+ <choice>
1886
+ <ref name="expression_designation"/>
1887
+ <ref name="letter_symbol_designation"/>
1888
+ <ref name="graphical_symbol_designation"/>
1889
+ </choice>
1890
+ <zeroOrMore>
1891
+ <ref name="termsource"/>
1892
+ </zeroOrMore>
1893
+ </define>
1894
+ <define name="letter_symbol_designation">
1895
+ <element name="letter-symbol">
1847
1896
  <optional>
1848
- <attribute name="type">
1897
+ <attribute name="isInternational">
1898
+ <data type="boolean"/>
1899
+ </attribute>
1900
+ </optional>
1901
+ <element name="name">
1902
+ <oneOrMore>
1849
1903
  <choice>
1850
- <value>compare</value>
1851
- <value>contrast</value>
1852
- <value>see</value>
1904
+ <ref name="PureTextElement"/>
1905
+ <ref name="stem"/>
1853
1906
  </choice>
1907
+ </oneOrMore>
1908
+ </element>
1909
+ </element>
1910
+ </define>
1911
+ <define name="graphical_symbol_designation">
1912
+ <element name="graphical-symbol">
1913
+ <optional>
1914
+ <attribute name="isInternational">
1915
+ <data type="boolean"/>
1854
1916
  </attribute>
1855
1917
  </optional>
1856
- <oneOrMore>
1857
- <ref name="TextElement"/>
1858
- </oneOrMore>
1918
+ <ref name="figure"/>
1859
1919
  </element>
1860
1920
  </define>
1861
- <define name="deprecates">
1862
- <element name="deprecates">
1863
- <oneOrMore>
1864
- <ref name="TextElement"/>
1865
- </oneOrMore>
1921
+ <define name="expression_designation">
1922
+ <element name="expression">
1923
+ <optional>
1924
+ <attribute name="language">
1925
+ <a:documentation>ISO-639</a:documentation>
1926
+ </attribute>
1927
+ </optional>
1928
+ <optional>
1929
+ <attribute name="script">
1930
+ <a:documentation>ISO-15924</a:documentation>
1931
+ </attribute>
1932
+ </optional>
1933
+ <optional>
1934
+ <attribute name="type">
1935
+ <ref name="ExpressionDesignationType"/>
1936
+ </attribute>
1937
+ </optional>
1938
+ <optional>
1939
+ <attribute name="isInternational">
1940
+ <data type="boolean"/>
1941
+ </attribute>
1942
+ </optional>
1943
+ <element name="name">
1944
+ <zeroOrMore>
1945
+ <ref name="PureTextElement"/>
1946
+ </zeroOrMore>
1947
+ </element>
1948
+ <optional>
1949
+ <element name="abbreviationType">
1950
+ <ref name="AbbreviationType"/>
1951
+ </element>
1952
+ </optional>
1953
+ <optional>
1954
+ <element name="pronunciation">
1955
+ <ref name="LocalizedString"/>
1956
+ </element>
1957
+ </optional>
1958
+ <optional>
1959
+ <element name="grammarInfo">
1960
+ <ref name="Grammar"/>
1961
+ </element>
1962
+ </optional>
1866
1963
  </element>
1867
1964
  </define>
1965
+ <define name="ExpressionDesignationType">
1966
+ <choice>
1967
+ <value>prefix</value>
1968
+ <value>suffix</value>
1969
+ <value>abbreviation</value>
1970
+ <value>full</value>
1971
+ </choice>
1972
+ </define>
1973
+ <define name="AbbreviationType">
1974
+ <choice>
1975
+ <value>truncation</value>
1976
+ <value>acronym</value>
1977
+ <value>initialism</value>
1978
+ </choice>
1979
+ </define>
1980
+ <define name="Grammar">
1981
+ <zeroOrMore>
1982
+ <element name="gender">
1983
+ <ref name="GrammarGender"/>
1984
+ </element>
1985
+ </zeroOrMore>
1986
+ <optional>
1987
+ <element name="isPreposition">
1988
+ <data type="boolean"/>
1989
+ </element>
1990
+ </optional>
1991
+ <optional>
1992
+ <element name="isParticiple">
1993
+ <data type="boolean"/>
1994
+ </element>
1995
+ </optional>
1996
+ <optional>
1997
+ <element name="isAdjective">
1998
+ <data type="boolean"/>
1999
+ </element>
2000
+ </optional>
2001
+ <optional>
2002
+ <element name="isVerb">
2003
+ <data type="boolean"/>
2004
+ </element>
2005
+ </optional>
2006
+ <optional>
2007
+ <element name="isAdverb">
2008
+ <data type="boolean"/>
2009
+ </element>
2010
+ </optional>
2011
+ <optional>
2012
+ <element name="isNoun">
2013
+ <data type="boolean"/>
2014
+ </element>
2015
+ </optional>
2016
+ <zeroOrMore>
2017
+ <element name="grammarvalue">
2018
+ <text/>
2019
+ </element>
2020
+ </zeroOrMore>
2021
+ </define>
2022
+ <define name="GrammarGender">
2023
+ <choice>
2024
+ <value>masculine</value>
2025
+ <value>feminine</value>
2026
+ <value>neuter</value>
2027
+ <value>common</value>
2028
+ </choice>
2029
+ </define>
1868
2030
  <define name="termdomain">
1869
2031
  <element name="domain">
1870
2032
  <oneOrMore>
@@ -1872,18 +2034,52 @@
1872
2034
  </oneOrMore>
1873
2035
  </element>
1874
2036
  </define>
1875
- <define name="termgrammar">
1876
- <element name="grammar">
2037
+ <define name="termsubject">
2038
+ <element name="subject">
1877
2039
  <oneOrMore>
1878
2040
  <ref name="TextElement"/>
1879
2041
  </oneOrMore>
1880
2042
  </element>
1881
2043
  </define>
2044
+ <define name="termusage">
2045
+ <element name="usageinfo">
2046
+ <oneOrMore>
2047
+ <ref name="BasicBlock"/>
2048
+ </oneOrMore>
2049
+ </element>
2050
+ </define>
1882
2051
  <define name="termdefinition">
1883
2052
  <element name="definition">
2053
+ <choice>
2054
+ <ref name="verbaldefinition"/>
2055
+ <ref name="nonverbalrep"/>
2056
+ <group>
2057
+ <ref name="verbaldefinition"/>
2058
+ <ref name="nonverbalrep"/>
2059
+ </group>
2060
+ </choice>
2061
+ </element>
2062
+ </define>
2063
+ <define name="verbaldefinition">
2064
+ <element name="verbaldefinition">
1884
2065
  <oneOrMore>
1885
2066
  <choice>
1886
2067
  <ref name="paragraph"/>
2068
+ <ref name="dl"/>
2069
+ <ref name="ol"/>
2070
+ <ref name="ul"/>
2071
+ </choice>
2072
+ </oneOrMore>
2073
+ <zeroOrMore>
2074
+ <ref name="termsource"/>
2075
+ </zeroOrMore>
2076
+ </element>
2077
+ </define>
2078
+ <define name="nonverbalrep">
2079
+ <element name="nonverbalrepresentation">
2080
+ <oneOrMore>
2081
+ <choice>
2082
+ <ref name="table"/>
1887
2083
  <ref name="figure"/>
1888
2084
  <ref name="formula"/>
1889
2085
  </choice>
@@ -1972,6 +2168,12 @@
1972
2168
  <value>modified</value>
1973
2169
  </choice>
1974
2170
  </attribute>
2171
+ <attribute name="type">
2172
+ <choice>
2173
+ <value>authoritative</value>
2174
+ <value>lineage</value>
2175
+ </choice>
2176
+ </attribute>
1975
2177
  <ref name="origin"/>
1976
2178
  <optional>
1977
2179
  <ref name="modification"/>
@@ -8,18 +8,19 @@ module Asciidoctor
8
8
 
9
9
  def doctype_validate(xmldoc)
10
10
  doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
11
- %w(recommendation recommendation-supplement recommendation-amendment
12
- recommendation-corrigendum recommendation-errata recommendation-annex
13
- focus-group implementers-guide technical-paper technical-report
14
- joint-itu-iso-iec service-publication).include? doctype or
15
- @log.add("Document Attributes", nil, "#{doctype} is not a recognised document type")
11
+ %w(recommendation recommendation-supplement recommendation-amendment
12
+ recommendation-corrigendum recommendation-errata recommendation-annex
13
+ focus-group implementers-guide technical-paper technical-report
14
+ joint-itu-iso-iec service-publication).include? doctype or
15
+ @log.add("Document Attributes", nil,
16
+ "#{doctype} is not a recognised document type")
16
17
  end
17
18
 
18
19
  def stage_validate(xmldoc)
19
20
  stage = xmldoc&.at("//bibdata/status/stage")&.text
20
- %w(in-force superseded in-force-prepublished withdrawn
21
- draft).include? stage or
22
- @log.add("Document Attributes", nil,
21
+ %w(in-force superseded in-force-prepublished withdrawn
22
+ draft).include? stage or
23
+ @log.add("Document Attributes", nil,
23
24
  "#{stage} is not a recognised status")
24
25
  end
25
26
 
@@ -40,12 +41,14 @@ module Asciidoctor
40
41
  xmldoc.xpath("//bibdata/series/title").each do |s|
41
42
  series = s.text.sub(/^[A-Z]: /, "")
42
43
  t.downcase.include?(series.downcase) and
43
- @log.add("Document Attributes", nil, "Title includes series name #{series}")
44
+ @log.add("Document Attributes", nil,
45
+ "Title includes series name #{series}")
44
46
  end
45
47
  end
46
48
 
47
49
  def extract_text(node)
48
50
  return "" if node.nil?
51
+
49
52
  node1 = Nokogiri::XML.fragment(node.to_s)
50
53
  node1.xpath("//link | //locality | //localityStack").each(&:remove)
51
54
  ret = ""
@@ -58,7 +61,7 @@ module Asciidoctor
58
61
  xmldoc.xpath("//preface/*").each do |c|
59
62
  extract_text(c).split(/\.\s+/).each do |t|
60
63
  /\b(shall|must)\b/i.match(t) and
61
- @log.add("Style", c,
64
+ @log.add("Style", c,
62
65
  "Requirement possibly in preface: #{t.strip}")
63
66
  end
64
67
  end
@@ -66,17 +69,17 @@ module Asciidoctor
66
69
 
67
70
  # Editing Guidelines 9.4.3
68
71
  # Supplanted by rendering
69
- def numbers_validate(xmldoc)
70
- end
72
+ def numbers_validate(xmldoc); end
71
73
 
72
- def style_two_regex_not_prev(n, text, re, re_prev, warning)
74
+ def style_two_regex_not_prev(node, text, regex, regex_prev, warning)
73
75
  return if text.nil?
76
+
74
77
  arr = text.split(/\W+/)
75
78
  arr.each_index do |i|
76
- m = re.match arr[i]
77
- m_prev = i.zero? ? nil : re_prev.match(arr[i - 1])
79
+ m = regex.match arr[i]
80
+ m_prev = i.zero? ? nil : regex_prev.match(arr[i - 1])
78
81
  if !m.nil? && m_prev.nil?
79
- @log.add("Style", n, "#{warning}: #{m[:num]}")
82
+ @log.add("Style", node, "#{warning}: #{m[:num]}")
80
83
  end
81
84
  end
82
85
  end
@@ -85,21 +88,19 @@ module Asciidoctor
85
88
  s = xmldoc.at("//bibdata/ext/recommendationstatus/approvalstage") or
86
89
  return
87
90
  process = s["process"]
88
- if process == "aap" and %w(determined in-force).include? s.text
89
- @log.add("Document Attributes", nil,
91
+ (process == "aap") && %w(determined in-force).include?(s.text) and
92
+ @log.add("Document Attributes", nil,
90
93
  "Recommendation Status #{s.text} inconsistent with AAP")
91
- end
92
- if process == "tap" and !%w(determined in-force).include? s.text
93
- @log.add("Document Attributes", nil,
94
+ (process == "tap") && !%w(determined in-force).include?(s.text) and
95
+ @log.add("Document Attributes", nil,
94
96
  "Recommendation Status #{s.text} inconsistent with TAP")
95
- end
96
97
  end
97
98
 
98
99
  def itu_identifier_validate(xmldoc)
99
- s = xmldoc.xpath("//bibdata/docidentifier[@type = 'ITU']").each do |x|
100
+ xmldoc.xpath("//bibdata/docidentifier[@type = 'ITU']").each do |x|
100
101
  /^ITU-[RTD] [AD-VX-Z]\.[0-9]+$/.match(x.text) or
101
102
  @log.add("Style", nil, "#{x.text} does not match ITU document "\
102
- "identifier conventions")
103
+ "identifier conventions")
103
104
  end
104
105
  end
105
106
 
@@ -112,8 +113,9 @@ module Asciidoctor
112
113
  def unnumbered_check(xmldoc)
113
114
  doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
114
115
  xmldoc.xpath("//clause[@unnumbered = 'true']").each do |c|
115
- next if doctype == "resolution" and c.parent.name == "sections" and
116
+ next if (doctype == "resolution") && (c.parent.name == "sections") &&
116
117
  !c.at("./preceding-sibling::clause")
118
+
117
119
  @log.add("Style", c, "Unnumbered clause out of place")
118
120
  end
119
121
  end
@@ -128,18 +130,18 @@ module Asciidoctor
128
130
 
129
131
  def termdef_style(xmldoc)
130
132
  xmldoc.xpath("//term").each do |t|
131
- para = t.at("./definition") || return
132
- term = t.at("./preferred").text
133
+ para = t.at("./definition/verbaldefinition") || return
134
+ term = t.at("./preferred//name").text
133
135
  termdef_warn(term, /^[A-Z][a-z]+/, t, term, "term is not lowercase")
134
- termdef_warn(para.text, /^[a-z]/, t, term,
136
+ termdef_warn(para.text, /^[a-z]/, t, term,
135
137
  "term definition does not start with capital")
136
- termdef_warn(para.text, /[^.]$/, t, term,
138
+ termdef_warn(para.text, /[^.]$/, t, term,
137
139
  "term definition does not end with period")
138
140
  end
139
141
  end
140
142
 
141
- def termdef_warn(text, re, t, term, msg)
142
- re.match(text) && @log.add("Style", t, "#{term}: #{msg}")
143
+ def termdef_warn(text, regex, node, term, msg)
144
+ regex.match(text) && @log.add("Style", node, "#{term}: #{msg}")
143
145
  end
144
146
  end
145
147
  end
@@ -1768,7 +1768,7 @@
1768
1768
  <xsl:otherwise>5mm</xsl:otherwise>
1769
1769
  </xsl:choose>
1770
1770
  </xsl:attribute>
1771
- <xsl:apply-templates select="ancestor::itu:term/itu:name" mode="presentation"/>
1771
+ <xsl:apply-templates select="ancestor::itu:term[1]/itu:name" mode="presentation"/>
1772
1772
  </fo:inline>
1773
1773
  <fo:inline font-weight="bold">
1774
1774
  <xsl:apply-templates/>
@@ -2441,6 +2441,8 @@
2441
2441
 
2442
2442
  <title-list-figures lang="en">List of Figures</title-list-figures>
2443
2443
 
2444
+ <title-table-figures lang="en">Table of Figures</title-table-figures>
2445
+
2444
2446
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
2445
2447
 
2446
2448
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
@@ -4416,6 +4418,7 @@
4416
4418
  </xsl:if>
4417
4419
 
4418
4420
  <fo:block margin-top="6pt">
4421
+ <xsl:copy-of select="@id"/>
4419
4422
 
4420
4423
 
4421
4424
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -5265,14 +5268,18 @@
5265
5268
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
5266
5269
  <fo:inline><xsl:apply-templates/></fo:inline>
5267
5270
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
5271
+ <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
5268
5272
  <fo:block id="{@id}">
5269
5273
  <xsl:apply-templates/>
5270
5274
  </fo:block>
5271
5275
  </xsl:template><xsl:template match="*[local-name() = 'term']">
5276
+ <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
5272
5277
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
5273
5278
 
5274
5279
 
5275
-
5280
+ <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
5281
+
5282
+ </xsl:if>
5276
5283
  <xsl:apply-templates/>
5277
5284
  </fo:block>
5278
5285
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
@@ -5334,6 +5341,7 @@
5334
5341
  <xsl:otherwise>
5335
5342
  <fo:block xsl:use-attribute-sets="image-style">
5336
5343
 
5344
+
5337
5345
  <xsl:variable name="src">
5338
5346
  <xsl:call-template name="image_src"/>
5339
5347
  </xsl:variable>
@@ -5700,7 +5708,7 @@
5700
5708
  <xsl:text> </xsl:text>
5701
5709
  </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
5702
5710
  <xsl:value-of select="."/>
5703
- </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
5711
+ </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']//text()" mode="bookmarks" priority="2">
5704
5712
  <xsl:value-of select="."/>
5705
5713
  </xsl:template><xsl:template match="node()" mode="contents">
5706
5714
  <xsl:apply-templates mode="contents"/>
@@ -5798,6 +5806,8 @@
5798
5806
 
5799
5807
 
5800
5808
 
5809
+
5810
+
5801
5811
  </fo:bookmark-tree>
5802
5812
  </xsl:if>
5803
5813
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -6243,7 +6253,8 @@
6243
6253
  </fo:block>
6244
6254
  </fo:table-cell>
6245
6255
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
6246
- <fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
6256
+ <fo:block font-size="11pt">
6257
+
6247
6258
  <xsl:apply-templates/>
6248
6259
  </fo:block>
6249
6260
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
@@ -6348,6 +6359,7 @@
6348
6359
  </xsl:choose>
6349
6360
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
6350
6361
  <fo:block xsl:use-attribute-sets="termsource-style">
6362
+
6351
6363
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
6352
6364
  <xsl:variable name="termsource_text">
6353
6365
  <xsl:apply-templates/>
@@ -6358,13 +6370,15 @@
6358
6370
  <!-- <xsl:apply-templates /> -->
6359
6371
  <xsl:copy-of select="$termsource_text"/>
6360
6372
  </xsl:when>
6361
- <xsl:otherwise>
6373
+ <xsl:otherwise>
6374
+
6362
6375
 
6363
6376
  <xsl:text>[</xsl:text>
6364
6377
 
6365
6378
  <!-- <xsl:apply-templates /> -->
6366
6379
  <xsl:copy-of select="$termsource_text"/>
6367
6380
 
6381
+
6368
6382
  <xsl:text>]</xsl:text>
6369
6383
 
6370
6384
  </xsl:otherwise>
@@ -6431,12 +6445,20 @@
6431
6445
  </xsl:template><xsl:template match="*[local-name() = 'author']">
6432
6446
  <xsl:text>— </xsl:text>
6433
6447
  <xsl:apply-templates/>
6434
- </xsl:template><xsl:template match="*[local-name() = 'eref']">
6448
+ </xsl:template><xsl:variable name="bibitem_hidden_">
6449
+ <xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
6450
+ <xsl:copy-of select="."/>
6451
+ </xsl:for-each>
6452
+ <xsl:for-each select="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem']">
6453
+ <xsl:copy-of select="."/>
6454
+ </xsl:for-each>
6455
+ </xsl:variable><xsl:variable name="bibitem_hidden" select="xalan:nodeset($bibitem_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
6435
6456
 
6436
6457
  <xsl:variable name="bibitemid">
6437
6458
  <xsl:choose>
6438
- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
6439
- <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
6459
+ <!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
6460
+ <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
6461
+ <xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
6440
6462
  <xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
6441
6463
  </xsl:choose>
6442
6464
  </xsl:variable>
@@ -6528,10 +6550,10 @@
6528
6550
  </xsl:choose>
6529
6551
  </xsl:variable>
6530
6552
 
6531
- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
6553
+ <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
6532
6554
 
6533
6555
  <xsl:choose>
6534
- <xsl:when test="$language = 'zh'">
6556
+ <xsl:when test="$lang = 'zh'">
6535
6557
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
6536
6558
  </xsl:when>
6537
6559
  <xsl:when test="../../@inline-header = 'true'">
@@ -7522,12 +7544,15 @@
7522
7544
  <xsl:param name="default">left</xsl:param>
7523
7545
  <xsl:attribute name="text-align">
7524
7546
  <xsl:choose>
7525
- <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
7547
+ <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
7526
7548
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
7527
7549
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
7528
7550
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
7529
7551
  </xsl:choose>
7530
7552
  </xsl:attribute>
7553
+ <xsl:if test="@align = 'indent'">
7554
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
7555
+ </xsl:if>
7531
7556
  </xsl:template><xsl:template name="number-to-words">
7532
7557
  <xsl:param name="number"/>
7533
7558
  <xsl:param name="first"/>