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 +4 -4
- data/lib/asciidoctor/itu/isodoc.rng +228 -26
- data/lib/asciidoctor/itu/validate.rb +33 -31
- data/lib/isodoc/itu/itu.implementers-guide.xsl +36 -11
- data/lib/isodoc/itu/itu.in-force.xsl +36 -11
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +36 -11
- data/lib/isodoc/itu/itu.recommendation-supplement.xsl +36 -11
- data/lib/isodoc/itu/itu.recommendation.xsl +36 -11
- data/lib/isodoc/itu/itu.resolution.xsl +36 -11
- data/lib/isodoc/itu/itu.service-publication.xsl +36 -11
- data/lib/isodoc/itu/itu.technical-paper.xsl +36 -11
- data/lib/isodoc/itu/itu.technical-report.xsl +36 -11
- data/lib/isodoc/itu/metadata.rb +13 -15
- data/lib/isodoc/itu/terms.rb +9 -6
- data/lib/isodoc/itu/xref.rb +33 -24
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +2 -3
- metadata +7 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 884443bd7f066d1f36f6619d27f1c18ccea67e94f7630c1683c316d1f6147a34
|
|
4
|
+
data.tar.gz: 8e6338fa60555339dcf8d1201d899ce9d12dfba028f928e3d9cf3f981560bb80
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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="
|
|
1806
|
+
<ref name="deprecates"/>
|
|
1807
1807
|
</zeroOrMore>
|
|
1808
1808
|
<zeroOrMore>
|
|
1809
|
-
<ref name="
|
|
1809
|
+
<ref name="related"/>
|
|
1810
1810
|
</zeroOrMore>
|
|
1811
1811
|
<optional>
|
|
1812
1812
|
<ref name="termdomain"/>
|
|
1813
1813
|
</optional>
|
|
1814
|
-
<
|
|
1815
|
-
<ref name="
|
|
1816
|
-
</
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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="
|
|
1897
|
+
<attribute name="isInternational">
|
|
1898
|
+
<data type="boolean"/>
|
|
1899
|
+
</attribute>
|
|
1900
|
+
</optional>
|
|
1901
|
+
<element name="name">
|
|
1902
|
+
<oneOrMore>
|
|
1849
1903
|
<choice>
|
|
1850
|
-
<
|
|
1851
|
-
<
|
|
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
|
-
<
|
|
1857
|
-
<ref name="TextElement"/>
|
|
1858
|
-
</oneOrMore>
|
|
1918
|
+
<ref name="figure"/>
|
|
1859
1919
|
</element>
|
|
1860
1920
|
</define>
|
|
1861
|
-
<define name="
|
|
1862
|
-
<element name="
|
|
1863
|
-
<
|
|
1864
|
-
<
|
|
1865
|
-
|
|
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="
|
|
1876
|
-
<element name="
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
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,
|
|
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(
|
|
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 =
|
|
77
|
-
m_prev = i.zero? ? nil :
|
|
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",
|
|
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
|
-
|
|
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
|
-
|
|
92
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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"
|
|
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,
|
|
142
|
-
|
|
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']
|
|
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"
|
|
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:
|
|
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="$
|
|
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"/>
|