metanorma-ogc 1.1.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/ogc/converter.rb +11 -7
  3. data/lib/asciidoctor/ogc/isodoc.rng +12 -6
  4. data/lib/asciidoctor/ogc/validate.rb +13 -25
  5. data/lib/isodoc/ogc/base_convert.rb +2 -26
  6. data/lib/isodoc/ogc/html_convert.rb +2 -0
  7. data/lib/isodoc/ogc/i18n-en.yaml +1 -0
  8. data/lib/isodoc/ogc/i18n.rb +10 -0
  9. data/lib/isodoc/ogc/init.rb +32 -0
  10. data/lib/isodoc/ogc/metadata.rb +1 -1
  11. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +1312 -1461
  12. data/lib/isodoc/ogc/ogc.best-practice.xsl +1312 -1461
  13. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +1312 -1461
  14. data/lib/isodoc/ogc/ogc.community-practice.xsl +1312 -1461
  15. data/lib/isodoc/ogc/ogc.community-standard.xsl +1312 -1461
  16. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +1312 -1461
  17. data/lib/isodoc/ogc/ogc.engineering-report.xsl +1312 -1461
  18. data/lib/isodoc/ogc/ogc.other.xsl +1312 -1461
  19. data/lib/isodoc/ogc/ogc.policy.xsl +1312 -1461
  20. data/lib/isodoc/ogc/ogc.reference-model.xsl +1312 -1461
  21. data/lib/isodoc/ogc/ogc.release-notes.xsl +1312 -1461
  22. data/lib/isodoc/ogc/ogc.standard.xsl +1312 -1461
  23. data/lib/isodoc/ogc/ogc.test-suite.xsl +1312 -1461
  24. data/lib/isodoc/ogc/ogc.user-guide.xsl +1312 -1461
  25. data/lib/isodoc/ogc/ogc.white-paper.xsl +1537 -1934
  26. data/lib/isodoc/ogc/presentation_xml_convert.rb +128 -1
  27. data/lib/isodoc/ogc/reqt.rb +4 -26
  28. data/lib/isodoc/ogc/sections.rb +18 -64
  29. data/lib/isodoc/ogc/word_convert.rb +2 -0
  30. data/lib/isodoc/ogc/xref.rb +9 -11
  31. data/lib/metanorma/ogc/version.rb +1 -1
  32. data/metanorma-ogc.gemspec +2 -4
  33. metadata +8 -34
@@ -1,92 +1,75 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:ogc="https://www.metanorma.org/ns/ogc" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java" version="1.0">
2
2
 
3
3
  <xsl:output version="1.0" method="xml" encoding="UTF-8" indent="no"/>
4
-
5
- <xsl:variable name="pageWidth" select="'210mm'"/>
6
- <xsl:variable name="pageHeight" select="'297mm'"/>
4
+
5
+ <xsl:param name="svg_images"/>
6
+ <xsl:variable name="images" select="document($svg_images)"/>
7
+
8
+ <xsl:variable name="pageWidth" select="'215.9mm'"/>
9
+ <xsl:variable name="pageHeight" select="'279.4mm'"/>
7
10
 
8
11
 
9
12
 
10
13
  <xsl:variable name="debug">false</xsl:variable>
11
-
12
- <xsl:variable name="copyright">
13
- <xsl:text>© Open Geospatial Consortium </xsl:text>
14
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:copyright/ogc:from"/>
15
- <xsl:text> – All rights reserved</xsl:text>
16
- </xsl:variable>
17
- <xsl:variable name="copyright_short">
18
- <xsl:text>© </xsl:text>
19
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:copyright/ogc:from"/>
20
- <xsl:text> </xsl:text>
21
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type = 'publisher']/ogc:organization/ogc:name"/>
22
- </xsl:variable>
23
-
24
- <xsl:variable name="doctitle" select="/ogc:ogc-standard/ogc:bibdata/ogc:title[@language = 'en']"/>
25
14
 
26
- <xsl:variable name="doctype">
27
- <xsl:call-template name="capitalizeWords">
28
- <xsl:with-param name="str" select="/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:doctype"/>
29
- </xsl:call-template>
30
- </xsl:variable>
31
-
32
- <xsl:variable name="header">
33
- <xsl:text>Open Geospatial Consortium </xsl:text>
34
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:docidentifier[@type = 'ogc-internal']"/>
35
- <xsl:text>:</xsl:text>
36
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:copyright/ogc:from"/>
37
- </xsl:variable>
15
+ <xsl:variable name="color">rgb(0, 51, 102)</xsl:variable>
16
+
17
+ <xsl:attribute-set name="title-toc-style">
18
+ <xsl:attribute name="font-size">26pt</xsl:attribute>
19
+ <xsl:attribute name="border-bottom">2pt solid rgb(21, 43, 77)</xsl:attribute>
20
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
21
+ </xsl:attribute-set>
22
+
23
+ <xsl:attribute-set name="title-depth1-style" use-attribute-sets="title-toc-style">
24
+ <xsl:attribute name="color">rgb(59, 56, 56)</xsl:attribute>
25
+ <xsl:attribute name="margin-top">18pt</xsl:attribute>
26
+ <xsl:attribute name="margin-bottom">18pt</xsl:attribute>
27
+ <xsl:attribute name="line-height">110%</xsl:attribute>
28
+ </xsl:attribute-set>
29
+
30
+ <xsl:attribute-set name="title-depth2-style">
31
+ <xsl:attribute name="font-size">18pt</xsl:attribute>
32
+ <xsl:attribute name="color">rgb(21, 43, 77)</xsl:attribute>
33
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
34
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
35
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
36
+ <xsl:attribute name="line-height">110%</xsl:attribute>
37
+ </xsl:attribute-set>
38
+
39
+ <xsl:attribute-set name="title-depth3-style">
40
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
41
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
42
+ <xsl:attribute name="color">rgb(21, 43, 77)</xsl:attribute>
43
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
44
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
45
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
46
+ </xsl:attribute-set>
47
+
48
+ <xsl:attribute-set name="empty-style">
49
+ </xsl:attribute-set>
38
50
 
39
51
  <xsl:variable name="contents">
40
52
  <contents>
41
53
 
42
-
43
54
  <!-- Abstract, Keywords, Preface, Submitting Organizations, Submitters -->
44
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:abstract" mode="contents"/>
45
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1]" mode="contents">
46
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + 1"/>
47
- </xsl:apply-templates>
48
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:foreword" mode="contents">
49
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + count (/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1])+ 1"/>
50
-
51
- </xsl:apply-templates>
52
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:introduction" mode="contents"/>
53
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author'][1]/ogc:organization/ogc:name" mode="contents">
54
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + count (/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1])+ count(/ogc:ogc-standard/ogc:preface/ogc:foreword) + 1"/>
55
- </xsl:apply-templates>
56
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:submitters" mode="contents">
57
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + count (/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1])+ count(/ogc:ogc-standard/ogc:preface/ogc:foreword) + count(/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author'][1]/ogc:organization/ogc:name) + 1"/>
58
- </xsl:apply-templates>
59
-
60
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'submitters']" mode="contents">
61
- <xsl:with-param name="sectionNumSkew" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + count (/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1])+ count(/ogc:ogc-standard/ogc:preface/ogc:foreword) + count(/ogc:ogc-standard/ogc:preface/ogc:introduction) + count(/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author'][1]/ogc:organization/ogc:name) + count(/ogc:ogc-standard/ogc:preface/ogc:submitters)"/>
62
- </xsl:apply-templates>
63
-
64
-
65
-
66
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']" mode="contents">
67
- <xsl:with-param name="sectionNum" select="'1'"/>
68
- </xsl:apply-templates>
69
-
70
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']" mode="contents">
71
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']) + 1"/>
72
- </xsl:apply-templates>
73
55
 
74
- <!-- Normative references -->
75
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[@id = '_normative_references' or @id = '_references' or @id = 'references']" mode="contents">
76
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']) + count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']) + 1"/>
77
- </xsl:apply-templates>
56
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/*" mode="contents"/>
78
57
 
79
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:terms" mode="contents"> <!-- Terms and definitions -->
80
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']) + count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']) + count(/ogc:ogc-standard/ogc:bibliography/ogc:references[@id = '_normative_references' or @id = '_references' or @id = 'references']) + 1"/>
81
- </xsl:apply-templates>
58
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']" mode="contents"/>
59
+
60
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']" mode="contents"/>
61
+
62
+ <!-- Normative references -->
63
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[@id = '_normative_references' or @id = '_references' or @id = 'references']" mode="contents"/>
82
64
 
65
+ <!-- Terms and definitions -->
66
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:terms" mode="contents"/>
83
67
 
84
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/*[local-name() != 'terms' and not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]" mode="contents">
85
- <xsl:with-param name="sectionNumSkew" select="count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']) + count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']) + count(/ogc:ogc-standard/ogc:bibliography/ogc:references[@id = '_normative_references' or @id = '_references' or @id = 'references']) + count(/ogc:ogc-standard/ogc:sections/ogc:terms)"/>
86
- </xsl:apply-templates>
87
-
88
-
68
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/*[local-name() != 'terms' and not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]" mode="contents"/>
69
+
89
70
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:annex" mode="contents"/>
71
+
72
+ <!-- Bibliography -->
90
73
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[@id != '_normative_references' and @id != '_references' and @id != 'references']" mode="contents"/> <!-- [position() &gt; 1] -->
91
74
 
92
75
 
@@ -98,236 +81,64 @@
98
81
  </xsl:variable>
99
82
 
100
83
  <xsl:template match="/">
101
- <xsl:call-template name="namespaceCheck"/>
102
- <fo:root font-family="Times New Roman, STIX2Math, HanSans" font-size="10.5pt" xml:lang="{$lang}">
84
+ <xsl:call-template name="namespaceCheck"/>
85
+ <fo:root font-family="Arial, STIX2Math, HanSans" font-size="11pt" xml:lang="{$lang}">
103
86
  <fo:layout-master-set>
104
- <!-- Cover page -->
105
- <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
106
- <fo:region-body margin-top="23.5mm" margin-bottom="10mm" margin-left="19mm" margin-right="19mm"/>
107
- <fo:region-before region-name="cover-page-header" extent="23.5mm"/>
108
- <fo:region-after extent="10mm"/>
109
- <fo:region-start extent="19mm"/>
110
- <fo:region-end extent="19mm"/>
111
- </fo:simple-page-master>
112
87
 
113
88
  <!-- Document pages -->
114
- <!-- Preface odd pages -->
115
- <fo:simple-page-master master-name="odd-preface" page-width="{$pageWidth}" page-height="{$pageHeight}">
116
- <fo:region-body margin-top="17mm" margin-bottom="10mm" margin-left="19mm" margin-right="19mm"/>
117
- <fo:region-before region-name="header-odd" extent="17mm"/>
118
- <fo:region-after region-name="footer-odd" extent="10mm"/>
119
- <fo:region-start region-name="left-region" extent="19mm"/>
120
- <fo:region-end region-name="right-region" extent="19mm"/>
121
- </fo:simple-page-master>
122
- <!-- Preface even pages -->
123
- <fo:simple-page-master master-name="even-preface" page-width="{$pageWidth}" page-height="{$pageHeight}">
124
- <fo:region-body margin-top="17mm" margin-bottom="10mm" margin-left="19mm" margin-right="19mm"/>
125
- <fo:region-before region-name="header-even" extent="17mm"/>
126
- <fo:region-after region-name="footer-even" extent="10mm"/>
127
- <fo:region-start region-name="left-region" extent="19mm"/>
128
- <fo:region-end region-name="right-region" extent="19mm"/>
129
- </fo:simple-page-master>
130
- <fo:simple-page-master master-name="blankpage" page-width="{$pageWidth}" page-height="{$pageHeight}">
131
- <fo:region-body margin-top="17mm" margin-bottom="10mm" margin-left="19mm" margin-right="19mm"/>
132
- <fo:region-before region-name="header" extent="17mm"/>
133
- <fo:region-after region-name="footer" extent="10mm"/>
134
- <fo:region-start region-name="left" extent="19mm"/>
135
- <fo:region-end region-name="right" extent="19mm"/>
89
+ <fo:simple-page-master master-name="document" page-width="{$pageWidth}" page-height="{$pageHeight}">
90
+ <fo:region-body margin-top="1in" margin-bottom="1in" margin-left="1in" margin-right="1in"/>
91
+ <fo:region-before region-name="header" extent="1in" precedence="true"/>
92
+ <fo:region-after region-name="footer" extent="1in" precedence="true"/>
93
+ <fo:region-start region-name="left" extent="1in"/>
94
+ <fo:region-end region-name="right" extent="1in"/>
136
95
  </fo:simple-page-master>
137
- <fo:page-sequence-master master-name="preface">
138
- <fo:repeatable-page-master-alternatives>
139
- <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
140
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-preface"/>
141
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-preface"/>
142
- </fo:repeatable-page-master-alternatives>
143
- </fo:page-sequence-master>
144
-
145
- <!-- Document odd pages -->
146
- <fo:simple-page-master master-name="odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
147
- <fo:region-body margin-top="17mm" margin-bottom="10mm" margin-left="19mm" margin-right="19mm"/>
148
- <fo:region-before region-name="header-odd" extent="17mm"/>
149
- <fo:region-after region-name="footer-odd" extent="10mm"/>
150
- <fo:region-start region-name="left-region" extent="19mm"/>
151
- <fo:region-end region-name="right-region" extent="19mm"/>
152
- </fo:simple-page-master>
153
- <!-- Document even pages -->
154
- <fo:simple-page-master master-name="even" page-width="{$pageWidth}" page-height="{$pageHeight}">
155
- <fo:region-body margin-top="17mm" margin-bottom="9mm" margin-left="19mm" margin-right="19mm"/>
156
- <fo:region-before region-name="header-even" extent="17mm"/>
157
- <fo:region-after region-name="footer-even" extent="10mm"/>
158
- <fo:region-start region-name="left-region" extent="19mm"/>
159
- <fo:region-end region-name="right-region" extent="19mm"/>
160
- </fo:simple-page-master>
161
- <fo:page-sequence-master master-name="document">
162
- <fo:repeatable-page-master-alternatives>
163
- <fo:conditional-page-master-reference master-reference="blankpage" blank-or-not-blank="blank"/>
164
- <fo:conditional-page-master-reference odd-or-even="even" master-reference="even"/>
165
- <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd"/>
166
- </fo:repeatable-page-master-alternatives>
167
- </fo:page-sequence-master>
168
96
 
169
97
  </fo:layout-master-set>
170
98
 
171
99
  <xsl:call-template name="addPDFUAmeta"/>
172
100
 
173
101
  <!-- Cover Page -->
174
- <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
175
- <fo:static-content flow-name="xsl-footnote-separator">
176
- <fo:block>
177
- <fo:leader leader-pattern="rule" leader-length="30%"/>
178
- </fo:block>
179
- </fo:static-content>
180
- <fo:static-content flow-name="cover-page-header" font-size="10pt">
181
- <fo:block-container height="23.5mm" display-align="before">
182
- <fo:block padding-top="12.5mm">
183
- <xsl:value-of select="$copyright"/>
184
- </fo:block>
102
+ <fo:page-sequence master-reference="document" force-page-count="no-force">
103
+ <xsl:call-template name="insertHeaderFooter"/>
104
+ <fo:flow flow-name="xsl-region-body">
105
+
106
+ <fo:block-container margin-left="-12mm" margin-right="-9mm">
107
+ <fo:block-container margin-left="0mm" margin-right="0mm">
108
+ <fo:block font-size="36pt" background-color="{$color}" color="white" margin-left="2.5mm" padding-top="1mm" padding-left="1mm">
109
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:title/node()"/>
110
+ </fo:block>
111
+ </fo:block-container>
185
112
  </fo:block-container>
186
- </fo:static-content>
187
113
 
188
- <fo:flow flow-name="xsl-region-body">
114
+ <fo:block font-size="14pt" font-style="italic" margin-top="6pt" color="rgb(21, 43, 77)">
115
+ <xsl:text>Additional context, inspirational quote, etc. fits into this subheading area</xsl:text>
116
+ </fo:block>
189
117
 
190
- <fo:block text-align="right" font-size="10pt">
191
- <!-- CC/FDS 18011:2018 -->
192
- <fo:block font-size="18pt" font-weight="bold" margin-bottom="10pt">
193
- <xsl:text>Open Geospatial Consortium </xsl:text>
118
+ <fo:block-container absolute-position="fixed" left="20mm" top="91mm" width="175mm" font-size="9pt">
119
+ <fo:block margin-top="8pt">
120
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:copyright-statement"/>
194
121
  </fo:block>
195
- <fo:block line-height="115%">
196
- <fo:block margin-bottom="12pt">
197
- <xsl:text>Submission Date: </xsl:text>
198
- <xsl:choose>
199
- <xsl:when test="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'received']/ogc:on">
200
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'received']/ogc:on"/>
201
- </xsl:when>
202
- <xsl:otherwise>XXX</xsl:otherwise>
203
- </xsl:choose>
204
- <xsl:text> </xsl:text>
205
- </fo:block>
206
- <fo:block margin-bottom="12pt">
207
- <xsl:text>Approval Date: </xsl:text>
208
- <xsl:choose>
209
- <xsl:when test="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'issued']/ogc:on">
210
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'issued']/ogc:on"/>
211
- </xsl:when>
212
- <xsl:otherwise>XXX</xsl:otherwise>
213
- </xsl:choose>
214
- <xsl:text> </xsl:text>
215
- </fo:block>
216
- <fo:block margin-bottom="12pt">
217
- <xsl:text>Publication Date: </xsl:text>
218
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:date[@type = 'published']/ogc:on"/><xsl:text> </xsl:text>
219
- </fo:block>
220
- <fo:block margin-bottom="12pt">
221
- <xsl:text>External identifier of this OGC® document: </xsl:text>
222
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:docidentifier[@type='ogc-external']"/><xsl:text> </xsl:text>
223
- </fo:block>
224
- <fo:block margin-bottom="12pt">
225
- <xsl:text>Internal reference number of this OGC® document: </xsl:text>
226
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:docidentifier[@type='ogc-internal']"/><xsl:text> </xsl:text>
227
- </fo:block>
228
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:uri[not(@type)]"/>
229
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:edition"/>
230
-
231
- <fo:block margin-bottom="12pt">
232
- <xsl:text>Category: </xsl:text>
233
- <xsl:value-of select="$doctype"/>
234
- <xsl:text> </xsl:text>
235
- </fo:block>
236
- <fo:block margin-bottom="12pt">
237
- <xsl:text>Editor: </xsl:text>
238
- <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='editor']/ogc:person/ogc:name/ogc:completename">
239
- <xsl:value-of select="."/>
240
- <xsl:if test="position() != last()">, </xsl:if>
241
- </xsl:for-each>
242
- <xsl:text> </xsl:text>
243
- </fo:block>
122
+ <fo:block margin-top="8pt"> </fo:block>
123
+ <fo:block margin-top="8pt">
124
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:legal-statement"/>
244
125
  </fo:block>
245
- </fo:block>
246
- <fo:block font-size="24pt" font-weight="bold" text-align="center" margin-top="15pt" line-height="115%">
247
- <xsl:value-of select="$doctitle"/>
248
- </fo:block>
249
- <fo:block margin-bottom="12pt"> </fo:block>
250
- <!-- Copyright notice -->
251
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:copyright-statement"/>
252
-
253
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:legal-statement"/>
254
-
255
- <fo:block-container absolute-position="fixed" left="14mm" top="250mm" font-size="10pt">
256
- <fo:table table-layout="fixed" width="100%">
257
- <fo:table-column column-width="35mm"/>
258
- <fo:table-column column-width="70mm"/>
259
- <fo:table-body>
260
- <fo:table-row height="9mm">
261
- <fo:table-cell>
262
- <fo:block>Document number: </fo:block>
263
- </fo:table-cell>
264
- <fo:table-cell>
265
- <fo:block>
266
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:docnumber"/>
267
- </fo:block>
268
- </fo:table-cell>
269
- </fo:table-row>
270
- <fo:table-row height="9mm">
271
- <fo:table-cell>
272
- <fo:block>Document type: </fo:block>
273
- </fo:table-cell>
274
- <fo:table-cell>
275
- <fo:block line-height-shift-adjustment="disregard-shifts">OGC<fo:inline font-size="65%" vertical-align="super">®</fo:inline><xsl:text> </xsl:text><xsl:value-of select="$doctype"/></fo:block>
276
- </fo:table-cell>
277
- </fo:table-row>
278
- <fo:table-row height="9mm">
279
- <fo:table-cell>
280
- <fo:block>Document subtype: </fo:block>
281
- </fo:table-cell>
282
- <fo:table-cell>
283
- <fo:block>
284
- <xsl:call-template name="capitalizeWords">
285
- <xsl:with-param name="str" select="/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:docsubtype"/>
286
- </xsl:call-template>
287
- </fo:block>
288
- </fo:table-cell>
289
- </fo:table-row>
290
- <fo:table-row height="9mm">
291
- <fo:table-cell>
292
- <fo:block>Document stage: </fo:block>
293
- </fo:table-cell>
294
- <fo:table-cell>
295
- <fo:block>
296
- <xsl:variable name="stage" select="/ogc:ogc-standard/ogc:bibdata/ogc:status/ogc:stage"/>
297
- <xsl:call-template name="capitalize">
298
- <xsl:with-param name="str" select="$stage"/>
299
- </xsl:call-template>
300
- </fo:block>
301
- </fo:table-cell>
302
- </fo:table-row>
303
- <fo:table-row height="9mm">
304
- <fo:table-cell>
305
- <fo:block>Document language: </fo:block>
306
- </fo:table-cell>
307
- <fo:table-cell>
308
- <fo:block>
309
- <xsl:call-template name="getLanguage">
310
- <xsl:with-param name="lang" select="$lang"/>
311
- </xsl:call-template>
312
- </fo:block>
313
- </fo:table-cell>
314
- </fo:table-row>
315
- </fo:table-body>
316
- </fo:table>
317
126
  </fo:block-container>
318
127
 
128
+ <fo:block-container absolute-position="fixed" left="79mm" top="168mm">
129
+ <fo:block>
130
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Logo-OGC))}" width="57.5mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Logo"/>
131
+ </fo:block>
132
+ </fo:block-container>
133
+
319
134
  </fo:flow>
320
135
  </fo:page-sequence>
321
136
  <!-- End Cover Page -->
322
137
 
323
138
 
324
139
  <!-- Copyright, Content, Foreword, etc. pages -->
325
- <fo:page-sequence master-reference="preface" initial-page-number="2" format="i" force-page-count="end-on-even"> <!-- -->
326
- <fo:static-content flow-name="xsl-footnote-separator">
327
- <fo:block>
328
- <fo:leader leader-pattern="rule" leader-length="30%"/>
329
- </fo:block>
330
- </fo:static-content>
140
+ <fo:page-sequence master-reference="document" force-page-count="no-force"> <!-- -->
141
+
331
142
  <xsl:call-template name="insertHeaderFooter"/>
332
143
  <fo:flow flow-name="xsl-region-body">
333
144
 
@@ -341,107 +152,35 @@
341
152
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:license-statement"/>
342
153
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:boilerplate/ogc:feedback-statement"/>
343
154
 
344
- <fo:block break-after="page"/>
345
- <fo:block> </fo:block>
346
155
  <fo:block break-after="page"/>
347
156
 
348
- <fo:block-container font-weight="bold" line-height="115%" margin-bottom="36pt">
349
- <xsl:variable name="title-toc">
350
- <xsl:call-template name="getTitle">
351
- <xsl:with-param name="name" select="'title-toc'"/>
352
- </xsl:call-template>
353
- </xsl:variable>
354
- <fo:block font-size="14pt" margin-top="2pt" margin-bottom="15.5pt"><xsl:value-of select="$title-toc"/></fo:block>
355
-
356
- <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true' and @level &lt;= 2]"><!-- skip clause from preface [not(@level = 2 and starts-with(@section, '0'))] -->
357
-
358
- <fo:block>
359
- <xsl:if test="@level = 1">
360
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
361
- </xsl:if>
362
- <fo:list-block>
363
- <xsl:attribute name="provisional-distance-between-starts">
364
- <xsl:choose>
365
- <!-- skip 0 section without subsections -->
366
- <xsl:when test="@section != '' and not(@display-section = 'false')">8mm</xsl:when>
367
- <xsl:otherwise>0mm</xsl:otherwise>
368
- </xsl:choose>
369
- </xsl:attribute>
370
- <fo:list-item>
371
- <fo:list-item-label end-indent="label-end()">
372
- <fo:block>
373
- <xsl:if test="@section and not(@display-section = 'false')"> <!-- output below -->
374
- <xsl:value-of select="@section"/><xsl:text>.</xsl:text>
375
- </xsl:if>
376
- </fo:block>
377
- </fo:list-item-label>
378
- <fo:list-item-body start-indent="body-start()">
379
- <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
380
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
381
- <xsl:if test="@section and @display-section = 'false' and not(@section = '0')">
382
- <xsl:value-of select="@section"/><xsl:text> </xsl:text>
383
- </xsl:if>
384
- <xsl:if test="@addon != ''">
385
- <xsl:text>(</xsl:text><xsl:value-of select="@addon"/><xsl:text>)</xsl:text>
386
- </xsl:if>
387
- <xsl:text> </xsl:text><xsl:value-of select="text()"/>
388
- <fo:inline keep-together.within-line="always">
389
- <fo:leader leader-pattern="dots"/>
390
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
391
- </fo:inline>
392
- </fo:basic-link>
393
- </fo:block>
394
- </fo:list-item-body>
395
- </fo:list-item>
396
- </fo:list-block>
157
+ <fo:block-container line-height="1.08">
158
+ <fo:block xsl:use-attribute-sets="title-toc-style">
159
+ <xsl:text>Table of Contents</xsl:text>
160
+ </fo:block>
161
+ <xsl:variable name="margin-left">3.9</xsl:variable>
162
+ <xsl:for-each select="xalan:nodeset($contents)//item">
163
+ <fo:block margin-top="8pt" margin-bottom="5pt" margin-left="{(@level - 1) * $margin-left}mm" text-align-last="justify">
164
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
165
+ <xsl:apply-templates/>
166
+ <fo:inline keep-together.within-line="always">
167
+ <fo:leader leader-pattern="dots"/>
168
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
169
+ </fo:inline>
170
+ </fo:basic-link>
397
171
  </fo:block>
398
172
  </xsl:for-each>
399
173
 
400
- <xsl:if test="xalan:nodeset($contents)//item[@type = 'table']">
401
- <fo:block font-size="12pt"> </fo:block>
402
- <fo:block font-size="12pt"> </fo:block>
403
- <xsl:variable name="title-list-tables">
404
- <xsl:call-template name="getTitle">
405
- <xsl:with-param name="name" select="'title-list-tables'"/>
406
- </xsl:call-template>
407
- </xsl:variable>
408
- <fo:block font-size="14pt" font-weight="bold" space-before="48pt" margin-bottom="15.5pt"><xsl:value-of select="$title-list-tables"/></fo:block>
409
- <xsl:for-each select="xalan:nodeset($contents)//item[@type = 'table']">
410
- <fo:block text-align-last="justify" margin-top="6pt">
411
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{@section}">
412
- <xsl:value-of select="@section"/>
413
- <xsl:if test="text() != ''">
414
- <xsl:text> — </xsl:text>
415
- <xsl:value-of select="text()"/>
416
- </xsl:if>
417
- <xsl:text> </xsl:text>
418
- <fo:inline keep-together.within-line="always">
419
- <fo:leader leader-pattern="dots"/>
420
- <fo:page-number-citation ref-id="{@id}"/>
421
- </fo:inline>
422
- </fo:basic-link>
423
- </fo:block>
424
- </xsl:for-each>
425
- </xsl:if>
426
-
427
- <xsl:if test="xalan:nodeset($contents)//item[@type = 'figure']">
428
- <fo:block font-size="12pt"> </fo:block>
429
- <fo:block font-size="12pt"> </fo:block>
430
- <xsl:variable name="title-list-figures">
431
- <xsl:call-template name="getTitle">
432
- <xsl:with-param name="name" select="'title-list-figures'"/>
433
- </xsl:call-template>
434
- </xsl:variable>
435
- <fo:block font-size="14pt" font-weight="bold" space-before="48pt" margin-bottom="15.5pt"><xsl:value-of select="$title-list-figures"/></fo:block>
436
- <xsl:for-each select="xalan:nodeset($contents)//item[@type = 'figure']">
437
- <fo:block text-align-last="justify" margin-top="6pt">
438
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{@section}">
439
- <xsl:value-of select="@section"/>
440
- <xsl:if test="text() != ''">
441
- <xsl:text> — </xsl:text>
442
- <xsl:value-of select="text()"/>
443
- </xsl:if>
444
- <xsl:text> </xsl:text>
174
+ <xsl:if test="//ogc:figure[@id and ogc:name] or //ogc:table[@id and ogc:name]">
175
+ <fo:block font-size="11pt" margin-top="8pt"> </fo:block>
176
+ <fo:block font-size="11pt" margin-top="8pt"> </fo:block>
177
+ <fo:block xsl:use-attribute-sets="title-toc-style">
178
+ <xsl:text>Table of Figures</xsl:text>
179
+ </fo:block>
180
+ <xsl:for-each select="//ogc:figure[@id and ogc:name] | //ogc:table[@id and ogc:name]">
181
+ <fo:block margin-top="8pt" margin-bottom="5pt" text-align-last="justify">
182
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{ogc:name}">
183
+ <xsl:apply-templates select="ogc:name" mode="contents"/>
445
184
  <fo:inline keep-together.within-line="always">
446
185
  <fo:leader leader-pattern="dots"/>
447
186
  <fo:page-number-citation ref-id="{@id}"/>
@@ -449,77 +188,41 @@
449
188
  </fo:basic-link>
450
189
  </fo:block>
451
190
  </xsl:for-each>
452
- </xsl:if>
453
-
191
+ </xsl:if>
454
192
  </fo:block-container>
455
-
193
+
456
194
 
457
195
  <!-- Abstract, Keywords, Preface, Submitting Organizations, Submitters -->
458
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:abstract" mode="abstract"/>
459
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1]">
460
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + 1"/>
461
- </xsl:apply-templates>
462
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:foreword" mode="preface">
463
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + count (/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1])+ 1"/>
464
- </xsl:apply-templates>
465
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:introduction" mode="introduction"/>
466
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author'][1]/ogc:organization/ogc:name">
467
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + count (/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1])+ count(/ogc:ogc-standard/ogc:preface/ogc:foreword) + 1"/>
468
- </xsl:apply-templates>
469
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/ogc:submitters">
470
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + count (/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1])+ count(/ogc:ogc-standard/ogc:preface/ogc:foreword) + count(/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author'][1]/ogc:organization/ogc:name) + 1"/>
471
- </xsl:apply-templates>
472
-
473
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'submitters']">
474
- <xsl:with-param name="sectionNumSkew" select="count(/ogc:ogc-standard/ogc:preface/ogc:abstract) + count (/ogc:ogc-standard/ogc:bibdata/ogc:keyword[1])+ count(/ogc:ogc-standard/ogc:preface/ogc:foreword) + count(/ogc:ogc-standard/ogc:preface/ogc:introduction) + count(/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author'][1]/ogc:organization/ogc:name) + count(/ogc:ogc-standard/ogc:preface/ogc:submitters)"/>
475
- </xsl:apply-templates>
476
-
477
-
196
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:preface/*" mode="preface"/>
197
+
478
198
  </fo:flow>
479
199
  </fo:page-sequence>
480
200
 
481
201
 
482
202
  <!-- Document Pages -->
483
203
  <fo:page-sequence master-reference="document" initial-page-number="1" format="1" force-page-count="no-force">
484
- <fo:static-content flow-name="xsl-footnote-separator">
485
- <fo:block>
486
- <fo:leader leader-pattern="rule" leader-length="30%"/>
487
- </fo:block>
488
- </fo:static-content>
489
- <xsl:call-template name="insertHeaderFooter">
490
- <xsl:with-param name="pagenum-font-weight">bold</xsl:with-param>
491
- </xsl:call-template>
204
+
205
+ <xsl:call-template name="insertHeaderFooter"/>
206
+
492
207
  <fo:flow flow-name="xsl-region-body">
493
- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt">
494
- <xsl:value-of select="$doctitle"/>
495
- </fo:block>
496
208
 
497
209
  <fo:block line-height="125%">
498
210
 
499
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']">
500
- <xsl:with-param name="sectionNum" select="'1'"/>
501
- </xsl:apply-templates>
211
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']"/>
502
212
 
503
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']">
504
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']) + 1"/>
505
- </xsl:apply-templates>
213
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']"/>
506
214
 
507
215
  <!-- Normative references -->
508
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[@id = '_normative_references' or @id = '_references' or @id = 'references']">
509
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']) + count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']) + 1"/>
510
- </xsl:apply-templates>
511
-
512
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:terms"> <!-- Terms and definitions -->
513
- <xsl:with-param name="sectionNum" select="count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']) + count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']) + count(/ogc:ogc-standard/ogc:bibliography/ogc:references[@id = '_normative_references' or @id = '_references' or @id = 'references']) + 1"/>
514
- </xsl:apply-templates>
515
-
516
-
517
- <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/*[local-name() != 'terms' and not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]">
518
- <xsl:with-param name="sectionNumSkew" select="count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='_scope']) + count(/ogc:ogc-standard/ogc:sections/ogc:clause[@id='conformance' or @id='_conformance']) + count(/ogc:ogc-standard/ogc:bibliography/ogc:references[@id = '_normative_references' or @id = '_references' or @id = 'references']) + count(/ogc:ogc-standard/ogc:sections/ogc:terms)"/>
519
- </xsl:apply-templates>
216
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[@id = '_normative_references' or @id = '_references' or @id = 'references']"/>
217
+
218
+ <!-- Terms and definitions -->
219
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/ogc:terms"/>
520
220
 
221
+ <xsl:apply-templates select="/ogc:ogc-standard/ogc:sections/*[local-name() != 'terms' and not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]"/>
521
222
 
522
223
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:annex"/>
224
+
225
+ <!-- Bibliography -->
523
226
  <xsl:apply-templates select="/ogc:ogc-standard/ogc:bibliography/ogc:references[@id != '_normative_references' and @id != '_references' and @id != 'references']"/> <!-- [position() &gt; 1] -->
524
227
 
525
228
  </fo:block>
@@ -531,302 +234,56 @@
531
234
  </fo:root>
532
235
  </xsl:template>
533
236
 
534
- <!-- for pass the paremeter 'sectionNum' over templates, like 'tunnel' parameter in XSLT 2.0 -->
535
- <xsl:template match="node()">
536
- <xsl:param name="sectionNum"/>
537
- <xsl:param name="sectionNumSkew"/>
538
- <xsl:apply-templates>
539
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
540
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
541
- </xsl:apply-templates>
237
+ <xsl:template match="node()">
238
+ <xsl:apply-templates/>
542
239
  </xsl:template>
543
240
 
544
241
  <!-- ============================= -->
545
242
  <!-- CONTENTS -->
546
243
  <!-- ============================= -->
547
- <xsl:template match="node()" mode="contents">
548
- <xsl:param name="sectionNum"/>
549
- <xsl:param name="sectionNumSkew"/>
550
- <xsl:apply-templates mode="contents">
551
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
552
- <xsl:with-param name="sectionNumSkew" select="$sectionNumSkew"/>
553
- </xsl:apply-templates>
244
+ <xsl:template match="node()" mode="contents">
245
+ <xsl:apply-templates mode="contents"/>
554
246
  </xsl:template>
555
247
 
556
-
557
- <!-- calculate main section number (1,2,3) and pass it deep into templates -->
558
- <!-- it's necessary, because there is itu:bibliography/itu:references from other section, but numbering should be sequental -->
559
- <xsl:template match="ogc:ogc-standard/ogc:sections/*" mode="contents">
560
- <xsl:param name="sectionNum"/>
561
- <xsl:param name="sectionNumSkew" select="0"/>
562
- <xsl:variable name="sectionNum_">
563
- <xsl:choose>
564
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
565
- <xsl:when test="$sectionNumSkew != 0">
566
- <xsl:variable name="number"><xsl:number count="ogc:sections/ogc:clause[not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]"/></xsl:variable> <!-- * ogc:sections/ogc:clause | ogc:sections/ogc:terms -->
567
- <xsl:value-of select="$number + $sectionNumSkew"/>
568
- </xsl:when>
569
- <xsl:otherwise>
570
- <xsl:number count="*"/>
571
- </xsl:otherwise>
572
- </xsl:choose>
573
- </xsl:variable>
574
- <xsl:apply-templates mode="contents">
575
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
576
- </xsl:apply-templates>
577
- </xsl:template>
578
- <xsl:template match="ogc:ogc-standard/ogc:sections/ogc:terms" mode="contents">
579
- <xsl:param name="sectionNum"/>
580
- <xsl:param name="sectionNumSkew" select="0"/>
581
- <xsl:variable name="sectionNum_">
582
- <xsl:choose>
583
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
584
- <xsl:when test="$sectionNumSkew != 0">
585
- <xsl:variable name="number"><xsl:number count="*"/></xsl:variable> <!-- ogc:sections/ogc:clause | ogc:sections/ogc:terms -->
586
- <xsl:value-of select="$number + $sectionNumSkew"/>
587
- </xsl:when>
588
- <xsl:otherwise>
589
- <xsl:number count="*"/>
590
- </xsl:otherwise>
591
- </xsl:choose>
592
- </xsl:variable>
593
- <xsl:apply-templates mode="contents">
594
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
595
- </xsl:apply-templates>
596
- </xsl:template>
597
-
598
- <xsl:template match="ogc:ogc-standard/ogc:preface/ogc:clause" mode="contents">
599
- <xsl:param name="sectionNum"/>
600
- <xsl:param name="sectionNumSkew" select="0"/>
601
- <xsl:variable name="sectionNum_">
602
- <xsl:choose>
603
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
604
- <xsl:when test="$sectionNumSkew != 0">
605
- <xsl:variable name="number"><xsl:number count="ogc:clause"/></xsl:variable>
606
- <xsl:value-of select="$number + $sectionNumSkew"/>
607
- </xsl:when>
608
- <xsl:otherwise>
609
- <xsl:number count="*"/>
610
- </xsl:otherwise>
611
- </xsl:choose>
612
- </xsl:variable>
613
- <xsl:apply-templates mode="contents">
614
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
615
- </xsl:apply-templates>
616
- </xsl:template>
617
-
618
- <!-- Any node with title element - clause, definition, annex,... -->
619
- <xsl:template match="ogc:title | ogc:preferred" mode="contents">
620
- <xsl:param name="sectionNum"/>
621
- <xsl:variable name="id">
622
- <xsl:call-template name="getId"/>
623
- </xsl:variable>
624
-
248
+ <!-- element with title -->
249
+ <xsl:template match="*[ogc:title]" mode="contents">
625
250
  <xsl:variable name="level">
626
- <xsl:call-template name="getLevel"/>
627
- </xsl:variable>
628
-
629
- <xsl:variable name="section">
630
- <xsl:call-template name="getSection">
631
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
251
+ <xsl:call-template name="getLevel">
252
+ <xsl:with-param name="depth" select="ogc:title/@depth"/>
632
253
  </xsl:call-template>
633
254
  </xsl:variable>
634
255
 
635
256
  <xsl:variable name="display">
636
257
  <xsl:choose>
637
- <xsl:when test="ancestor::ogc:bibitem">false</xsl:when>
638
- <xsl:when test="ancestor::ogc:term">false</xsl:when>
639
- <xsl:when test="ancestor::ogc:annex and $level &gt;= 3">false</xsl:when>
640
- <xsl:when test="$level &lt;= 3">true</xsl:when>
641
- <xsl:otherwise>false</xsl:otherwise>
642
- </xsl:choose>
643
- </xsl:variable>
644
-
645
- <xsl:variable name="display-section">
646
- <xsl:choose>
647
- <xsl:when test="ancestor::ogc:annex and $level &gt;= 2">true</xsl:when>
648
- <xsl:when test="ancestor::ogc:annex">false</xsl:when>
649
- <xsl:when test="$section = '0'">false</xsl:when>
258
+ <xsl:when test="ancestor-or-self::ogc:bibitem">false</xsl:when>
259
+ <xsl:when test="ancestor-or-self::ogc:term">false</xsl:when>
260
+ <xsl:when test="$level &gt; 3">false</xsl:when>
650
261
  <xsl:otherwise>true</xsl:otherwise>
651
262
  </xsl:choose>
652
263
  </xsl:variable>
653
264
 
654
- <xsl:variable name="type">
655
- <xsl:value-of select="local-name(..)"/>
656
- </xsl:variable>
657
-
658
- <xsl:variable name="root">
659
- <xsl:choose>
660
- <xsl:when test="ancestor::ogc:annex">annex</xsl:when>
661
- <xsl:when test="ancestor::ogc:clause">clause</xsl:when>
662
- <xsl:when test="ancestor::ogc:terms">terms</xsl:when>
663
- </xsl:choose>
664
- </xsl:variable>
665
-
666
- <item id="{$id}" level="{$level}" section="{$section}" display-section="{$display-section}" display="{$display}" type="{$type}" root="{$root}">
667
- <xsl:attribute name="addon">
668
- <xsl:if test="local-name(..) = 'annex'"><xsl:value-of select="../@obligation"/></xsl:if>
669
- </xsl:attribute>
670
- <xsl:apply-templates/>
671
- </item>
672
-
673
- <xsl:apply-templates mode="contents">
674
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
675
- </xsl:apply-templates>
265
+ <xsl:if test="$display = 'true'">
676
266
 
677
- </xsl:template>
678
-
679
- <xsl:template match="ogc:ogc-standard/ogc:preface/*[not(local-name() = 'clause')]" mode="contents">
680
- <xsl:param name="sectionNum" select="'1'"/>
681
- <xsl:variable name="section">
682
- <xsl:number format="i" value="$sectionNum"/>
683
- </xsl:variable>
684
- <xsl:variable name="id">
685
- <xsl:choose>
686
- <xsl:when test="@id">
687
- <xsl:value-of select="@id"/>
688
- </xsl:when>
689
- <xsl:otherwise>
690
- <xsl:value-of select="local-name()"/>
691
- </xsl:otherwise>
692
- </xsl:choose>
693
- </xsl:variable>
694
- <xsl:if test="not(ogc:title)">
695
- <item id="{$id}" level="1" section="{$section}" display-section="true" display="true" type="abstract" root="preface">
696
- <xsl:if test="local-name() = 'foreword'">
697
- <xsl:attribute name="display">false</xsl:attribute>
698
- </xsl:if>
699
- <xsl:choose>
700
- <xsl:when test="not(ogc:title)">
701
- <xsl:variable name="name" select="local-name()"/>
702
- <xsl:call-template name="capitalize">
703
- <xsl:with-param name="str" select="$name"/>
704
- </xsl:call-template>
705
- </xsl:when>
706
- <xsl:otherwise>
707
- <xsl:value-of select="ogc:title"/>
708
- </xsl:otherwise>
709
- </xsl:choose>
710
- </item>
711
- </xsl:if>
712
- <xsl:apply-templates mode="contents">
713
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
714
- </xsl:apply-templates>
715
- </xsl:template>
716
-
717
- <!-- Keywords -->
718
- <xsl:template match="/ogc:ogc-standard/ogc:bibdata/ogc:keyword" mode="contents">
719
- <xsl:param name="sectionNum" select="'1'"/>
720
- <xsl:variable name="section">
721
- <xsl:number format="i" value="$sectionNum"/>
722
- </xsl:variable>
723
- <item id="keywords" level="1" section="{$section}" display-section="true" display="true" type="abstract" root="preface">
724
- <xsl:variable name="title-keywords">
725
- <xsl:call-template name="getTitle">
726
- <xsl:with-param name="name" select="'title-keywords'"/>
727
- </xsl:call-template>
267
+ <xsl:variable name="section">
268
+ <xsl:call-template name="getSection"/>
728
269
  </xsl:variable>
729
- <xsl:value-of select="$title-keywords"/>
730
- </item>
731
- </xsl:template>
732
- <!-- Submitting Organizations -->
733
- <xsl:template match="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author']/ogc:organization/ogc:name" mode="contents">
734
- <xsl:param name="sectionNum" select="'1'"/>
735
- <xsl:variable name="section">
736
- <xsl:number format="i" value="$sectionNum"/>
737
- </xsl:variable>
738
- <item id="submitting_orgs" level="1" section="{$section}" display-section="true" display="true" type="abstract" root="preface">
739
- <xsl:variable name="title-submitting-organizations">
740
- <xsl:call-template name="getTitle">
741
- <xsl:with-param name="name" select="'title-submitting-organizations'"/>
742
- </xsl:call-template>
270
+
271
+ <xsl:variable name="title">
272
+ <xsl:call-template name="getName"/>
743
273
  </xsl:variable>
744
- <xsl:value-of select="$title-submitting-organizations"/>
745
- </item>
746
- </xsl:template>
747
-
748
- <xsl:template match="ogc:figure" mode="contents">
749
- <xsl:param name="sectionNum"/>
750
- <item level="" id="{@id}" type="figure">
751
- <xsl:attribute name="section">
752
- <xsl:variable name="title-figure">
753
- <xsl:call-template name="getTitle">
754
- <xsl:with-param name="name" select="'title-figure'"/>
755
- </xsl:call-template>
756
- </xsl:variable>
757
- <xsl:value-of select="$title-figure"/>
758
- <xsl:choose>
759
- <xsl:when test="ancestor::ogc:annex">
760
- <xsl:choose>
761
- <xsl:when test="count(//ogc:annex) = 1">
762
- <xsl:value-of select="/ogc:nist-standard/ogc:bibdata/ogc:ext/ogc:structuredidentifier/ogc:annexid"/><xsl:number format="-1" level="any" count="ogc:annex//ogc:figure"/>
763
- </xsl:when>
764
- <xsl:otherwise>
765
- <xsl:number format="A.1-1" level="multiple" count="ogc:annex | ogc:figure"/>
766
- </xsl:otherwise>
767
- </xsl:choose>
768
- </xsl:when>
769
- <xsl:when test="ancestor::ogc:figure">
770
- <xsl:for-each select="parent::*[1]">
771
- <xsl:number format="1" level="any" count="ogc:figure[not(parent::ogc:figure)]"/>
772
- </xsl:for-each>
773
- <xsl:number format="-a" count="ogc:figure"/>
774
- </xsl:when>
775
- <xsl:otherwise>
776
- <xsl:number format="1" level="any" count="ogc:figure[not(parent::ogc:figure)] | ogc:sourcecode[not(@unnumbered = 'true') and not(ancestor::ogc:example)]"/>
777
- <!-- <xsl:number format="1.1-1" level="multiple" count="ogc:annex | ogc:figure"/> -->
778
- </xsl:otherwise>
779
- </xsl:choose>
780
- </xsl:attribute>
781
- <xsl:value-of select="ogc:name"/>
782
- </item>
783
- </xsl:template>
784
-
785
-
786
- <xsl:template match="ogc:table[not(@unnumbered='true')]" mode="contents">
787
- <xsl:param name="sectionNum"/>
788
- <xsl:variable name="annex-id" select="ancestor::ogc:annex/@id"/>
789
- <item level="" id="{@id}" display="false" type="table">
790
- <xsl:attribute name="section">
791
- <xsl:variable name="title-table">
792
- <xsl:call-template name="getTitle">
793
- <xsl:with-param name="name" select="'title-table'"/>
794
- </xsl:call-template>
795
- </xsl:variable>
796
- <xsl:value-of select="$title-table"/>
797
- <xsl:choose>
798
- <xsl:when test="ancestor::*[local-name()='executivesummary']">
799
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered='true')]"/>
800
- </xsl:when>
801
- <xsl:when test="ancestor::*[local-name()='annex']">
802
- <xsl:number format="A-" count="ogc:annex"/>
803
- <xsl:number format="1" level="any" count="ogc:table[ancestor::ogc:annex[@id = $annex-id]][not(@unnumbered='true')]"/>
804
- </xsl:when>
805
- <xsl:otherwise>
806
- <xsl:number format="1" level="any" count="*[local-name()='sections']//*[local-name()='table'][not(@unnumbered='true')] | *[local-name()='preface']//*[local-name()='table'][not(@unnumbered='true')]"/>
807
- </xsl:otherwise>
808
- </xsl:choose>
809
- </xsl:attribute>
810
- <xsl:value-of select="ogc:name/text()"/>
811
- </item>
812
- </xsl:template>
813
-
814
-
815
-
816
- <xsl:template match="ogc:formula" mode="contents">
817
- <item level="" id="{@id}" display="false">
818
- <xsl:attribute name="section">
819
- <xsl:variable name="title-formula">
820
- <xsl:call-template name="getTitle">
821
- <xsl:with-param name="name" select="'title-formula'"/>
822
- </xsl:call-template>
823
- </xsl:variable>
824
- <xsl:value-of select="$title-formula"/><xsl:number format="(A.1)" level="multiple" count="ogc:annex | ogc:formula"/>
825
- </xsl:attribute>
826
- </item>
274
+
275
+ <xsl:variable name="type">
276
+ <xsl:value-of select="local-name()"/>
277
+ </xsl:variable>
278
+
279
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}">
280
+ <xsl:apply-templates select="ogc:title" mode="contents_item"/>
281
+ </item>
282
+ <xsl:apply-templates mode="contents"/>
283
+ </xsl:if>
284
+
827
285
  </xsl:template>
828
286
 
829
- <xsl:template match="ogc:fn" mode="contents"/>
830
287
  <!-- ============================= -->
831
288
  <!-- ============================= -->
832
289
 
@@ -870,48 +327,26 @@
870
327
  </fo:block>
871
328
  </xsl:template>
872
329
 
873
- <xsl:template match="ogc:copyright-statement//ogc:title">
874
- <fo:block font-weight="bold" text-align="center">
330
+ <xsl:template match="ogc:copyright-statement | ogc:legal-statement">
331
+ <fo:block>
875
332
  <xsl:apply-templates/>
876
333
  </fo:block>
877
334
  </xsl:template>
878
- <xsl:template match="ogc:copyright-statement//ogc:p">
879
- <fo:block margin-bottom="12pt">
880
- <xsl:if test="not(following-sibling::p)">
881
- <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
882
- </xsl:if>
883
- <xsl:attribute name="text-align">
884
- <xsl:choose>
885
- <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
886
- <xsl:otherwise>center</xsl:otherwise>
887
- </xsl:choose>
888
- </xsl:attribute>
335
+
336
+ <xsl:template match="ogc:copyright-statement//ogc:clause | ogc:legal-statement//ogc:clause" priority="2">
337
+ <fo:block margin-top="6pt">
889
338
  <xsl:apply-templates/>
890
339
  </fo:block>
891
340
  </xsl:template>
892
-
893
- <xsl:template match="ogc:legal-statement">
894
- <fo:block-container border="0.5pt solid black" margin-bottom="12pt" margin-left="-2mm" margin-right="-2mm">
895
- <fo:block-container margin-left="0mm" margin-right="0mm">
896
- <fo:block margin-left="2mm" margin-right="2mm">
897
- <xsl:apply-templates/>
898
- </fo:block>
899
- </fo:block-container>
900
- </fo:block-container>
901
- </xsl:template>
902
-
903
-
904
- <xsl:template match="ogc:legal-statement//ogc:title">
905
- <fo:block text-align="center" font-weight="bold" padding-top="2mm" margin-bottom="6pt">
341
+
342
+ <xsl:template match="ogc:copyright-statement//ogc:title | ogc:legal-statement//ogc:title">
343
+ <fo:block text-align="center" font-weight="bold">
906
344
  <xsl:apply-templates/>
907
345
  </fo:block>
908
346
  </xsl:template>
909
347
 
910
- <xsl:template match="ogc:legal-statement//ogc:p">
911
- <fo:block margin-bottom="6pt">
912
- <xsl:if test="not(following-sibling::ogc:p)">
913
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
914
- </xsl:if>
348
+ <xsl:template match="ogc:copyright-statement//ogc:p | ogc:legal-statement//ogc:p">
349
+ <fo:block>
915
350
  <xsl:attribute name="text-align">
916
351
  <xsl:choose>
917
352
  <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
@@ -921,273 +356,96 @@
921
356
  <xsl:apply-templates/>
922
357
  </fo:block>
923
358
  </xsl:template>
924
-
925
-
926
- <!-- Introduction -->
927
- <xsl:template match="ogc:ogc-standard/ogc:preface/ogc:introduction" mode="introduction">
928
- <fo:block break-after="page"/>
929
- <xsl:apply-templates select="current()"/>
930
- </xsl:template>
931
- <!-- Abstract -->
932
- <xsl:template match="ogc:ogc-standard/ogc:preface/ogc:abstract" mode="abstract">
933
- <fo:block break-after="page"/>
934
- <xsl:apply-templates select="current()"/>
935
- </xsl:template>
936
- <!-- Preface -->
937
- <xsl:template match="ogc:ogc-standard/ogc:preface/ogc:foreword" mode="preface">
938
- <xsl:param name="sectionNum"/>
939
- <fo:block break-after="page"/>
940
- <xsl:apply-templates select="current()">
941
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
942
- </xsl:apply-templates>
943
- </xsl:template>
944
- <!-- Abstract, Preface -->
945
- <xsl:template match="ogc:ogc-standard/ogc:preface/*">
946
- <xsl:param name="sectionNum" select="'1'"/>
947
- <xsl:if test="not(ogc:title)">
948
- <xsl:variable name="id">
949
- <xsl:choose>
950
- <xsl:when test="@id">
951
- <xsl:value-of select="@id"/>
952
- </xsl:when>
953
- <xsl:otherwise>
954
- <xsl:value-of select="local-name()"/>
955
- </xsl:otherwise>
956
- </xsl:choose>
957
- </xsl:variable>
958
- <fo:block id="{$id}" font-size="13pt" font-weight="bold" margin-bottom="12pt" color="rgb(14, 26, 133)">
959
- <xsl:number format="i." value="$sectionNum"/><fo:inline padding-right="3mm"> </fo:inline>
960
- <xsl:variable name="name" select="local-name()"/>
961
- <xsl:call-template name="capitalize">
962
- <xsl:with-param name="str" select="$name"/>
963
- </xsl:call-template>
964
- </fo:block>
965
- </xsl:if>
966
- <xsl:apply-templates>
967
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
968
- </xsl:apply-templates>
969
- </xsl:template>
970
- <!-- Keywords -->
971
- <xsl:template match="/ogc:ogc-standard/ogc:bibdata/ogc:keyword">
972
- <xsl:param name="sectionNum" select="'1'"/>
973
- <fo:block id="keywords" font-size="13pt" font-weight="bold" margin-top="13.5pt" margin-bottom="12pt" color="rgb(14, 26, 133)">
974
- <xsl:number format="i." value="$sectionNum"/><fo:inline padding-right="2mm"> </fo:inline>
975
- <xsl:variable name="title-keywords">
976
- <xsl:call-template name="getTitle">
977
- <xsl:with-param name="name" select="'title-keywords'"/>
978
- </xsl:call-template>
979
- </xsl:variable>
980
- <xsl:value-of select="$title-keywords"/>
981
- </fo:block>
982
- <fo:block margin-bottom="12pt">The following are keywords to be used by search engines and document catalogues.</fo:block>
983
- <fo:block margin-bottom="12pt">
984
- <xsl:call-template name="insertKeywords">
985
- <xsl:with-param name="sorting">no</xsl:with-param>
986
- <xsl:with-param name="charAtEnd"/>
987
- </xsl:call-template>
988
- <!-- <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:keyword">
989
- <xsl:value-of select="."/>
990
- <xsl:if test="position() != last()">, </xsl:if>
991
- </xsl:for-each> -->
992
- </fo:block>
993
- </xsl:template>
994
- <!-- Submitting Organizations -->
995
- <xsl:template match="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author']/ogc:organization/ogc:name">
996
- <xsl:param name="sectionNum" select="'1'"/>
997
- <fo:block id="submitting_orgs" font-size="13pt" font-weight="bold" color="rgb(14, 26, 133)" margin-top="13.5pt" margin-bottom="12pt">
998
- <xsl:number format="i." value="$sectionNum"/><fo:inline padding-right="3mm"> </fo:inline>
999
- <xsl:variable name="title-submitting-organizations">
1000
- <xsl:call-template name="getTitle">
1001
- <xsl:with-param name="name" select="'title-submitting-organizations'"/>
1002
- </xsl:call-template>
1003
- </xsl:variable>
1004
- <xsl:value-of select="$title-submitting-organizations"/>
1005
- </fo:block>
1006
- <fo:block margin-bottom="12pt">The following organizations submitted this Document to the Open Geospatial Consortium (OGC):</fo:block>
1007
- <fo:list-block provisional-distance-between-starts="6.5mm" margin-bottom="12pt" line-height="115%">
1008
- <xsl:for-each select="/ogc:ogc-standard/ogc:bibdata/ogc:contributor[ogc:role/@type='author']/ogc:organization/ogc:name">
1009
- <fo:list-item>
1010
- <fo:list-item-label end-indent="label-end()">
1011
- <fo:block>—</fo:block>
1012
- </fo:list-item-label>
1013
- <fo:list-item-body start-indent="body-start()" line-height-shift-adjustment="disregard-shifts">
1014
- <fo:block>
1015
- <xsl:apply-templates/>
1016
- </fo:block>
1017
- </fo:list-item-body>
1018
- </fo:list-item>
1019
- </xsl:for-each>
1020
- </fo:list-block>
1021
- </xsl:template>
1022
359
 
1023
360
 
1024
- <!-- clause, terms, clause, ...-->
1025
- <xsl:template match="ogc:ogc-standard/ogc:sections/*">
1026
- <xsl:param name="sectionNum"/>
1027
- <xsl:param name="sectionNumSkew" select="0"/>
361
+ <xsl:template match="/*/*[local-name() = 'preface']/*" priority="3">
1028
362
  <fo:block>
1029
- <xsl:variable name="pos"><xsl:number count="ogc:sections/ogc:clause[not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]"/></xsl:variable> <!-- | ogc:sections/ogc:terms -->
1030
- <xsl:if test="$pos &gt;= 2">
1031
- <xsl:attribute name="space-before">18pt</xsl:attribute>
1032
- </xsl:if>
1033
- <xsl:variable name="sectionNum_">
1034
- <xsl:choose>
1035
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1036
- <xsl:when test="$sectionNumSkew != 0">
1037
- <xsl:variable name="number"><xsl:number count="ogc:sections/ogc:clause[not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]"/></xsl:variable> <!-- | ogc:sections/ogc:terms -->
1038
- <xsl:value-of select="$number + $sectionNumSkew"/>
1039
- </xsl:when>
1040
- <xsl:otherwise>
1041
- <xsl:number count="*"/>
1042
- </xsl:otherwise>
1043
- </xsl:choose>
1044
- </xsl:variable>
1045
- <xsl:if test="not(ogc:title)">
1046
- <fo:block margin-top="3pt" margin-bottom="12pt">
1047
- <xsl:value-of select="$sectionNum_"/><xsl:number format=".1 " level="multiple" count="ogc:clause[not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]"/>
1048
- </fo:block>
1049
- </xsl:if>
1050
- <xsl:apply-templates>
1051
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1052
- </xsl:apply-templates>
363
+ <xsl:call-template name="setId"/>
364
+ <xsl:apply-templates/>
1053
365
  </fo:block>
1054
366
  </xsl:template>
1055
367
 
1056
- <xsl:template match="ogc:ogc-standard/ogc:preface/ogc:clause">
1057
- <xsl:param name="sectionNum"/>
1058
- <xsl:param name="sectionNumSkew" select="0"/>
1059
- <xsl:variable name="sectionNum_">
1060
- <xsl:choose>
1061
- <xsl:when test="$sectionNum"><xsl:value-of select="$sectionNum"/></xsl:when>
1062
- <xsl:when test="$sectionNumSkew != 0">
1063
- <xsl:variable name="number"><xsl:number count="ogc:clause"/></xsl:variable>
1064
- <xsl:value-of select="$number + $sectionNumSkew"/>
1065
- </xsl:when>
1066
- <xsl:otherwise>
1067
- <xsl:number count="*"/>
1068
- </xsl:otherwise>
1069
- </xsl:choose>
1070
- </xsl:variable>
1071
- <xsl:apply-templates>
1072
- <xsl:with-param name="sectionNum" select="$sectionNum_"/>
1073
- </xsl:apply-templates>
368
+ <xsl:template match="ogc:ogc-standard/ogc:preface/*" mode="preface">
369
+ <xsl:if test="local-name() = 'introduction' or local-name() = 'abstract' or local-name() = 'foreword'">
370
+ <fo:block break-after="page"/>
371
+ </xsl:if>
372
+ <xsl:apply-templates select="current()"/>
1074
373
  </xsl:template>
374
+
1075
375
 
1076
376
 
1077
- <xsl:template match="ogc:clause//ogc:clause[not(ogc:title)]">
1078
- <xsl:param name="sectionNum"/>
1079
- <xsl:variable name="section">
1080
- <xsl:call-template name="getSection">
1081
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1082
- </xsl:call-template>
1083
- </xsl:variable>
1084
-
1085
- <fo:block margin-top="3pt">
1086
- <fo:inline font-weight="bold" padding-right="3mm">
1087
- <xsl:value-of select="$section"/>
1088
- </fo:inline>
1089
- <xsl:apply-templates>
1090
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1091
- <xsl:with-param name="inline" select="'true'"/>
1092
- </xsl:apply-templates>
377
+ <!-- ====== -->
378
+ <!-- title -->
379
+ <!-- ====== -->
380
+
381
+ <xsl:template match="ogc:annex/ogc:title">
382
+ <fo:block xsl:use-attribute-sets="title-depth1-style">
383
+ <xsl:apply-templates/>
1093
384
  </fo:block>
1094
385
  </xsl:template>
1095
386
 
1096
-
1097
387
  <xsl:template match="ogc:title">
1098
- <xsl:param name="sectionNum"/>
1099
-
1100
- <xsl:variable name="parent-name" select="local-name(..)"/>
1101
- <xsl:variable name="references_num_current">
1102
- <xsl:number level="any" count="ogc:references"/>
1103
- </xsl:variable>
1104
-
1105
- <xsl:variable name="id">
1106
- <xsl:call-template name="getId"/>
1107
- </xsl:variable>
1108
388
 
1109
389
  <xsl:variable name="level">
1110
390
  <xsl:call-template name="getLevel"/>
1111
391
  </xsl:variable>
1112
392
 
1113
- <xsl:variable name="section">
1114
- <xsl:call-template name="getSection">
1115
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1116
- </xsl:call-template>
1117
- </xsl:variable>
1118
-
1119
- <xsl:variable name="font-size">
1120
- <xsl:choose>
1121
- <xsl:when test="ancestor::ogc:preface and $level &gt;= 2">12pt</xsl:when>
1122
- <xsl:when test="ancestor::ogc:preface">13pt</xsl:when>
1123
- <xsl:when test="$level = 1">13pt</xsl:when>
1124
- <xsl:when test="$level = 2 and ancestor::ogc:terms">11pt</xsl:when>
1125
- <xsl:when test="$level = 2">12pt</xsl:when>
1126
- <xsl:when test="$level &gt;= 3">11pt</xsl:when>
1127
- <xsl:otherwise>16pt</xsl:otherwise>
1128
- </xsl:choose>
1129
- </xsl:variable>
1130
-
1131
- <xsl:variable name="element-name">
1132
- <xsl:choose>
1133
- <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
1134
- <xsl:otherwise>fo:block</xsl:otherwise>
1135
- </xsl:choose>
1136
- </xsl:variable>
1137
-
1138
- <xsl:variable name="color" select="'rgb(14, 26, 133)'"/>
1139
393
 
1140
394
  <xsl:choose>
1141
- <xsl:when test="$parent-name = 'annex'">
1142
- <fo:block id="{$id}" font-size="12pt" font-weight="bold" text-align="center" margin-bottom="12pt" keep-with-next="always" color="{$color}">
1143
- <xsl:value-of select="$section"/>
1144
- <xsl:if test=" ../@obligation">
1145
- <xsl:value-of select="$linebreak"/>
1146
- <fo:inline font-weight="normal">(<xsl:value-of select="../@obligation"/>)</fo:inline>
1147
- </xsl:if>
1148
- <xsl:value-of select="$linebreak"/>
1149
- <xsl:apply-templates/>
1150
- </fo:block>
395
+ <xsl:when test="../@inline-header = 'true'">
396
+ <xsl:choose>
397
+ <xsl:when test="$level = 1">
398
+ <fo:inline xsl:use-attribute-sets="title-depth1-style">
399
+ <xsl:apply-templates/>
400
+ </fo:inline>
401
+ </xsl:when>
402
+ <xsl:when test="$level = 2">
403
+ <fo:inline xsl:use-attribute-sets="title-depth2-style">
404
+ <xsl:apply-templates/>
405
+ </fo:inline>
406
+ </xsl:when>
407
+ <xsl:when test="$level = 3">
408
+ <fo:inline xsl:use-attribute-sets="title-depth3-style">
409
+ <xsl:apply-templates/>
410
+ </fo:inline>
411
+ </xsl:when>
412
+ <xsl:otherwise>
413
+ <fo:inline>
414
+ <xsl:apply-templates/>
415
+ </fo:inline>
416
+ </xsl:otherwise>
417
+ </xsl:choose>
1151
418
  </xsl:when>
1152
419
  <xsl:otherwise>
1153
- <xsl:element name="{$element-name}">
1154
- <xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
1155
- <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
1156
- <xsl:attribute name="font-weight">bold</xsl:attribute>
1157
- <xsl:attribute name="space-before">13.5pt</xsl:attribute>
1158
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1159
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1160
- <xsl:attribute name="color"><xsl:value-of select="$color"/></xsl:attribute>
1161
- <xsl:if test="$section != ''">
1162
- <xsl:if test="$section != '0'">
1163
- <xsl:value-of select="$section"/><xsl:text>.</xsl:text>
1164
- <xsl:choose>
1165
- <xsl:when test="$level &gt;= 5"/>
1166
- <xsl:when test="$level &gt;= 4">
1167
- <fo:inline padding-right="4mm"> </fo:inline>
1168
- </xsl:when>
1169
- <xsl:when test="$level &gt;= 3 and ancestor::ogc:terms">
1170
- <fo:inline padding-right="2mm"> </fo:inline>
1171
- </xsl:when>
1172
- <xsl:when test="$level &gt;= 2">
1173
- <fo:inline padding-right="3mm"> </fo:inline>
1174
- </xsl:when>
1175
- <xsl:when test="$level = 1">
1176
- <fo:inline padding-right="3mm"> </fo:inline>
1177
- </xsl:when>
1178
- <xsl:otherwise>
1179
- <fo:inline padding-right="1mm"> </fo:inline>
1180
- </xsl:otherwise>
1181
- </xsl:choose>
1182
- </xsl:if>
1183
- </xsl:if>
1184
- <xsl:apply-templates/>
1185
- </xsl:element>
420
+ <xsl:choose>
421
+ <xsl:when test="$level = 1">
422
+ <fo:block xsl:use-attribute-sets="title-depth1-style">
423
+ <xsl:apply-templates/>
424
+ </fo:block>
425
+ </xsl:when>
426
+ <xsl:when test="$level = 2">
427
+ <fo:block xsl:use-attribute-sets="title-depth2-style">
428
+ <xsl:apply-templates/>
429
+ </fo:block>
430
+ </xsl:when>
431
+ <xsl:when test="$level = 3">
432
+ <fo:block xsl:use-attribute-sets="title-depth3-style">
433
+ <xsl:apply-templates/>
434
+ </fo:block>
435
+ </xsl:when>
436
+ <xsl:otherwise>
437
+ <fo:block>
438
+ <xsl:apply-templates/>
439
+ </fo:block>
440
+ </xsl:otherwise>
441
+ </xsl:choose>
1186
442
  </xsl:otherwise>
1187
443
  </xsl:choose>
1188
-
1189
- </xsl:template>
1190
444
 
445
+
446
+ </xsl:template>
447
+ <!-- ====== -->
448
+ <!-- ====== -->
1191
449
 
1192
450
  <xsl:template match="ogc:p">
1193
451
  <xsl:param name="inline" select="'false'"/>
@@ -1241,7 +499,7 @@
1241
499
  <p id="_8e5cf917-f75a-4a49-b0aa-1714cb6cf954">Formerly denoted as 15 % (m/m).</p>
1242
500
  </fn>
1243
501
  -->
1244
- <xsl:template match="ogc:title/ogc:fn | ogc:p/ogc:fn[not(ancestor::ogc:table)] | ogc:p/*/ogc:fn[not(ancestor::ogc:table)] | ogc:sourcecode/ogc:fn[not(ancestor::ogc:table)]" priority="2">
502
+ <xsl:template match="ogc:title//ogc:fn | ogc:name//ogc:fn | ogc:p/ogc:fn[not(ancestor::ogc:table)] | ogc:p/*/ogc:fn[not(ancestor::ogc:table)] | ogc:sourcecode/ogc:fn[not(ancestor::ogc:table)]" priority="2">
1245
503
  <fo:footnote keep-with-previous.within-line="always">
1246
504
  <xsl:variable name="number" select="@reference"/>
1247
505
 
@@ -1269,75 +527,6 @@
1269
527
  </fo:block>
1270
528
  </xsl:template>
1271
529
 
1272
- <xsl:template match="ogc:review">
1273
- <!-- comment 2019-11-29 -->
1274
- <!-- <fo:block font-weight="bold">Review:</fo:block>
1275
- <xsl:apply-templates /> -->
1276
- </xsl:template>
1277
-
1278
- <xsl:template match="text()">
1279
- <xsl:value-of select="."/>
1280
- </xsl:template>
1281
-
1282
-
1283
- <xsl:template match="ogc:image"> <!-- only for without outer figure -->
1284
- <fo:block margin-top="12pt" margin-bottom="6pt">
1285
- <fo:external-graphic src="{@src}" width="100%" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/> <!-- content-width="75%" -->
1286
- </fo:block>
1287
- </xsl:template>
1288
-
1289
- <xsl:template match="ogc:figure">
1290
- <fo:block-container id="{@id}">
1291
- <fo:block>
1292
- <xsl:apply-templates/>
1293
- </fo:block>
1294
- <xsl:call-template name="fn_display_figure"/>
1295
- <xsl:for-each select="ogc:note//ogc:p">
1296
- <xsl:call-template name="note"/>
1297
- </xsl:for-each>
1298
- <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-top="12pt" margin-bottom="6pt" keep-with-previous="always">
1299
- <xsl:variable name="title-figure">
1300
- <xsl:call-template name="getTitle">
1301
- <xsl:with-param name="name" select="'title-figure'"/>
1302
- </xsl:call-template>
1303
- </xsl:variable>
1304
- <xsl:choose>
1305
- <xsl:when test="ancestor::ogc:annex">
1306
- <xsl:choose>
1307
- <xsl:when test="local-name(..) = 'figure'">
1308
- <xsl:number format="a) "/>
1309
- </xsl:when>
1310
- <xsl:otherwise>
1311
- <xsl:value-of select="$title-figure"/><xsl:number format="A.1-1" level="multiple" count="ogc:annex | ogc:figure"/>
1312
- </xsl:otherwise>
1313
- </xsl:choose>
1314
-
1315
- </xsl:when>
1316
- <xsl:otherwise>
1317
- <xsl:value-of select="$title-figure"/><xsl:number format="1" level="any" count="ogc:sourcecode[not(@unnumbered='true') and not(ancestor::ogc:example)] | ogc:figure"/>
1318
- </xsl:otherwise>
1319
- </xsl:choose>
1320
- <xsl:if test="ogc:name">
1321
- <xsl:if test="not(local-name(..) = 'figure')">
1322
- <xsl:text> — </xsl:text>
1323
- </xsl:if>
1324
- <xsl:value-of select="ogc:name"/>
1325
- </xsl:if>
1326
- </fo:block>
1327
- </fo:block-container>
1328
- </xsl:template>
1329
-
1330
- <xsl:template match="ogc:figure/ogc:name"/>
1331
- <xsl:template match="ogc:figure/ogc:fn"/>
1332
- <xsl:template match="ogc:figure/ogc:note"/>
1333
-
1334
-
1335
- <xsl:template match="ogc:figure/ogc:image">
1336
- <fo:block text-align="center">
1337
- <fo:external-graphic src="{@src}" width="100%" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/> <!-- content-width="75%" -->
1338
- </fo:block>
1339
- </xsl:template>
1340
-
1341
530
 
1342
531
  <xsl:template match="ogc:bibitem">
1343
532
  <fo:block id="{@id}" margin-bottom="12pt" start-indent="12mm" text-indent="-12mm" line-height="115%">
@@ -1384,7 +573,7 @@
1384
573
  </xsl:template>
1385
574
 
1386
575
 
1387
- <xsl:template match="ogc:bibitem/ogc:note">
576
+ <xsl:template match="ogc:bibitem/ogc:note" priority="2">
1388
577
  <fo:footnote>
1389
578
  <xsl:variable name="number">
1390
579
  <xsl:choose>
@@ -1427,7 +616,7 @@
1427
616
  </xsl:template>
1428
617
 
1429
618
  <xsl:template match="ogc:li">
1430
- <fo:list-item>
619
+ <fo:list-item id="{@id}">
1431
620
  <fo:list-item-label end-indent="label-end()">
1432
621
  <fo:block>
1433
622
  <xsl:choose>
@@ -1456,36 +645,28 @@
1456
645
  </fo:block>
1457
646
  </fo:list-item-label>
1458
647
  <fo:list-item-body start-indent="body-start()" line-height-shift-adjustment="disregard-shifts">
1459
- <xsl:apply-templates/>
648
+ <fo:block>
649
+ <xsl:apply-templates/>
650
+ </fo:block>
1460
651
  </fo:list-item-body>
1461
652
  </fo:list-item>
1462
653
  </xsl:template>
1463
654
 
1464
- <xsl:template match="ogc:ul/ogc:note | ogc:ol/ogc:note">
655
+ <xsl:template match="ogc:ul/ogc:note | ogc:ol/ogc:note" priority="2">
1465
656
  <fo:list-item font-size="10pt">
1466
657
  <fo:list-item-label><fo:block/></fo:list-item-label>
1467
658
  <fo:list-item-body>
1468
- <xsl:apply-templates/>
659
+ <fo:block>
660
+ <xsl:apply-templates select="ogc:name" mode="presentation"/>
661
+ <xsl:apply-templates/>
662
+ </fo:block>
1469
663
  </fo:list-item-body>
1470
664
  </fo:list-item>
1471
665
  </xsl:template>
1472
666
 
1473
- <xsl:template match="ogc:term">
1474
- <xsl:param name="sectionNum"/>
1475
- <fo:block id="{@id}">
1476
- <xsl:apply-templates>
1477
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1478
- </xsl:apply-templates>
1479
- </fo:block>
1480
- </xsl:template>
667
+
1481
668
 
1482
- <xsl:template match="ogc:preferred">
1483
- <xsl:param name="sectionNum"/>
1484
- <xsl:variable name="section">
1485
- <xsl:call-template name="getSection">
1486
- <xsl:with-param name="sectionNum" select="$sectionNum"/>
1487
- </xsl:call-template>
1488
- </xsl:variable>
669
+ <xsl:template match="ogc:preferred">
1489
670
  <xsl:variable name="level">
1490
671
  <xsl:call-template name="getLevel"/>
1491
672
  </xsl:variable>
@@ -1497,9 +678,7 @@
1497
678
  </xsl:variable>
1498
679
  <fo:block font-size="{$font-size}">
1499
680
  <fo:block font-weight="bold" keep-with-next="always">
1500
- <fo:inline>
1501
- <xsl:value-of select="$section"/><xsl:text>.</xsl:text>
1502
- </fo:inline>
681
+ <xsl:apply-templates select="ancestor::ogc:term/ogc:name" mode="presentation"/>
1503
682
  </fo:block>
1504
683
  <fo:block font-weight="bold" keep-with-next="always" line-height="1">
1505
684
  <xsl:apply-templates/>
@@ -1507,126 +686,32 @@
1507
686
  </fo:block>
1508
687
  </xsl:template>
1509
688
 
1510
- <xsl:template match="ogc:admitted">
1511
- <fo:block font-size="11pt">
1512
- <xsl:apply-templates/>
1513
- </fo:block>
1514
- </xsl:template>
1515
-
1516
- <xsl:template match="ogc:deprecates">
1517
- <xsl:variable name="title-deprecated">
1518
- <xsl:call-template name="getTitle">
1519
- <xsl:with-param name="name" select="'title-deprecated'"/>
1520
- </xsl:call-template>
1521
- </xsl:variable>
1522
- <fo:block><xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/></fo:block>
1523
- </xsl:template>
689
+
1524
690
 
1525
- <xsl:template match="ogc:definition[preceding-sibling::ogc:domain]">
1526
- <xsl:apply-templates/>
1527
- </xsl:template>
1528
- <xsl:template match="ogc:definition[preceding-sibling::ogc:domain]/ogc:p">
1529
- <fo:inline> <xsl:apply-templates/></fo:inline>
1530
- <fo:block> </fo:block>
1531
- </xsl:template>
691
+
1532
692
 
1533
- <xsl:template match="ogc:definition">
1534
- <fo:block space-after="6pt">
693
+ <!-- [position() &gt; 1] -->
694
+ <xsl:template match="ogc:references[@id != '_normative_references' and @id != '_references' and @id != 'references']">
695
+ <fo:block break-after="page"/>
696
+ <fo:block id="{@id}" line-height="120%">
1535
697
  <xsl:apply-templates/>
1536
698
  </fo:block>
1537
699
  </xsl:template>
1538
-
1539
- <xsl:template match="ogc:termsource">
1540
- <fo:block margin-bottom="12pt" keep-with-previous="always">
1541
- <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
1542
- <fo:basic-link internal-destination="{ogc:origin/@bibitemid}" fox:alt-text="{ogc:origin/@citeas}">
1543
- <xsl:text>[</xsl:text>
1544
- <xsl:variable name="title-source">
1545
- <xsl:call-template name="getTitle">
1546
- <xsl:with-param name="name" select="'title-source'"/>
1547
- </xsl:call-template>
1548
- </xsl:variable>
1549
- <xsl:value-of select="$title-source"/>
1550
- <xsl:text>: </xsl:text>
1551
- <fo:inline color="blue" text-decoration="underline">
1552
- <xsl:value-of select="ogc:origin/@citeas"/>
1553
-
1554
- <xsl:apply-templates select="ogc:origin/ogc:localityStack"/>
1555
-
1556
- </fo:inline>
1557
- </fo:basic-link>
1558
- <xsl:apply-templates select="ogc:modification"/>
1559
- <xsl:text>]</xsl:text>
1560
- </fo:block>
1561
- </xsl:template>
1562
-
1563
700
 
1564
- <xsl:template match="ogc:modification/ogc:p">
1565
- <fo:inline><xsl:apply-templates/></fo:inline>
1566
- </xsl:template>
1567
-
1568
- <xsl:template match="ogc:termnote">
1569
- <fo:block font-size="10pt" margin-bottom="12pt">
1570
- <xsl:variable name="num"><xsl:number/></xsl:variable>
1571
- <xsl:variable name="title-note-to-entry">
1572
- <xsl:call-template name="getTitle">
1573
- <xsl:with-param name="name" select="'title-note-to-entry'"/>
1574
- </xsl:call-template>
1575
- </xsl:variable>
1576
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($title-note-to-entry),'#',$num)"/>
701
+ <xsl:template match="ogc:annex//ogc:references">
702
+ <fo:block id="{@id}">
1577
703
  <xsl:apply-templates/>
1578
704
  </fo:block>
1579
705
  </xsl:template>
1580
-
1581
- <xsl:template match="ogc:termnote/ogc:p">
1582
- <fo:inline><xsl:apply-templates/></fo:inline>
1583
- </xsl:template>
1584
-
1585
- <xsl:template match="ogc:domain">
1586
- <fo:inline>&lt;<xsl:apply-templates/>&gt;</fo:inline>
1587
- </xsl:template>
1588
-
1589
-
1590
- <xsl:template match="ogc:termexample">
1591
- <fo:block font-size="10pt" margin-bottom="12pt">
1592
- <xsl:variable name="title-example">
1593
- <xsl:call-template name="getTitle">
1594
- <xsl:with-param name="name" select="'title-example'"/>
1595
- </xsl:call-template>
1596
- </xsl:variable>
1597
- <fo:inline padding-right="10mm"><xsl:value-of select="normalize-space($title-example)"/></fo:inline>
1598
- <xsl:apply-templates/>
1599
- </fo:block>
1600
- </xsl:template>
1601
-
1602
- <xsl:template match="ogc:termexample/ogc:p">
1603
- <fo:inline><xsl:apply-templates/></fo:inline>
1604
- </xsl:template>
1605
-
1606
-
1607
- <xsl:template match="ogc:annex">
1608
- <fo:block break-after="page"/>
1609
- <xsl:apply-templates/>
1610
- </xsl:template>
1611
-
1612
-
1613
- <!-- [position() &gt; 1] -->
1614
- <xsl:template match="ogc:references[@id != '_normative_references' and @id != '_references' and @id != 'references']">
1615
- <fo:block break-after="page"/>
1616
- <fo:block line-height="120%">
1617
- <xsl:apply-templates/>
1618
- </fo:block>
1619
- </xsl:template>
1620
-
1621
706
 
1622
707
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
1623
708
  <!-- <xsl:template match="ogc:references[@id = '_bibliography']/ogc:bibitem"> [position() &gt; 1] -->
1624
709
  <xsl:template match="ogc:references[@id != '_normative_references' and @id != '_references' and @id != 'references']/ogc:bibitem">
1625
- <fo:list-block margin-bottom="12pt" provisional-distance-between-starts="12mm">
710
+ <fo:list-block id="{@id}" margin-bottom="12pt" provisional-distance-between-starts="12mm">
1626
711
  <fo:list-item>
1627
712
  <fo:list-item-label end-indent="label-end()">
1628
713
  <fo:block>
1629
- <fo:inline id="{@id}">
714
+ <fo:inline>
1630
715
  <xsl:number format="[1]"/>
1631
716
  </fo:inline>
1632
717
  </fo:block>
@@ -1703,226 +788,8 @@
1703
788
  </fo:inline>
1704
789
  </xsl:template>
1705
790
 
1706
- <xsl:template match="ogc:quote">
1707
- <fo:block margin-top="12pt" margin-left="13mm" margin-right="12mm">
1708
- <xsl:apply-templates select=".//ogc:p"/>
1709
- </fo:block>
1710
- <xsl:if test="ogc:author or ogc:source">
1711
- <fo:block text-align="right" margin-right="25mm">
1712
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
1713
- <xsl:if test="ogc:author">
1714
- <xsl:text>— </xsl:text><xsl:value-of select="ogc:author"/>
1715
- </xsl:if>
1716
- <xsl:if test="ogc:source">
1717
- <xsl:text>, </xsl:text>
1718
- <xsl:apply-templates select="ogc:source"/>
1719
- </xsl:if>
1720
- </fo:block>
1721
- </xsl:if>
1722
- </xsl:template>
1723
-
1724
- <xsl:template match="ogc:source">
1725
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
1726
- <xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
1727
- <xsl:apply-templates select="ogc:localityStack"/>
1728
- </fo:basic-link>
1729
- </xsl:template>
1730
-
1731
-
1732
- <xsl:template match="ogc:xref">
1733
- <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">
1734
- <xsl:variable name="section" select="xalan:nodeset($contents)//item[@id = current()/@target]/@section"/>
1735
- <!-- <xsl:if test="not(starts-with($section, 'Figure') or starts-with($section, 'Table'))"> -->
1736
- <xsl:attribute name="color">blue</xsl:attribute>
1737
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1738
- <!-- </xsl:if> -->
1739
- <xsl:variable name="type" select="xalan:nodeset($contents)//item[@id = current()/@target]/@type"/>
1740
- <xsl:variable name="root" select="xalan:nodeset($contents)//item[@id = current()/@target]/@root"/>
1741
-
1742
- <xsl:variable name="title-clause">
1743
- <xsl:call-template name="getTitle">
1744
- <xsl:with-param name="name" select="'title-clause'"/>
1745
- </xsl:call-template>
1746
- </xsl:variable>
1747
- <xsl:variable name="title-annex">
1748
- <xsl:call-template name="getTitle">
1749
- <xsl:with-param name="name" select="'title-annex'"/>
1750
- </xsl:call-template>
1751
- </xsl:variable>
1752
-
1753
- <xsl:choose>
1754
- <xsl:when test="normalize-space(.) != ''">
1755
- <xsl:apply-templates/>
1756
- </xsl:when>
1757
- <xsl:otherwise>
1758
- <xsl:choose>
1759
- <xsl:when test="$type = 'clause' and $root != 'annex'"><xsl:value-of select="$title-clause"/></xsl:when><!-- and not (ancestor::annex) -->
1760
- <xsl:when test="$type = 'term' and ($root = 'clause' or $root = 'terms')"><xsl:value-of select="$title-clause"/></xsl:when>
1761
- <xsl:when test="$type = 'clause' and $root = 'annex'"><xsl:value-of select="$title-annex"/></xsl:when>
1762
- <xsl:otherwise/> <!-- <xsl:value-of select="$type"/> -->
1763
- </xsl:choose>
1764
- <xsl:value-of select="$section"/>
1765
- </xsl:otherwise>
1766
- </xsl:choose>
1767
- </fo:basic-link>
1768
- </xsl:template>
1769
791
 
1770
- <xsl:template match="ogc:sourcecode" priority="2">
1771
- <xsl:call-template name="sourcecode"/>
1772
- <xsl:variable name="title-figure">
1773
- <xsl:call-template name="getTitle">
1774
- <xsl:with-param name="name" select="'title-figure'"/>
1775
- </xsl:call-template>
1776
- </xsl:variable>
1777
- <xsl:choose>
1778
- <xsl:when test="@unnumbered='true'"/>
1779
- <xsl:when test="ancestor::ogc:example"/>
1780
- <xsl:when test="ancestor::ogc:td"/>
1781
- <xsl:when test="ancestor::ogc:annex">
1782
- <xsl:variable name="id_annex" select="ancestor::ogc:annex/@id"/>
1783
- <xsl:choose>
1784
- <xsl:when test="count(//ogc:annex) = 1">
1785
- <xsl:value-of select="/ogc:nist-standard/ogc:bibdata/ogc:ext/ogc:structuredidentifier/ogc:annexid"/><xsl:number format="-1" level="any" count="ogc:annex//ogc:sourcecode"/>
1786
- </xsl:when>
1787
- <xsl:otherwise>
1788
- <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="12pt">
1789
- <xsl:value-of select="$title-figure"/>
1790
- <xsl:number format="A." level="multiple" count="ogc:annex"/>
1791
- <xsl:number format="1" level="any" count="ogc:sourcecode[ancestor::ogc:annex/@id = $id_annex and not(@unnumbered='true') and not(ancestor::ogc:example)]"/>
1792
- <xsl:if test="ogc:name">
1793
- <xsl:text> — </xsl:text>
1794
- <xsl:apply-templates select="ogc:name/*"/>
1795
- </xsl:if>
1796
- </fo:block>
1797
- </xsl:otherwise>
1798
- </xsl:choose>
1799
- </xsl:when>
1800
- <xsl:otherwise>
1801
- <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="12pt">
1802
- <xsl:value-of select="$title-figure"/>
1803
- <xsl:number format="1" level="any" count="ogc:sourcecode[not(@unnumbered='true') and not(ancestor::ogc:example)] | ogc:figure"/>
1804
- <xsl:if test="ogc:name">
1805
- <xsl:text> — </xsl:text>
1806
- <xsl:apply-templates select="ogc:name/*"/>
1807
- </xsl:if>
1808
- </fo:block>
1809
- </xsl:otherwise>
1810
- </xsl:choose>
1811
- </xsl:template>
1812
-
1813
- <xsl:template match="ogc:sourcecode/text()">
1814
- <xsl:variable name="text">
1815
- <xsl:call-template name="add-zero-spaces-equal"/>
1816
- </xsl:variable>
1817
- <xsl:call-template name="add-zero-spaces">
1818
- <xsl:with-param name="text" select="$text"/>
1819
- </xsl:call-template>
1820
- </xsl:template>
1821
-
1822
-
1823
- <xsl:template match="ogc:sourcecode/ogc:name"/>
1824
-
1825
- <xsl:template match="ogc:example">
1826
- <fo:block font-size="10pt" text-align="center" margin-top="12pt" margin-bottom="12pt" font-weight="bold" keep-with-next="always">
1827
- <xsl:variable name="title-example">
1828
- <xsl:call-template name="getTitle">
1829
- <xsl:with-param name="name" select="'title-example'"/>
1830
- </xsl:call-template>
1831
- </xsl:variable>
1832
- <xsl:value-of select="normalize-space($title-example)"/>
1833
- <xsl:if test="following-sibling::ogc:example or preceding-sibling::ogc:example">
1834
- <xsl:number format=" 1"/>
1835
- </xsl:if>
1836
- <xsl:if test="ogc:name">
1837
- <xsl:text> — </xsl:text>
1838
- <xsl:apply-templates select="ogc:name/node()"/>
1839
- </xsl:if>
1840
- </fo:block>
1841
- <fo:block font-size="10pt" margin-left="12.5mm" margin-right="12.5mm">
1842
- <xsl:apply-templates/>
1843
- </fo:block>
1844
- </xsl:template>
1845
-
1846
- <xsl:template match="ogc:example/ogc:name"/>
1847
-
1848
- <xsl:template match="ogc:example/ogc:p">
1849
- <fo:block margin-bottom="14pt">
1850
- <xsl:apply-templates/>
1851
- </fo:block>
1852
- </xsl:template>
1853
-
1854
-
1855
-
1856
- <xsl:template match="ogc:note/ogc:p" name="note">
1857
- <fo:block font-size="10pt" margin-top="12pt" margin-bottom="12pt" line-height="115%">
1858
- <xsl:if test="ancestor::ogc:ul or ancestor::ogc:ol and not(ancestor::ogc:note[1]/following-sibling::*)">
1859
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1860
- </xsl:if>
1861
- <xsl:variable name="clauseid" select="ancestor::ogc:clause[1]/@id"/>
1862
- <fo:inline padding-right="4mm">
1863
- <xsl:variable name="title-note">
1864
- <xsl:call-template name="getTitle">
1865
- <xsl:with-param name="name" select="'title-note'"/>
1866
- </xsl:call-template>
1867
- </xsl:variable>
1868
- <xsl:value-of select="$title-note"/>
1869
- <xsl:if test="count(//ogc:note[ancestor::ogc:clause[1][@id = $clauseid]]) &gt; 1">
1870
- <xsl:number count="ogc:note[ancestor::ogc:clause[1][@id = $clauseid]]" level="any"/>
1871
- </xsl:if>
1872
- </fo:inline>
1873
- <xsl:apply-templates/>
1874
- </fo:block>
1875
- </xsl:template>
1876
792
 
1877
- <!-- <eref type="inline" bibitemid="ISO20483" citeas="ISO 20483:2013"><locality type="annex"><referenceFrom>C</referenceFrom></locality></eref> -->
1878
- <xsl:template match="ogc:eref">
1879
- <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}" color="blue" text-decoration="underline"> <!-- font-size="9pt" color="blue" vertical-align="super" -->
1880
- <xsl:if test="@type = 'footnote'">
1881
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1882
- <xsl:attribute name="font-size">80%</xsl:attribute>
1883
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1884
- <xsl:attribute name="vertical-align">super</xsl:attribute>
1885
- </xsl:if>
1886
- <xsl:if test="@type = 'inline'">
1887
- <xsl:attribute name="color">blue</xsl:attribute>
1888
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1889
- </xsl:if>
1890
- <!-- <xsl:if test="@type = 'inline'">
1891
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
1892
- </xsl:if> -->
1893
- <xsl:choose>
1894
- <xsl:when test="@citeas and normalize-space(text()) = ''">
1895
- <xsl:value-of select="@citeas"/> <!-- disable-output-escaping="yes" -->
1896
- </xsl:when>
1897
- <xsl:when test="@bibitemid and normalize-space(text()) = ''">
1898
- <xsl:value-of select="//ogc:bibitem[@id = current()/@bibitemid]/ogc:docidentifier"/>
1899
- </xsl:when>
1900
- <xsl:otherwise/>
1901
- </xsl:choose>
1902
- <xsl:apply-templates select="ogc:localityStack"/>
1903
- <xsl:apply-templates select="text()"/>
1904
- </fo:basic-link>
1905
- </xsl:template>
1906
-
1907
- <xsl:template match="ogc:locality">
1908
- <xsl:variable name="title-clause">
1909
- <xsl:call-template name="getTitle">
1910
- <xsl:with-param name="name" select="'title-clause'"/>
1911
- </xsl:call-template>
1912
- </xsl:variable>
1913
- <xsl:variable name="title-annex">
1914
- <xsl:call-template name="getTitle">
1915
- <xsl:with-param name="name" select="'title-annex'"/>
1916
- </xsl:call-template>
1917
- </xsl:variable>
1918
- <xsl:choose>
1919
- <xsl:when test="@type ='clause'"><xsl:value-of select="$title-clause"/></xsl:when>
1920
- <xsl:when test="@type ='annex'"><xsl:value-of select="$title-annex"/></xsl:when>
1921
- <xsl:otherwise><xsl:value-of select="@type"/></xsl:otherwise>
1922
- </xsl:choose>
1923
- <xsl:text> </xsl:text><xsl:value-of select="ogc:referenceFrom"/>
1924
- </xsl:template>
1925
-
1926
793
  <xsl:template match="ogc:admonition">
1927
794
  <fo:block-container border="0.5pt solid rgb(79, 129, 189)" color="rgb(79, 129, 189)" margin-left="16mm" margin-right="16mm" margin-bottom="12pt">
1928
795
  <fo:block-container margin-left="0mm" margin-right="0mm" padding="2mm" padding-top="3mm">
@@ -1934,22 +801,9 @@
1934
801
  </fo:block>
1935
802
  </fo:block-container>
1936
803
  </fo:block-container>
1937
-
1938
-
1939
- </xsl:template>
1940
-
1941
- <xsl:template match="ogc:formula">
1942
- <fo:block id="{@id}">
1943
- <xsl:apply-templates/>
1944
- </fo:block>
1945
- </xsl:template>
1946
-
1947
- <xsl:template match="ogc:formula/ogc:dt/ogc:stem">
1948
- <fo:inline>
1949
- <xsl:apply-templates/>
1950
- </fo:inline>
1951
804
  </xsl:template>
1952
-
805
+
806
+
1953
807
  <xsl:template match="ogc:formula/ogc:stem">
1954
808
  <fo:block margin-top="6pt" margin-bottom="12pt">
1955
809
  <fo:table table-layout="fixed" width="100%">
@@ -1964,268 +818,104 @@
1964
818
  </fo:table-cell>
1965
819
  <fo:table-cell display-align="center">
1966
820
  <fo:block text-align="right">
1967
- <xsl:choose>
1968
- <xsl:when test="ancestor::ogc:annex">
1969
- <xsl:number format="(A.1)" level="multiple" count="ogc:annex | ogc:formula"/>
1970
- </xsl:when>
1971
- <xsl:otherwise> <!-- not(ancestor::ogc:annex) -->
1972
- <!-- <xsl:text>(</xsl:text><xsl:number level="any" count="ogc:formula"/><xsl:text>)</xsl:text> -->
1973
- </xsl:otherwise>
1974
- </xsl:choose>
821
+ <xsl:apply-templates select="../ogc:name" mode="presentation"/>
1975
822
  </fo:block>
1976
823
  </fo:table-cell>
1977
824
  </fo:table-row>
1978
825
  </fo:table-body>
1979
- </fo:table>
1980
- <fo:inline keep-together.within-line="always">
1981
- </fo:inline>
826
+ </fo:table>
1982
827
  </fo:block>
1983
828
  </xsl:template>
1984
829
 
1985
- <xsl:template match="ogc:br" priority="2">
1986
- <!-- <fo:block>&#xA0;</fo:block> -->
1987
- <xsl:value-of select="$linebreak"/>
1988
- </xsl:template>
830
+
1989
831
 
1990
832
  <xsl:template match="ogc:pagebreak">
1991
833
  <fo:block break-after="page"/>
1992
834
  <fo:block> </fo:block>
1993
835
  <fo:block break-after="page"/>
1994
836
  </xsl:template>
1995
-
837
+
838
+
1996
839
  <xsl:template name="insertHeaderFooter">
1997
- <xsl:param name="pagenum-font-weight" select="'normal'"/>
1998
- <fo:static-content flow-name="header-even">
1999
- <fo:block-container height="17mm" display-align="before">
2000
- <fo:block padding-top="12.5mm">
2001
- <xsl:value-of select="$header"/>
2002
- </fo:block>
2003
- </fo:block-container>
2004
- </fo:static-content>
2005
- <fo:static-content flow-name="footer-even">
2006
- <fo:block-container font-size="10pt" height="100%" display-align="after">
2007
- <fo:table table-layout="fixed" width="100%">
2008
- <fo:table-column column-width="10%"/>
2009
- <fo:table-column column-width="90%"/>
2010
- <fo:table-body>
2011
- <fo:table-row>
2012
- <fo:table-cell>
2013
- <fo:block padding-bottom="5mm" font-weight="{$pagenum-font-weight}">
2014
- <fo:page-number/>
2015
- </fo:block>
2016
- </fo:table-cell>
2017
- <fo:table-cell padding-right="2mm">
2018
- <fo:block padding-bottom="5mm" text-align="right">
2019
- <xsl:value-of select="$copyright_short"/></fo:block>
2020
- </fo:table-cell>
2021
- </fo:table-row>
2022
- </fo:table-body>
2023
- </fo:table>
2024
- </fo:block-container>
840
+
841
+ <fo:static-content flow-name="xsl-footnote-separator">
842
+ <fo:block>
843
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
844
+ </fo:block>
2025
845
  </fo:static-content>
2026
- <fo:static-content flow-name="header-odd">
2027
- <fo:block-container height="17mm" display-align="before">
2028
- <fo:block text-align="right" padding-top="12.5mm">
2029
- <xsl:value-of select="$header"/>
2030
- </fo:block>
846
+
847
+ <fo:static-content flow-name="header">
848
+ <fo:block-container height="16.5mm" background-color="{$color}">
849
+ <fo:block> </fo:block>
2031
850
  </fo:block-container>
2032
851
  </fo:static-content>
2033
- <fo:static-content flow-name="footer-odd">
2034
- <fo:block-container font-size="10pt" height="100%" display-align="after">
2035
- <fo:table table-layout="fixed" width="100%">
2036
- <fo:table-column column-width="90%"/>
2037
- <fo:table-column column-width="10%"/>
2038
- <fo:table-body>
2039
- <fo:table-row>
2040
- <fo:table-cell>
2041
- <fo:block padding-bottom="5mm"><xsl:value-of select="$copyright"/></fo:block>
2042
- </fo:table-cell>
2043
- <fo:table-cell padding-right="2mm">
2044
- <fo:block padding-bottom="5mm" text-align="right" font-weight="{$pagenum-font-weight}"><fo:page-number/></fo:block>
2045
- </fo:table-cell>
2046
- </fo:table-row>
2047
- </fo:table-body>
2048
- </fo:table>
852
+
853
+ <fo:static-content flow-name="footer">
854
+ <fo:block-container height="100%" display-align="after">
855
+ <fo:block-container height="23.5mm" background-color="{$color}" color="rgb(231, 230, 230)" display-align="after">
856
+ <fo:block-container margin-left="1in" margin-right="1in">
857
+ <fo:block-container margin-left="0mm" margin-right="0mm">
858
+ <fo:table table-layout="fixed" width="100%">
859
+ <fo:table-column column-width="50%"/>
860
+ <fo:table-column column-width="50%"/>
861
+ <fo:table-body>
862
+ <fo:table-row>
863
+ <fo:table-cell>
864
+ <fo:block padding-bottom="15mm">ogc.org</fo:block>
865
+ </fo:table-cell>
866
+ <fo:table-cell>
867
+ <fo:block padding-bottom="14mm" text-align="right">
868
+ <xsl:text>Page | </xsl:text>
869
+ <fo:page-number/>
870
+ </fo:block>
871
+ </fo:table-cell>
872
+ </fo:table-row>
873
+ </fo:table-body>
874
+ </fo:table>
875
+ </fo:block-container>
876
+ </fo:block-container>
877
+ </fo:block-container>
2049
878
  </fo:block-container>
2050
879
  </fo:static-content>
2051
- </xsl:template>
2052
-
2053
-
2054
- <xsl:template name="getSection">
2055
- <xsl:param name="sectionNum"/>
2056
- <xsl:variable name="level">
2057
- <xsl:call-template name="getLevel"/>
2058
- </xsl:variable>
2059
- <xsl:variable name="section">
2060
- <xsl:choose>
2061
- <xsl:when test="ancestor::ogc:bibliography">
2062
- <xsl:value-of select="$sectionNum"/>
2063
- </xsl:when>
2064
- <xsl:when test="ancestor::ogc:sections">
2065
- <!-- 1, 2, 3, 4, ... from main section (not annex, bibliography, ...) -->
2066
- <xsl:choose>
2067
- <xsl:when test="$level = 1">
2068
- <xsl:value-of select="$sectionNum"/>
2069
- </xsl:when>
2070
- <xsl:when test="$level &gt;= 2">
2071
- <xsl:variable name="num">
2072
- <xsl:call-template name="getSubSection"/>
2073
- </xsl:variable>
2074
- <xsl:value-of select="concat($sectionNum, $num)"/>
2075
- </xsl:when>
2076
- <xsl:otherwise>
2077
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
2078
- </xsl:otherwise>
2079
- </xsl:choose>
2080
- <!-- <xsl:text>.</xsl:text> -->
2081
- </xsl:when>
2082
- <!-- <xsl:when test="ancestor::ogc:annex[@obligation = 'informative']">
2083
- <xsl:choose>
2084
- <xsl:when test="$level = 1">
2085
- <xsl:text>Annex </xsl:text>
2086
- <xsl:number format="I" level="any" count="ogc:annex[@obligation = 'informative']"/>
2087
- </xsl:when>
2088
- <xsl:otherwise>
2089
- <xsl:number format="I.1" level="multiple" count="ogc:annex[@obligation = 'informative'] | ogc:clause"/>
2090
- </xsl:otherwise>
2091
- </xsl:choose>
2092
- </xsl:when> -->
2093
- <xsl:when test="ancestor::ogc:annex">
2094
- <xsl:choose>
2095
- <xsl:when test="$level = 1">
2096
- <xsl:variable name="title-annex">
2097
- <xsl:call-template name="getTitle">
2098
- <xsl:with-param name="name" select="'title-annex'"/>
2099
- </xsl:call-template>
2100
- </xsl:variable>
2101
- <xsl:value-of select="$title-annex"/>
2102
- <xsl:choose>
2103
- <xsl:when test="count(//ogc:annex) = 1">
2104
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:structuredidentifier/ogc:annexid"/>
2105
- </xsl:when>
2106
- <xsl:otherwise>
2107
- <xsl:number format="A" level="any" count="ogc:annex"/>
2108
- </xsl:otherwise>
2109
- </xsl:choose>
2110
- </xsl:when>
2111
- <xsl:otherwise>
2112
- <xsl:choose>
2113
- <xsl:when test="count(//ogc:annex) = 1">
2114
- <xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:structuredidentifier/ogc:annexid"/><xsl:number format=".1" level="multiple" count="ogc:clause"/>
2115
- </xsl:when>
2116
- <xsl:otherwise>
2117
- <xsl:number format="A.1" level="multiple" count="ogc:annex | ogc:clause"/>
2118
- </xsl:otherwise>
2119
- </xsl:choose>
2120
- </xsl:otherwise>
2121
- </xsl:choose>
2122
- </xsl:when>
2123
- <xsl:when test="ancestor::ogc:preface"> <!-- if preface and there is clause(s) -->
2124
- <xsl:choose>
2125
- <xsl:when test="$level = 1"> <!-- and ancestor::ogc:foreword -->
2126
- <xsl:number format="i" value="$sectionNum"/>
2127
- </xsl:when>
2128
- <!-- <xsl:when test="$level = 1 and ..//ogc:clause">0</xsl:when> -->
2129
- <xsl:when test="$level &gt;= 2">
2130
- <xsl:number format="i.1" level="multiple" count="ogc:clause"/>
2131
- <!-- <xsl:value-of select="concat('0', $num)"/> -->
2132
- </xsl:when>
2133
- <xsl:otherwise>
2134
- <!-- z<xsl:value-of select="$sectionNum"/>z -->
2135
- </xsl:otherwise>
2136
- </xsl:choose>
2137
- </xsl:when>
2138
- <xsl:otherwise>
2139
- </xsl:otherwise>
2140
- </xsl:choose>
2141
- </xsl:variable>
2142
- <xsl:value-of select="$section"/>
880
+
2143
881
  </xsl:template>
2144
882
 
883
+ <xsl:variable name="Image-Logo-OGC">
884
+ <xsl:text>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</xsl:text>
885
+ </xsl:variable>
886
+
2145
887
  <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
888
+
889
+ <title-annex lang="en">Annex </title-annex>
890
+ <title-annex lang="fr">Annexe </title-annex>
2146
891
 
2147
- <title-table lang="en">Table </title-table>
2148
- <title-table lang="fr">Tableau </title-table>
2149
-
2150
- <title-table lang="zh">Table </title-table>
2151
-
892
+ <title-annex lang="zh">Annex </title-annex>
2152
893
 
2153
-
2154
- <title-note lang="en">NOTE </title-note>
2155
- <title-note lang="fr">NOTE </title-note>
2156
894
 
2157
- <title-note lang="zh">NOTE </title-note>
895
+
896
+ <title-edition lang="en">
897
+
898
+
899
+ <xsl:text>Version</xsl:text>
900
+
901
+ </title-edition>
2158
902
 
903
+
904
+ <title-toc lang="en">
905
+
906
+ <xsl:text>Contents</xsl:text>
907
+
908
+
909
+
910
+ </title-toc>
911
+ <title-toc lang="fr">Sommaire</title-toc>
2159
912
 
913
+ <title-toc lang="zh">Contents</title-toc>
2160
914
 
2161
- <title-figure lang="en">Figure </title-figure>
2162
- <title-figure lang="fr">Figure </title-figure>
2163
915
 
2164
- <title-figure lang="zh">Figure </title-figure>
2165
916
 
2166
-
2167
-
2168
- <title-example lang="en">EXAMPLE </title-example>
2169
- <title-example lang="fr">EXEMPLE </title-example>
2170
-
2171
- <title-example lang="zh">EXAMPLE </title-example>
2172
-
2173
-
2174
-
2175
- <title-example-xref lang="en">Example </title-example-xref>
2176
- <title-example-xref lang="fr">Exemple </title-example-xref>
2177
-
2178
- <title-section lang="en">Section </title-section>
2179
- <title-section lang="fr">Section </title-section>
2180
-
2181
- <title-inequality lang="en">Inequality </title-inequality>
2182
- <title-inequality lang="fr">Inequality </title-inequality>
2183
-
2184
- <title-equation lang="en">Equation </title-equation>
2185
- <title-equation lang="fr">Equation </title-equation>
2186
-
2187
- <title-annex lang="en">Annex </title-annex>
2188
- <title-annex lang="fr">Annexe </title-annex>
2189
-
2190
- <title-annex lang="zh">Annex </title-annex>
2191
-
2192
-
2193
-
2194
- <title-appendix lang="en">Appendix </title-appendix>
2195
- <title-appendix lang="fr">Appendix </title-appendix>
2196
-
2197
- <title-clause lang="en">Clause </title-clause>
2198
- <title-clause lang="fr">Article </title-clause>
2199
-
2200
- <title-clause lang="zh">Clause </title-clause>
2201
-
2202
-
2203
-
2204
- <title-edition lang="en">
2205
-
2206
-
2207
- <xsl:text>Version</xsl:text>
2208
-
2209
- </title-edition>
2210
-
2211
- <title-formula lang="en">Formula </title-formula>
2212
- <title-formula lang="fr">Formula </title-formula>
2213
-
2214
- <title-toc lang="en">
2215
-
2216
- <xsl:text>Contents</xsl:text>
2217
-
2218
-
2219
-
2220
- </title-toc>
2221
- <title-toc lang="fr">Sommaire</title-toc>
2222
-
2223
- <title-toc lang="zh">Contents</title-toc>
2224
-
2225
-
2226
-
2227
- <title-page lang="en">Page</title-page>
2228
- <title-page lang="fr">Page</title-page>
917
+ <title-page lang="en">Page</title-page>
918
+ <title-page lang="fr">Page</title-page>
2229
919
 
2230
920
  <title-key lang="en">Key</title-key>
2231
921
  <title-key lang="fr">Légende</title-key>
@@ -2245,13 +935,6 @@
2245
935
  </title-part>
2246
936
  <title-part lang="zh">第 # 部分:</title-part>
2247
937
 
2248
- <title-note-to-entry lang="en">Note # to entry: </title-note-to-entry>
2249
- <title-note-to-entry lang="fr">Note # à l'article: </title-note-to-entry>
2250
-
2251
- <title-note-to-entry lang="zh">Note # to entry: </title-note-to-entry>
2252
-
2253
-
2254
-
2255
938
  <title-modified lang="en">modified</title-modified>
2256
939
  <title-modified lang="fr">modifiée</title-modified>
2257
940
 
@@ -2265,14 +948,12 @@
2265
948
 
2266
949
  <title-deprecated lang="en">DEPRECATED</title-deprecated>
2267
950
  <title-deprecated lang="fr">DEPRECATED</title-deprecated>
2268
-
2269
- <title-submitting-organizations lang="en">Submitting Organizations</title-submitting-organizations>
2270
-
951
+
2271
952
  <title-list-tables lang="en">List of Tables</title-list-tables>
2272
953
 
2273
954
  <title-list-figures lang="en">List of Figures</title-list-figures>
2274
955
 
2275
- <title-recommendation lang="en">Recommendation </title-recommendation>
956
+ <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
2276
957
 
2277
958
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
2278
959
 
@@ -2282,8 +963,6 @@
2282
963
 
2283
964
  <title-in lang="en">in </title-in>
2284
965
 
2285
- <title-box lang="en">Box </title-box>
2286
-
2287
966
  <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
2288
967
  <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
2289
968
 
@@ -2306,7 +985,7 @@
2306
985
  <title-warning lang="zh">警告</title-warning>
2307
986
 
2308
987
  <title-amendment lang="en">AMENDMENT</title-amendment>
2309
- </xsl:variable><xsl:template name="getTitle">
988
+ </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
2310
989
  <xsl:param name="name"/>
2311
990
  <xsl:variable name="lang">
2312
991
  <xsl:call-template name="getLang"/>
@@ -2327,6 +1006,8 @@
2327
1006
 
2328
1007
 
2329
1008
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1009
+ <xsl:attribute name="white-space">pre</xsl:attribute>
1010
+ <xsl:attribute name="wrap-option">wrap</xsl:attribute>
2330
1011
 
2331
1012
 
2332
1013
 
@@ -2341,6 +1022,161 @@
2341
1022
  <xsl:attribute name="line-height">113%</xsl:attribute>
2342
1023
 
2343
1024
 
1025
+ </xsl:attribute-set><xsl:attribute-set name="permission-style">
1026
+
1027
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1028
+
1029
+ </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
1030
+
1031
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1032
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1033
+ <xsl:attribute name="text-align">center</xsl:attribute>
1034
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
1035
+ <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
1036
+ <xsl:attribute name="margin-bottom">1mm</xsl:attribute>
1037
+ <xsl:attribute name="background-color">rgb(165,165,165)</xsl:attribute>
1038
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1039
+
1040
+ </xsl:attribute-set><xsl:attribute-set name="permission-label-style">
1041
+
1042
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1043
+
1044
+ </xsl:attribute-set><xsl:attribute-set name="requirement-style">
1045
+
1046
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1047
+
1048
+ </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
1049
+
1050
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1051
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1052
+ <xsl:attribute name="text-align">center</xsl:attribute>
1053
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
1054
+ <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
1055
+ <xsl:attribute name="margin-bottom">1mm</xsl:attribute>
1056
+ <xsl:attribute name="background-color">rgb(165,165,165)</xsl:attribute>
1057
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1058
+
1059
+ </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
1060
+
1061
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1062
+
1063
+ </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
1064
+ </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
1065
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
1066
+
1067
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1068
+
1069
+
1070
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-name-style">
1071
+
1072
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1073
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1074
+ <xsl:attribute name="text-align">center</xsl:attribute>
1075
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
1076
+ <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
1077
+ <xsl:attribute name="margin-bottom">1mm</xsl:attribute>
1078
+ <xsl:attribute name="background-color">rgb(165,165,165)</xsl:attribute>
1079
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1080
+
1081
+
1082
+ </xsl:attribute-set><xsl:attribute-set name="recommendation-label-style">
1083
+
1084
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1085
+
1086
+ </xsl:attribute-set><xsl:attribute-set name="termexample-style">
1087
+
1088
+
1089
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1090
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+ </xsl:attribute-set><xsl:attribute-set name="example-style">
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1106
+ <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
1107
+ <xsl:attribute name="margin-right">12.5mm</xsl:attribute>
1108
+
1109
+
1110
+
1111
+
1112
+ </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1113
+
1114
+
1115
+ </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1127
+ <xsl:attribute name="text-align">center</xsl:attribute>
1128
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1129
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1130
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1131
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+ </xsl:attribute-set><xsl:attribute-set name="example-p-style">
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+ <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
1148
+
1149
+
1150
+
1151
+
1152
+ </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1153
+
1154
+ <xsl:attribute name="padding-right">10mm</xsl:attribute>
1155
+
1156
+
1157
+
1158
+
1159
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1160
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1170
+ <xsl:attribute name="text-align">left</xsl:attribute>
1171
+ <xsl:attribute name="color">rgb(68, 84, 106)</xsl:attribute>
1172
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1173
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1174
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
1175
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1176
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1177
+
1178
+
1179
+
2344
1180
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2345
1181
 
2346
1182
  <xsl:attribute name="font-size">12pt</xsl:attribute>
@@ -2358,128 +1194,265 @@
2358
1194
 
2359
1195
 
2360
1196
 
2361
- </xsl:attribute-set><xsl:template match="text()">
2362
- <xsl:value-of select="."/>
2363
- </xsl:template><xsl:template match="*[local-name()='br']">
2364
- <xsl:value-of select="$linebreak"/>
2365
- </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2366
- <!-- <xsl:call-template name="add-zero-spaces"/> -->
2367
- <xsl:call-template name="add-zero-spaces-java"/>
2368
- </xsl:template><xsl:template match="*[local-name()='table']">
2369
-
2370
- <xsl:variable name="simple-table">
2371
- <!-- <xsl:copy> -->
2372
- <xsl:call-template name="getSimpleTable"/>
2373
- <!-- </xsl:copy> -->
2374
- </xsl:variable>
2375
-
2376
- <!-- DEBUG -->
2377
- <!-- SourceTable=<xsl:copy-of select="current()"/>EndSourceTable -->
2378
- <!-- Simpletable=<xsl:copy-of select="$simple-table"/>EndSimpltable -->
2379
-
2380
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
1197
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
2381
1198
 
2382
- <!-- <xsl:if test="$namespace = 'iso'">
2383
- <fo:block space-before="6pt">&#xA0;</fo:block>
2384
- </xsl:if> -->
2385
1199
 
2386
- <xsl:choose>
2387
- <xsl:when test="@unnumbered = 'true'"/>
2388
- <xsl:otherwise>
2389
-
2390
-
2391
-
2392
- <fo:block font-weight="bold" text-align="center" margin-bottom="6pt" keep-with-next="always">
2393
-
2394
-
2395
-
2396
-
2397
-
2398
-
2399
- <xsl:attribute name="font-weight">normal</xsl:attribute>
2400
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2401
-
2402
-
2403
-
2404
- <xsl:variable name="title-table">
2405
- <xsl:call-template name="getTitle">
2406
- <xsl:with-param name="name" select="'title-table'"/>
2407
- </xsl:call-template>
2408
- </xsl:variable>
2409
- <xsl:value-of select="$title-table"/>
2410
-
2411
- <xsl:call-template name="getTableNumber"/>
2412
-
2413
-
2414
- <xsl:if test="*[local-name()='name']">
2415
-
2416
-
2417
-
2418
- <xsl:text> — </xsl:text>
2419
-
2420
- <xsl:apply-templates select="*[local-name()='name']" mode="process"/>
2421
- </xsl:if>
2422
- </fo:block>
2423
-
1200
+ <xsl:attribute name="color">blue</xsl:attribute>
1201
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2424
1202
 
2425
- <xsl:call-template name="fn_name_display"/>
1203
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
1204
+
1205
+
1206
+ <xsl:attribute name="color">blue</xsl:attribute>
1207
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1208
+
1209
+
1210
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
1211
+
1212
+
1213
+
2426
1214
 
2427
- </xsl:otherwise>
2428
- </xsl:choose>
2429
1215
 
2430
- <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
2431
1216
 
2432
- <!-- <xsl:variable name="cols-count">
2433
- <xsl:choose>
2434
- <xsl:when test="*[local-name()='thead']">
2435
- <xsl:call-template name="calculate-columns-numbers">
2436
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2437
- </xsl:call-template>
2438
- </xsl:when>
2439
- <xsl:otherwise>
2440
- <xsl:call-template name="calculate-columns-numbers">
2441
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2442
- </xsl:call-template>
2443
- </xsl:otherwise>
2444
- </xsl:choose>
2445
- </xsl:variable> -->
2446
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2447
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2448
1217
 
2449
1218
 
2450
1219
 
2451
- <xsl:variable name="colwidths">
2452
- <xsl:call-template name="calculate-column-widths">
2453
- <xsl:with-param name="cols-count" select="$cols-count"/>
2454
- <xsl:with-param name="table" select="$simple-table"/>
2455
- </xsl:call-template>
2456
- </xsl:variable>
2457
1220
 
2458
- <!-- <xsl:variable name="colwidths2">
2459
- <xsl:call-template name="calculate-column-widths">
2460
- <xsl:with-param name="cols-count" select="$cols-count"/>
2461
- </xsl:call-template>
2462
- </xsl:variable> -->
1221
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1222
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1223
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1224
+ <xsl:attribute name="line-height">115%</xsl:attribute>
2463
1225
 
2464
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2465
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2466
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2467
1226
 
2468
- <xsl:variable name="margin-left">
2469
- <xsl:choose>
2470
- <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2471
- <xsl:otherwise>0</xsl:otherwise>
2472
- </xsl:choose>
2473
- </xsl:variable>
2474
1227
 
2475
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2476
-
2477
-
2478
-
2479
-
2480
-
2481
-
2482
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
1228
+
1229
+
1230
+
1231
+ </xsl:attribute-set><xsl:attribute-set name="note-name-style">
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+ <xsl:attribute name="padding-right">4mm</xsl:attribute>
1242
+
1243
+
1244
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1255
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
1262
+
1263
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1264
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1271
+
1272
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
1273
+ <xsl:attribute name="margin-left">13mm</xsl:attribute>
1274
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1282
+
1283
+ <xsl:attribute name="text-align">right</xsl:attribute>
1284
+ <xsl:attribute name="margin-right">25mm</xsl:attribute>
1285
+
1286
+
1287
+
1288
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1289
+
1290
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1291
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1292
+
1293
+
1294
+
1295
+
1296
+
1297
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
1298
+
1299
+
1300
+ <xsl:attribute name="color">blue</xsl:attribute>
1301
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
1302
+
1303
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
1304
+
1305
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1306
+
1307
+
1308
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1309
+ <xsl:attribute name="text-align">left</xsl:attribute>
1310
+ <xsl:attribute name="color">rgb(68, 84, 106)</xsl:attribute>
1311
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1312
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1313
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
1314
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1315
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
1332
+
1333
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
1334
+ <xsl:attribute name="text-align">center</xsl:attribute>
1335
+
1336
+
1337
+ <xsl:attribute name="space-before">12pt</xsl:attribute>
1338
+ <xsl:attribute name="space-after">0pt</xsl:attribute>
1339
+
1340
+
1341
+
1342
+
1343
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
1344
+
1345
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
1346
+
1347
+ <xsl:attribute name="width">100%</xsl:attribute>
1348
+ <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
1349
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
1356
+
1357
+
1358
+ <xsl:attribute name="font-family">Courier</xsl:attribute>
1359
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1360
+
1361
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
1362
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1363
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1364
+ <xsl:attribute name="text-align">center</xsl:attribute>
1365
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1366
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
1367
+
1368
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
1369
+
1370
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1371
+
1372
+
1373
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1374
+
1375
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
1376
+
1377
+ <xsl:attribute name="space-after">6pt</xsl:attribute>
1378
+
1379
+
1380
+ </xsl:attribute-set><xsl:template match="text()">
1381
+ <xsl:value-of select="."/>
1382
+ </xsl:template><xsl:template match="*[local-name()='br']">
1383
+ <xsl:value-of select="$linebreak"/>
1384
+ </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
1385
+ <!-- <xsl:call-template name="add-zero-spaces"/> -->
1386
+ <xsl:call-template name="add-zero-spaces-java"/>
1387
+ </xsl:template><xsl:template match="*[local-name()='table']">
1388
+
1389
+ <xsl:variable name="simple-table">
1390
+ <xsl:call-template name="getSimpleTable"/>
1391
+ </xsl:variable>
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+ <xsl:call-template name="fn_name_display"/>
1400
+
1401
+
1402
+
1403
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
1404
+
1405
+ <!-- <xsl:variable name="cols-count">
1406
+ <xsl:choose>
1407
+ <xsl:when test="*[local-name()='thead']">
1408
+ <xsl:call-template name="calculate-columns-numbers">
1409
+ <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1410
+ </xsl:call-template>
1411
+ </xsl:when>
1412
+ <xsl:otherwise>
1413
+ <xsl:call-template name="calculate-columns-numbers">
1414
+ <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1415
+ </xsl:call-template>
1416
+ </xsl:otherwise>
1417
+ </xsl:choose>
1418
+ </xsl:variable> -->
1419
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1420
+ <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1421
+
1422
+
1423
+
1424
+ <xsl:variable name="colwidths">
1425
+ <xsl:call-template name="calculate-column-widths">
1426
+ <xsl:with-param name="cols-count" select="$cols-count"/>
1427
+ <xsl:with-param name="table" select="$simple-table"/>
1428
+ </xsl:call-template>
1429
+ </xsl:variable>
1430
+
1431
+ <!-- <xsl:variable name="colwidths2">
1432
+ <xsl:call-template name="calculate-column-widths">
1433
+ <xsl:with-param name="cols-count" select="$cols-count"/>
1434
+ </xsl:call-template>
1435
+ </xsl:variable> -->
1436
+
1437
+ <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1438
+ colwidthsNew=<xsl:copy-of select="$colwidths"/>
1439
+ colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1440
+
1441
+ <xsl:variable name="margin-left">
1442
+ <xsl:choose>
1443
+ <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1444
+ <xsl:otherwise>0</xsl:otherwise>
1445
+ </xsl:choose>
1446
+ </xsl:variable>
1447
+
1448
+ <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1449
+
1450
+
1451
+
1452
+
1453
+
1454
+
1455
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2483
1456
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
2484
1457
  <xsl:attribute name="space-after">12pt</xsl:attribute>
2485
1458
 
@@ -2526,34 +1499,17 @@
2526
1499
 
2527
1500
 
2528
1501
 
1502
+
1503
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1504
+
1505
+
2529
1506
  </fo:block-container>
2530
- </xsl:template><xsl:template name="getTableNumber">
2531
- <xsl:choose>
2532
- <xsl:when test="ancestor::*[local-name()='executivesummary']"> <!-- NIST -->
2533
- <xsl:text>ES-</xsl:text><xsl:number format="1" count="*[local-name()='executivesummary']//*[local-name()='table'][not(@unnumbered) or @unnumbered != 'true']"/>
2534
- </xsl:when>
2535
- <xsl:when test="ancestor::*[local-name()='annex']">
2536
-
2537
-
2538
-
2539
- <xsl:number format="A." count="*[local-name()='annex']"/><xsl:number format="1"/>
2540
-
2541
-
2542
-
2543
-
2544
-
2545
-
2546
- </xsl:when>
2547
- <xsl:otherwise>
2548
-
2549
-
2550
- <xsl:number format="A." count="*[local-name()='annex']"/>
2551
- <xsl:number format="1" level="any" count="//*[local-name()='table'] [not(ancestor::*[local-name()='annex']) and not(ancestor::*[local-name()='executivesummary']) and not(ancestor::*[local-name()='bibdata'])] [not(@unnumbered) or @unnumbered != 'true']"/>
2552
-
2553
- </xsl:otherwise>
2554
- </xsl:choose>
2555
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']"/><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="process">
2556
- <xsl:apply-templates/>
1507
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
1508
+ <xsl:if test="normalize-space() != ''">
1509
+ <fo:block xsl:use-attribute-sets="table-name-style">
1510
+ <xsl:apply-templates/>
1511
+ </fo:block>
1512
+ </xsl:if>
2557
1513
  </xsl:template><xsl:template name="calculate-columns-numbers">
2558
1514
  <xsl:param name="table-row"/>
2559
1515
  <xsl:variable name="columns-count" select="count($table-row/*)"/>
@@ -2776,6 +1732,13 @@
2776
1732
 
2777
1733
 
2778
1734
 
1735
+ <xsl:attribute name="padding">1mm</xsl:attribute>
1736
+ <xsl:attribute name="background-color">rgb(0, 51, 102)</xsl:attribute>
1737
+ <xsl:attribute name="color">white</xsl:attribute>
1738
+ <xsl:attribute name="border">solid 0.5pt rgb(153, 153, 153)</xsl:attribute>
1739
+ <xsl:attribute name="height">5mm</xsl:attribute>
1740
+
1741
+
2779
1742
 
2780
1743
 
2781
1744
  <xsl:if test="@colspan">
@@ -2797,8 +1760,12 @@
2797
1760
 
2798
1761
 
2799
1762
 
1763
+
2800
1764
 
2801
1765
 
1766
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1767
+ <xsl:attribute name="border">solid 0.5pt rgb(153, 153, 153)</xsl:attribute>
1768
+ <xsl:attribute name="height">5mm</xsl:attribute>
2802
1769
 
2803
1770
 
2804
1771
 
@@ -2816,21 +1783,9 @@
2816
1783
  <fo:block>
2817
1784
 
2818
1785
  <xsl:apply-templates/>
2819
- </fo:block>
2820
- <!-- <xsl:choose>
2821
- <xsl:when test="count(*) = 1 and *[local-name() = 'p']">
2822
- <xsl:apply-templates />
2823
- </xsl:when>
2824
- <xsl:otherwise>
2825
- <fo:block>
2826
- <xsl:apply-templates />
2827
- </fo:block>
2828
- </xsl:otherwise>
2829
- </xsl:choose> -->
2830
-
2831
-
1786
+ </fo:block>
2832
1787
  </fo:table-cell>
2833
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
1788
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
2834
1789
 
2835
1790
 
2836
1791
  <fo:block font-size="10pt" margin-bottom="12pt">
@@ -2842,26 +1797,14 @@
2842
1797
 
2843
1798
 
2844
1799
 
2845
- <xsl:variable name="title-note">
2846
- <xsl:call-template name="getTitle">
2847
- <xsl:with-param name="name" select="'title-note'"/>
2848
- </xsl:call-template>
2849
- </xsl:variable>
2850
- <xsl:value-of select="$title-note"/>
2851
-
2852
- <xsl:variable name="id" select="ancestor::*[local-name() = 'table'][1]/@id"/>
2853
- <xsl:if test="count(//*[local-name()='note'][ancestor::*[@id = $id]]) &gt; 1">
2854
- <xsl:number count="*[local-name()='note'][ancestor::*[@id = $id]]" level="any"/>
2855
- </xsl:if>
1800
+
1801
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2856
1802
 
2857
-
2858
-
2859
-
2860
1803
  </fo:inline>
2861
1804
  <xsl:apply-templates mode="process"/>
2862
1805
  </fo:block>
2863
1806
 
2864
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
1807
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
2865
1808
  <xsl:apply-templates/>
2866
1809
  </xsl:template><xsl:template name="fn_display">
2867
1810
  <xsl:variable name="references">
@@ -2927,7 +1870,7 @@
2927
1870
  <!-- and (not(@class) or @class !='pseudocode') -->
2928
1871
  </xsl:variable>
2929
1872
  <xsl:variable name="references">
2930
- <xsl:for-each select=".//*[local-name()='fn']">
1873
+ <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
2931
1874
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2932
1875
  <xsl:apply-templates/>
2933
1876
  </fn>
@@ -3204,7 +2147,7 @@
3204
2147
  <xsl:value-of select="string-length(normalize-space(.))"/>
3205
2148
  </xsl:if>
3206
2149
  </xsl:for-each>
3207
- </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']">
2150
+ </xsl:template><xsl:template match="*[local-name()='dl']/*[local-name()='note']" priority="2">
3208
2151
  <xsl:param name="key_iso"/>
3209
2152
 
3210
2153
  <!-- <tr>
@@ -3220,12 +2163,7 @@
3220
2163
  <xsl:if test="normalize-space($key_iso) = 'true'">
3221
2164
  <xsl:attribute name="margin-top">0</xsl:attribute>
3222
2165
  </xsl:if>
3223
- <xsl:variable name="title-note">
3224
- <xsl:call-template name="getTitle">
3225
- <xsl:with-param name="name" select="'title-note'"/>
3226
- </xsl:call-template>
3227
- </xsl:variable>
3228
- <xsl:value-of select="$title-note"/>
2166
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3229
2167
  </fo:block>
3230
2168
  </fo:table-cell>
3231
2169
  <fo:table-cell>
@@ -3297,7 +2235,7 @@
3297
2235
  <fo:inline font-style="italic">
3298
2236
  <xsl:apply-templates/>
3299
2237
  </fo:inline>
3300
- </xsl:template><xsl:template match="*[local-name()='strong']">
2238
+ </xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
3301
2239
  <fo:inline font-weight="bold">
3302
2240
  <xsl:apply-templates/>
3303
2241
  </fo:inline>
@@ -3310,7 +2248,7 @@
3310
2248
  <xsl:apply-templates/>
3311
2249
  </fo:inline>
3312
2250
  </xsl:template><xsl:template match="*[local-name()='tt']">
3313
- <fo:inline font-family="Courier" font-size="10pt">
2251
+ <fo:inline xsl:use-attribute-sets="tt-style">
3314
2252
  <xsl:apply-templates/>
3315
2253
  </fo:inline>
3316
2254
  </xsl:template><xsl:template match="*[local-name()='del']">
@@ -3641,117 +2579,749 @@
3641
2579
  <xsl:copy-of select="."/>
3642
2580
  </fo:instream-foreign-object>
3643
2581
  </fo:inline>
3644
- </xsl:template><xsl:template match="*[local-name()='localityStack']">
3645
- <xsl:for-each select="*[local-name()='locality']">
3646
- <xsl:if test="position() =1"><xsl:text>, </xsl:text></xsl:if>
3647
- <xsl:apply-templates select="."/>
3648
- <xsl:if test="position() != last()"><xsl:text>; </xsl:text></xsl:if>
3649
- </xsl:for-each>
3650
- </xsl:template><xsl:template match="*[local-name()='link']" name="link">
2582
+ </xsl:template><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3651
2583
  <xsl:variable name="target">
3652
2584
  <xsl:choose>
3653
- <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
3654
- <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
2585
+ <xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
2586
+ <xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
2587
+ </xsl:when>
2588
+ <xsl:otherwise>
2589
+ <xsl:value-of select="normalize-space(@target)"/>
2590
+ </xsl:otherwise>
2591
+ </xsl:choose>
2592
+ </xsl:variable>
2593
+ <fo:inline xsl:use-attribute-sets="link-style">
2594
+ <xsl:choose>
2595
+ <xsl:when test="$target = ''">
2596
+ <xsl:apply-templates/>
2597
+ </xsl:when>
2598
+ <xsl:otherwise>
2599
+ <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
2600
+ <xsl:choose>
2601
+ <xsl:when test="normalize-space(.) = ''">
2602
+ <xsl:value-of select="$target"/>
2603
+ </xsl:when>
2604
+ <xsl:otherwise>
2605
+ <xsl:apply-templates/>
2606
+ </xsl:otherwise>
2607
+ </xsl:choose>
2608
+ </fo:basic-link>
2609
+ </xsl:otherwise>
2610
+ </xsl:choose>
2611
+ </fo:inline>
2612
+ </xsl:template><xsl:template match="*[local-name()='bookmark']">
2613
+ <fo:inline id="{@id}"/>
2614
+ </xsl:template><xsl:template match="*[local-name()='appendix']">
2615
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
2616
+ <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
2617
+ </fo:block>
2618
+ <xsl:apply-templates/>
2619
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
2620
+ <fo:inline><xsl:apply-templates/></fo:inline>
2621
+ </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
2622
+ <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
2623
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2624
+ </fo:block>
2625
+ <xsl:apply-templates/>
2626
+ </xsl:template><xsl:template match="*[local-name() = 'callout']">
2627
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
2628
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']">
2629
+ <xsl:variable name="annotation-id" select="@id"/>
2630
+ <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
2631
+ <fo:block id="{$annotation-id}" white-space="nowrap">
2632
+ <fo:inline>
2633
+ <xsl:apply-templates>
2634
+ <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
2635
+ </xsl:apply-templates>
2636
+ </fo:inline>
2637
+ </fo:block>
2638
+ </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
2639
+ <xsl:param name="callout"/>
2640
+ <fo:inline id="{@id}">
2641
+ <!-- for first p in annotation, put <x> -->
2642
+ <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
2643
+ <xsl:apply-templates/>
2644
+ </fo:inline>
2645
+ </xsl:template><xsl:template match="*[local-name() = 'modification']">
2646
+ <xsl:variable name="title-modified">
2647
+ <xsl:call-template name="getTitle">
2648
+ <xsl:with-param name="name" select="'title-modified'"/>
2649
+ </xsl:call-template>
2650
+ </xsl:variable>
2651
+ <xsl:choose>
2652
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
2653
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
2654
+ </xsl:choose>
2655
+ <xsl:apply-templates/>
2656
+ </xsl:template><xsl:template match="*[local-name() = 'xref']">
2657
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
2658
+
2659
+ <xsl:apply-templates/>
2660
+ </fo:basic-link>
2661
+ </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
2662
+ <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
2663
+ <xsl:apply-templates/>
2664
+ </fo:block>
2665
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'dt']/*[local-name() = 'stem']">
2666
+ <fo:inline>
2667
+ <xsl:apply-templates/>
2668
+ </fo:inline>
2669
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']/*[local-name() = 'stem']">
2670
+ <fo:inline>
2671
+ <xsl:apply-templates/>
2672
+ </fo:inline>
2673
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
2674
+ <xsl:if test="normalize-space() != ''">
2675
+ <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
2676
+ </xsl:if>
2677
+ </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
2678
+
2679
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
2680
+
2681
+
2682
+ <xsl:if test="ancestor::ogc:ul or ancestor::ogc:ol and not(ancestor::ogc:note[1]/following-sibling::*)">
2683
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2684
+ </xsl:if>
2685
+
2686
+
2687
+
2688
+ <fo:block-container margin-left="0mm">
2689
+
2690
+
2691
+
2692
+
2693
+
2694
+
2695
+
2696
+
2697
+ <fo:block>
2698
+
2699
+
2700
+
2701
+
2702
+ <fo:inline xsl:use-attribute-sets="note-name-style">
2703
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2704
+ </fo:inline>
2705
+ <xsl:apply-templates/>
2706
+ </fo:block>
2707
+
2708
+
2709
+ </fo:block-container>
2710
+ </fo:block-container>
2711
+
2712
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
2713
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
2714
+ <xsl:choose>
2715
+ <xsl:when test="$num = 1">
2716
+ <fo:inline xsl:use-attribute-sets="note-p-style">
2717
+ <xsl:apply-templates/>
2718
+ </fo:inline>
2719
+ </xsl:when>
2720
+ <xsl:otherwise>
2721
+ <fo:block xsl:use-attribute-sets="note-p-style">
2722
+ <xsl:apply-templates/>
2723
+ </fo:block>
2724
+ </xsl:otherwise>
2725
+ </xsl:choose>
2726
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']">
2727
+ <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
2728
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2729
+ <xsl:apply-templates/>
2730
+ </fo:block>
2731
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
2732
+ <xsl:param name="sfx"/>
2733
+ <xsl:variable name="suffix">
2734
+ <xsl:choose>
2735
+ <xsl:when test="$sfx != ''">
2736
+ <xsl:value-of select="$sfx"/>
2737
+ </xsl:when>
2738
+ <xsl:otherwise>
2739
+
2740
+
2741
+ </xsl:otherwise>
2742
+ </xsl:choose>
2743
+ </xsl:variable>
2744
+ <xsl:if test="normalize-space() != ''">
2745
+ <xsl:apply-templates/>
2746
+ <xsl:value-of select="$suffix"/>
2747
+ </xsl:if>
2748
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
2749
+ <xsl:param name="sfx"/>
2750
+ <xsl:variable name="suffix">
2751
+ <xsl:choose>
2752
+ <xsl:when test="$sfx != ''">
2753
+ <xsl:value-of select="$sfx"/>
2754
+ </xsl:when>
2755
+ <xsl:otherwise>
2756
+
2757
+ <xsl:text>:</xsl:text>
2758
+
2759
+
2760
+ </xsl:otherwise>
2761
+ </xsl:choose>
2762
+ </xsl:variable>
2763
+ <xsl:if test="normalize-space() != ''">
2764
+ <xsl:apply-templates/>
2765
+ <xsl:value-of select="$suffix"/>
2766
+ </xsl:if>
2767
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
2768
+ <fo:inline><xsl:apply-templates/></fo:inline>
2769
+ </xsl:template><xsl:template match="*[local-name() = 'terms']">
2770
+ <fo:block id="{@id}">
2771
+ <xsl:apply-templates/>
2772
+ </fo:block>
2773
+ </xsl:template><xsl:template match="*[local-name() = 'term']">
2774
+ <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
2775
+
2776
+
2777
+
2778
+ <xsl:apply-templates/>
2779
+ </fo:block>
2780
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
2781
+ <xsl:if test="normalize-space() != ''">
2782
+ <fo:inline>
2783
+ <xsl:apply-templates/>
2784
+ <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
2785
+ <xsl:text>.</xsl:text>
2786
+ </xsl:if> -->
2787
+ </fo:inline>
2788
+ </xsl:if>
2789
+ </xsl:template><xsl:template match="*[local-name() = 'figure']">
2790
+ <fo:block-container id="{@id}">
2791
+ <fo:block>
2792
+ <xsl:apply-templates/>
2793
+ </fo:block>
2794
+ <xsl:call-template name="fn_display_figure"/>
2795
+ <xsl:for-each select="*[local-name() = 'note']">
2796
+ <xsl:call-template name="note"/>
2797
+ </xsl:for-each>
2798
+ <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2799
+ </fo:block-container>
2800
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
2801
+ <fo:block id="{@id}">
2802
+ <xsl:apply-templates/>
2803
+ </fo:block>
2804
+ </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
2805
+ <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
2806
+ <xsl:apply-templates/>
2807
+ </fo:block>
2808
+ </xsl:template><xsl:template match="*[local-name() = 'image']">
2809
+ <fo:block xsl:use-attribute-sets="image-style">
2810
+
2811
+
2812
+ <xsl:variable name="src">
2813
+ <xsl:choose>
2814
+ <xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
2815
+ <xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
2816
+ </xsl:when>
2817
+ <xsl:otherwise>
2818
+ <xsl:value-of select="@src"/>
2819
+ </xsl:otherwise>
2820
+ </xsl:choose>
2821
+ </xsl:variable>
2822
+
2823
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
2824
+ </fo:block>
2825
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
2826
+ <xsl:apply-templates mode="contents"/>
2827
+ <xsl:text> </xsl:text>
2828
+ </xsl:template><xsl:template match="text()" mode="contents">
2829
+ <xsl:value-of select="."/>
2830
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
2831
+ <xsl:if test="normalize-space() != ''">
2832
+ <fo:block xsl:use-attribute-sets="figure-name-style">
2833
+
2834
+ <xsl:apply-templates/>
2835
+ </fo:block>
2836
+ </xsl:if>
2837
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
2838
+ <xsl:apply-templates mode="contents_item"/>
2839
+ <!-- <xsl:text> </xsl:text> -->
2840
+ </xsl:template><xsl:template name="getSection">
2841
+ <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
2842
+ </xsl:template><xsl:template name="getName">
2843
+ <xsl:choose>
2844
+ <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
2845
+ <xsl:copy-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/following-sibling::node()"/>
2846
+ </xsl:when>
2847
+ <xsl:otherwise>
2848
+ <xsl:copy-of select="*[local-name() = 'title']/node()"/>
2849
+ </xsl:otherwise>
2850
+ </xsl:choose>
2851
+ </xsl:template><xsl:template name="insertTitleAsListItem">
2852
+ <xsl:param name="provisional-distance-between-starts" select="'9.5mm'"/>
2853
+ <xsl:variable name="section">
2854
+ <xsl:for-each select="..">
2855
+ <xsl:call-template name="getSection"/>
2856
+ </xsl:for-each>
2857
+ </xsl:variable>
2858
+ <fo:list-block provisional-distance-between-starts="{$provisional-distance-between-starts}">
2859
+ <fo:list-item>
2860
+ <fo:list-item-label end-indent="label-end()">
2861
+ <fo:block>
2862
+ <xsl:value-of select="$section"/>
2863
+ </fo:block>
2864
+ </fo:list-item-label>
2865
+ <fo:list-item-body start-indent="body-start()">
2866
+ <fo:block>
2867
+ <xsl:choose>
2868
+ <xsl:when test="*[local-name() = 'tab']">
2869
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
2870
+ </xsl:when>
2871
+ <xsl:otherwise>
2872
+ <xsl:apply-templates/>
2873
+ </xsl:otherwise>
2874
+ </xsl:choose>
2875
+ </fo:block>
2876
+ </fo:list-item-body>
2877
+ </fo:list-item>
2878
+ </fo:list-block>
2879
+ </xsl:template><xsl:template name="extractTitle">
2880
+ <xsl:choose>
2881
+ <xsl:when test="*[local-name() = 'tab']">
2882
+ <xsl:apply-templates select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
2883
+ </xsl:when>
2884
+ <xsl:otherwise>
2885
+ <xsl:apply-templates/>
2886
+ </xsl:otherwise>
2887
+ </xsl:choose>
2888
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
2889
+ <xsl:text> </xsl:text>
2890
+ </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
2891
+ <xsl:copy>
2892
+ <xsl:apply-templates mode="contents_item"/>
2893
+ </xsl:copy>
2894
+ </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
2895
+ <xsl:text> </xsl:text>
2896
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
2897
+ <fo:block xsl:use-attribute-sets="sourcecode-style">
2898
+ <xsl:apply-templates/>
2899
+ </fo:block>
2900
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2901
+ </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()">
2902
+ <xsl:variable name="text">
2903
+ <xsl:call-template name="add-zero-spaces-equal"/>
2904
+ </xsl:variable>
2905
+ <xsl:call-template name="add-zero-spaces">
2906
+ <xsl:with-param name="text" select="$text"/>
2907
+ </xsl:call-template>
2908
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
2909
+ <xsl:if test="normalize-space() != ''">
2910
+ <fo:block xsl:use-attribute-sets="sourcecode-name-style">
2911
+
2912
+ <xsl:apply-templates/>
2913
+ </fo:block>
2914
+ </xsl:if>
2915
+ </xsl:template><xsl:template match="*[local-name() = 'permission']">
2916
+ <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
2917
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2918
+ <xsl:apply-templates/>
2919
+ </fo:block>
2920
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
2921
+ <xsl:if test="normalize-space() != ''">
2922
+ <fo:block xsl:use-attribute-sets="permission-name-style">
2923
+ <xsl:apply-templates/>
2924
+
2925
+ <xsl:text>:</xsl:text>
2926
+
2927
+ </fo:block>
2928
+ </xsl:if>
2929
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'label']">
2930
+ <fo:block xsl:use-attribute-sets="permission-label-style">
2931
+ <xsl:apply-templates/>
2932
+ </fo:block>
2933
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']">
2934
+ <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
2935
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2936
+ <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
2937
+ <xsl:apply-templates select="@obligation" mode="presentation"/>
2938
+ <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
2939
+ <xsl:apply-templates/>
2940
+ </fo:block>
2941
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
2942
+ <xsl:if test="normalize-space() != ''">
2943
+ <fo:block xsl:use-attribute-sets="requirement-name-style">
2944
+
2945
+ <xsl:if test="../@type = 'class'">
2946
+ <xsl:attribute name="background-color">white</xsl:attribute>
2947
+ </xsl:if>
2948
+
2949
+ <xsl:apply-templates/>
2950
+
2951
+ <xsl:text>:</xsl:text>
2952
+
2953
+ </fo:block>
2954
+ </xsl:if>
2955
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
2956
+ <fo:block xsl:use-attribute-sets="requirement-label-style">
2957
+ <xsl:apply-templates/>
2958
+ </fo:block>
2959
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
2960
+ <fo:block>
2961
+ <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
2962
+ </fo:block>
2963
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
2964
+ <fo:block xsl:use-attribute-sets="requirement-subject-style">
2965
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
2966
+ </fo:block>
2967
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
2968
+ <fo:block xsl:use-attribute-sets="requirement-inherit-style">
2969
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
2970
+ </fo:block>
2971
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
2972
+ <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
2973
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2974
+ <xsl:apply-templates/>
2975
+ </fo:block>
2976
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
2977
+ <xsl:if test="normalize-space() != ''">
2978
+ <fo:block xsl:use-attribute-sets="recommendation-name-style">
2979
+ <xsl:apply-templates/>
2980
+
2981
+ </fo:block>
2982
+ </xsl:if>
2983
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'label']">
2984
+ <fo:block xsl:use-attribute-sets="recommendation-label-style">
2985
+ <xsl:apply-templates/>
2986
+ </fo:block>
2987
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']">
2988
+ <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
2989
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2990
+ <xsl:apply-templates/>
2991
+ </fo:block>
2992
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
2993
+ <xsl:if test="normalize-space() != ''">
2994
+ <fo:inline xsl:use-attribute-sets="termexample-name-style">
2995
+ <xsl:apply-templates/>
2996
+ </fo:inline>
2997
+ </xsl:if>
2998
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
2999
+ <fo:inline><xsl:apply-templates/></fo:inline>
3000
+ </xsl:template><xsl:template match="*[local-name() = 'example']">
3001
+ <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
3002
+
3003
+ <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
3004
+
3005
+ <xsl:variable name="element">
3006
+ block
3007
+
3008
+ </xsl:variable>
3009
+
3010
+ <xsl:choose>
3011
+ <xsl:when test="normalize-space($element) = 'block'">
3012
+ <fo:block xsl:use-attribute-sets="example-body-style">
3013
+ <xsl:apply-templates/>
3014
+ </fo:block>
3655
3015
  </xsl:when>
3656
3016
  <xsl:otherwise>
3657
- <xsl:value-of select="normalize-space(@target)"/>
3017
+ <fo:inline>
3018
+ <xsl:apply-templates/>
3019
+ </fo:inline>
3658
3020
  </xsl:otherwise>
3659
3021
  </xsl:choose>
3660
- </xsl:variable>
3661
- <fo:inline xsl:use-attribute-sets="link-style">
3022
+
3023
+ </fo:block>
3024
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
3025
+
3026
+ <xsl:variable name="element">
3027
+ block
3028
+
3029
+ </xsl:variable>
3030
+ <xsl:choose>
3031
+ <xsl:when test="ancestor::*[local-name() = 'appendix']">
3032
+ <fo:inline>
3033
+ <xsl:apply-templates/>
3034
+ </fo:inline>
3035
+ </xsl:when>
3036
+ <xsl:when test="normalize-space($element) = 'block'">
3037
+ <fo:block xsl:use-attribute-sets="example-name-style">
3038
+ <xsl:apply-templates/>
3039
+ </fo:block>
3040
+ </xsl:when>
3041
+ <xsl:otherwise>
3042
+ <fo:inline xsl:use-attribute-sets="example-name-style">
3043
+ <xsl:apply-templates/>
3044
+ </fo:inline>
3045
+ </xsl:otherwise>
3046
+ </xsl:choose>
3047
+
3048
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
3049
+ <fo:block xsl:use-attribute-sets="example-p-style">
3050
+
3051
+ <xsl:apply-templates/>
3052
+ </fo:block>
3053
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']">
3054
+ <fo:block xsl:use-attribute-sets="termsource-style">
3055
+ <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
3056
+ <xsl:variable name="termsource_text">
3057
+ <xsl:apply-templates/>
3058
+ </xsl:variable>
3662
3059
  <xsl:choose>
3663
- <xsl:when test="$target = ''">
3060
+ <xsl:when test="starts-with(normalize-space($termsource_text), '[')">
3664
3061
  <xsl:apply-templates/>
3665
3062
  </xsl:when>
3666
3063
  <xsl:otherwise>
3667
- <fo:basic-link external-destination="{@target}" fox:alt-text="{@target}">
3668
- <xsl:choose>
3669
- <xsl:when test="normalize-space(.) = ''">
3670
- <xsl:value-of select="$target"/>
3671
- </xsl:when>
3672
- <xsl:otherwise>
3673
- <xsl:apply-templates/>
3674
- </xsl:otherwise>
3675
- </xsl:choose>
3676
- </fo:basic-link>
3064
+ <xsl:text>[</xsl:text>
3065
+ <xsl:apply-templates/>
3066
+ <xsl:text>]</xsl:text>
3677
3067
  </xsl:otherwise>
3678
3068
  </xsl:choose>
3679
- </fo:inline>
3680
- </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
3681
- <fo:block xsl:use-attribute-sets="sourcecode-style">
3682
- <!-- <xsl:choose>
3683
- <xsl:when test="@lang = 'en'"></xsl:when>
3684
- <xsl:otherwise> -->
3685
- <xsl:attribute name="white-space">pre</xsl:attribute>
3686
- <xsl:attribute name="wrap-option">wrap</xsl:attribute>
3687
- <!-- </xsl:otherwise>
3688
- </xsl:choose> -->
3689
- <xsl:apply-templates/>
3690
3069
  </fo:block>
3691
- </xsl:template><xsl:template match="*[local-name()='bookmark']">
3692
- <fo:inline id="{@id}"/>
3693
- </xsl:template><xsl:template match="*[local-name()='appendix']">
3694
- <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
3695
- <xsl:variable name="title-appendix">
3070
+ </xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
3071
+ <xsl:if test="normalize-space() != ''">
3072
+ <xsl:value-of select="."/>
3073
+ </xsl:if>
3074
+ </xsl:template><xsl:template match="*[local-name() = 'origin']">
3075
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3076
+
3696
3077
  <xsl:call-template name="getTitle">
3697
- <xsl:with-param name="name" select="'title-appendix'"/>
3078
+ <xsl:with-param name="name" select="'title-source'"/>
3698
3079
  </xsl:call-template>
3699
- </xsl:variable>
3700
- <fo:inline padding-right="5mm"><xsl:value-of select="$title-appendix"/> <xsl:number/></fo:inline>
3701
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
3702
- </fo:block>
3703
- <xsl:apply-templates/>
3704
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
3080
+ <xsl:text>: </xsl:text>
3081
+
3082
+ <fo:inline xsl:use-attribute-sets="origin-style">
3083
+ <xsl:apply-templates/>
3084
+ </fo:inline>
3085
+ </fo:basic-link>
3086
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
3705
3087
  <fo:inline><xsl:apply-templates/></fo:inline>
3706
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']">
3707
- <fo:block xsl:use-attribute-sets="appendix-example-style">
3708
- <xsl:variable name="claims_id" select="ancestor::*[local-name()='clause'][1]/@id"/>
3709
- <xsl:variable name="title-example">
3710
- <xsl:call-template name="getTitle">
3711
- <xsl:with-param name="name" select="'title-example'"/>
3712
- </xsl:call-template>
3713
- </xsl:variable>
3714
- <xsl:value-of select="$title-example"/>
3715
- <xsl:if test="count(ancestor::*[local-name()='clause'][1]//*[local-name()='example']) &gt; 1">
3716
- <xsl:number count="*[local-name()='example'][ancestor::*[local-name()='clause'][@id = $claims_id]]" level="any"/><xsl:text> </xsl:text>
3717
- </xsl:if>
3718
- <xsl:if test="*[local-name()='name']">
3719
- <xsl:text>— </xsl:text><xsl:apply-templates select="*[local-name()='name']" mode="process"/>
3720
- </xsl:if>
3088
+ </xsl:template><xsl:template match="*[local-name() = 'modification']/text()">
3089
+ <xsl:if test="normalize-space() != ''">
3090
+ <xsl:value-of select="."/>
3091
+ </xsl:if>
3092
+ </xsl:template><xsl:template match="*[local-name() = 'quote']">
3093
+
3094
+ <fo:block xsl:use-attribute-sets="quote-style">
3095
+ <xsl:apply-templates select=".//*[local-name() = 'p']"/>
3721
3096
  </fo:block>
3722
- <xsl:apply-templates/>
3723
- </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']"/><xsl:template match="*[local-name()='appendix']//*[local-name()='example']/*[local-name()='name']" mode="process">
3724
- <fo:inline><xsl:apply-templates/></fo:inline>
3725
- </xsl:template><xsl:template match="*[local-name() = 'callout']">
3726
- <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
3727
- </xsl:template><xsl:template match="*[local-name() = 'annotation']">
3728
- <xsl:variable name="annotation-id" select="@id"/>
3729
- <xsl:variable name="callout" select="//*[@target = $annotation-id]/text()"/>
3730
- <fo:block id="{$annotation-id}" white-space="nowrap">
3731
- <fo:inline>
3732
- <xsl:apply-templates>
3733
- <xsl:with-param name="callout" select="concat('&lt;', $callout, '&gt; ')"/>
3734
- </xsl:apply-templates>
3735
- </fo:inline>
3736
- </fo:block>
3737
- </xsl:template><xsl:template match="*[local-name() = 'annotation']/*[local-name() = 'p']">
3738
- <xsl:param name="callout"/>
3739
- <fo:inline id="{@id}">
3740
- <!-- for first p in annotation, put <x> -->
3741
- <xsl:if test="not(preceding-sibling::*[local-name() = 'p'])"><xsl:value-of select="$callout"/></xsl:if>
3097
+ <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
3098
+ <fo:block xsl:use-attribute-sets="quote-source-style">
3099
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
3100
+ <xsl:apply-templates select="*[local-name() = 'author']"/>
3101
+ <xsl:apply-templates select="*[local-name() = 'source']"/>
3102
+ </fo:block>
3103
+ </xsl:if>
3104
+ </xsl:template><xsl:template match="*[local-name() = 'source']">
3105
+ <xsl:if test="../*[local-name() = 'author']">
3106
+ <xsl:text>, </xsl:text>
3107
+ </xsl:if>
3108
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3742
3109
  <xsl:apply-templates/>
3743
- </fo:inline>
3744
- </xsl:template><xsl:template match="*[local-name() = 'modification']">
3745
- <xsl:variable name="title-modified">
3746
- <xsl:call-template name="getTitle">
3747
- <xsl:with-param name="name" select="'title-modified'"/>
3110
+ </fo:basic-link>
3111
+ </xsl:template><xsl:template match="*[local-name() = 'author']">
3112
+ <xsl:text>— </xsl:text>
3113
+ <xsl:apply-templates/>
3114
+ </xsl:template><xsl:template match="*[local-name() = 'eref']">
3115
+ <fo:inline xsl:use-attribute-sets="eref-style">
3116
+ <xsl:if test="@type = 'footnote'">
3117
+
3118
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
3119
+ <xsl:attribute name="font-size">80%</xsl:attribute>
3120
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
3121
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
3122
+
3123
+
3124
+ </xsl:if>
3125
+
3126
+ <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
3127
+
3128
+ <xsl:if test="@type = 'inline'">
3129
+
3130
+ <xsl:attribute name="color">blue</xsl:attribute>
3131
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
3132
+
3133
+
3134
+ </xsl:if>
3135
+
3136
+
3137
+ <xsl:apply-templates/>
3138
+ </fo:basic-link>
3139
+ </fo:inline>
3140
+ </xsl:template><xsl:template match="*[local-name() = 'tab']">
3141
+ <!-- zero-space char -->
3142
+ <xsl:variable name="depth">
3143
+ <xsl:call-template name="getLevel">
3144
+ <xsl:with-param name="depth" select="../@depth"/>
3748
3145
  </xsl:call-template>
3749
3146
  </xsl:variable>
3147
+
3148
+ <xsl:variable name="padding">
3149
+
3150
+
3151
+
3152
+
3153
+
3154
+
3155
+
3156
+
3157
+
3158
+
3159
+
3160
+
3161
+ <xsl:choose>
3162
+ <xsl:when test="$depth &gt;= 5"/>
3163
+ <xsl:when test="$depth &gt;= 4">5</xsl:when>
3164
+ <xsl:when test="$depth &gt;= 3 and ancestor::ogc:terms">3</xsl:when>
3165
+ <xsl:when test="$depth &gt;= 2">4</xsl:when>
3166
+ <xsl:when test="$depth = 1">4</xsl:when>
3167
+ <xsl:otherwise>2</xsl:otherwise>
3168
+ </xsl:choose>
3169
+
3170
+
3171
+
3172
+
3173
+
3174
+
3175
+ </xsl:variable>
3176
+
3177
+ <xsl:variable name="padding-right">
3178
+ <xsl:choose>
3179
+ <xsl:when test="normalize-space($padding) = ''">0</xsl:when>
3180
+ <xsl:otherwise>
3181
+ <xsl:value-of select="normalize-space($padding)"/>
3182
+ </xsl:otherwise>
3183
+ </xsl:choose>
3184
+ </xsl:variable>
3185
+
3186
+ <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3187
+
3750
3188
  <xsl:choose>
3751
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
3752
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
3189
+ <xsl:when test="$language = 'zh'">
3190
+ <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
3191
+ </xsl:when>
3192
+ <xsl:when test="../../@inline-header = 'true'">
3193
+ <fo:inline font-size="90%">
3194
+ <xsl:call-template name="insertNonBreakSpaces">
3195
+ <xsl:with-param name="count" select="$padding-right"/>
3196
+ </xsl:call-template>
3197
+ </fo:inline>
3198
+ </xsl:when>
3199
+ <xsl:otherwise>
3200
+ <fo:inline padding-right="{$padding-right}mm">​</fo:inline>
3201
+ </xsl:otherwise>
3753
3202
  </xsl:choose>
3203
+
3204
+ </xsl:template><xsl:template name="insertNonBreakSpaces">
3205
+ <xsl:param name="count"/>
3206
+ <xsl:if test="$count &gt; 0">
3207
+ <xsl:text> </xsl:text>
3208
+ <xsl:call-template name="insertNonBreakSpaces">
3209
+ <xsl:with-param name="count" select="$count - 1"/>
3210
+ </xsl:call-template>
3211
+ </xsl:if>
3212
+ </xsl:template><xsl:template match="*[local-name() = 'domain']">
3213
+ <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
3214
+ <xsl:text> </xsl:text>
3215
+ </xsl:template><xsl:template match="*[local-name() = 'admitted']">
3216
+ <fo:block xsl:use-attribute-sets="admitted-style">
3217
+ <xsl:apply-templates/>
3218
+ </fo:block>
3219
+ </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
3220
+ <xsl:variable name="title-deprecated">
3221
+ <xsl:call-template name="getTitle">
3222
+ <xsl:with-param name="name" select="'title-deprecated'"/>
3223
+ </xsl:call-template>
3224
+ </xsl:variable>
3225
+ <fo:block xsl:use-attribute-sets="deprecates-style">
3226
+ <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
3227
+ </fo:block>
3228
+ </xsl:template><xsl:template match="*[local-name() = 'definition']">
3229
+ <fo:block xsl:use-attribute-sets="definition-style">
3230
+ <xsl:apply-templates/>
3231
+ </fo:block>
3232
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]">
3233
+ <xsl:apply-templates/>
3234
+ </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p']">
3235
+ <fo:inline> <xsl:apply-templates/></fo:inline>
3236
+ <fo:block> </fo:block>
3237
+ </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
3238
+
3239
+ <fo:block>
3240
+ <xsl:call-template name="setId"/>
3241
+
3242
+
3243
+
3244
+
3245
+
3246
+
3247
+
3248
+ <xsl:variable name="pos"><xsl:number count="ogc:sections/ogc:clause[not(@id='_scope') and not(@id='conformance') and not(@id='_conformance')]"/></xsl:variable> <!-- | ogc:sections/ogc:terms -->
3249
+ <xsl:if test="$pos &gt;= 2">
3250
+ <xsl:attribute name="space-before">18pt</xsl:attribute>
3251
+ </xsl:if>
3252
+
3253
+
3254
+
3255
+
3256
+ <xsl:apply-templates/>
3257
+ </fo:block>
3258
+
3259
+
3260
+
3261
+ </xsl:template><xsl:template match="/*/*[local-name() = 'preface']/*" priority="2">
3262
+ <fo:block break-after="page"/>
3263
+ <fo:block>
3264
+ <xsl:call-template name="setId"/>
3265
+ <xsl:apply-templates/>
3266
+ </fo:block>
3267
+ </xsl:template><xsl:template match="*[local-name() = 'clause']">
3268
+ <fo:block>
3269
+ <xsl:call-template name="setId"/>
3270
+ <xsl:apply-templates/>
3271
+ </fo:block>
3272
+ </xsl:template><xsl:template match="*[local-name() = 'definitions']">
3273
+ <fo:block id="{@id}">
3274
+ <xsl:apply-templates/>
3275
+ </fo:block>
3276
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
3277
+
3278
+ <fo:block id="{@id}">
3279
+ <xsl:apply-templates/>
3280
+ </fo:block>
3281
+ </xsl:template><xsl:template match="*[local-name() = 'annex']">
3282
+ <fo:block break-after="page"/>
3283
+ <fo:block id="{@id}">
3284
+
3285
+ </fo:block>
3754
3286
  <xsl:apply-templates/>
3287
+ </xsl:template><xsl:template match="*[local-name() = 'review']">
3288
+ <!-- comment 2019-11-29 -->
3289
+ <!-- <fo:block font-weight="bold">Review:</fo:block>
3290
+ <xsl:apply-templates /> -->
3291
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
3292
+ <!-- 0xA0 to space replacement -->
3293
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
3294
+ </xsl:template><xsl:template match="*[local-name() = 'errata']">
3295
+ <!-- <row>
3296
+ <date>05-07-2013</date>
3297
+ <type>Editorial</type>
3298
+ <change>Changed CA-9 Priority Code from P1 to P2 in <xref target="tabled2"/>.</change>
3299
+ <pages>D-3</pages>
3300
+ </row>
3301
+ -->
3302
+ <fo:table table-layout="fixed" width="100%" font-size="10pt" border="1pt solid black">
3303
+ <fo:table-column column-width="20mm"/>
3304
+ <fo:table-column column-width="23mm"/>
3305
+ <fo:table-column column-width="107mm"/>
3306
+ <fo:table-column column-width="15mm"/>
3307
+ <fo:table-body>
3308
+ <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
3309
+ <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
3310
+ <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
3311
+ <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
3312
+ <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
3313
+ </fo:table-row>
3314
+ <xsl:apply-templates/>
3315
+ </fo:table-body>
3316
+ </fo:table>
3317
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']">
3318
+ <fo:table-row>
3319
+ <xsl:apply-templates/>
3320
+ </fo:table-row>
3321
+ </xsl:template><xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*">
3322
+ <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
3323
+ <fo:block><xsl:apply-templates/></fo:block>
3324
+ </fo:table-cell>
3755
3325
  </xsl:template><xsl:template name="convertDate">
3756
3326
  <xsl:param name="date"/>
3757
3327
  <xsl:param name="format" select="'short'"/>
@@ -3882,27 +3452,49 @@
3882
3452
  </xsl:otherwise>
3883
3453
  </xsl:choose>
3884
3454
  </xsl:template><xsl:template name="getLevel">
3885
- <xsl:variable name="level_total" select="count(ancestor::*)"/>
3886
- <xsl:variable name="level">
3887
- <xsl:choose>
3888
- <xsl:when test="ancestor::*[local-name() = 'preface']">
3889
- <xsl:value-of select="$level_total - 2"/>
3890
- </xsl:when>
3891
- <xsl:when test="ancestor::*[local-name() = 'sections']">
3892
- <xsl:value-of select="$level_total - 2"/>
3893
- </xsl:when>
3894
- <xsl:when test="ancestor::*[local-name() = 'bibliography']">
3895
- <xsl:value-of select="$level_total - 2"/>
3896
- </xsl:when>
3897
- <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
3898
- <xsl:otherwise>
3899
- <xsl:value-of select="$level_total - 1"/>
3900
- </xsl:otherwise>
3901
- </xsl:choose>
3902
- </xsl:variable>
3903
- <xsl:value-of select="$level"/>
3904
- </xsl:template><xsl:template name="getSubSection">
3905
- <xsl:number format=".1" level="multiple" count="*[local-name() = 'clause']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'terms'] | *[local-name() = 'terms']/*[local-name() = 'term'] | *[local-name() = 'clause']/*[local-name() = 'term'] | *[local-name() = 'terms']/*[local-name() = 'clause'] | *[local-name() = 'terms']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'clause'] | *[local-name() = 'clause']/*[local-name() = 'definitions'] | *[local-name() = 'definitions']/*[local-name() = 'definitions'] | *[local-name() = 'clause']/*[local-name() = 'references']"/>
3455
+ <xsl:param name="depth"/>
3456
+ <xsl:choose>
3457
+ <xsl:when test="normalize-space(@depth) != ''">
3458
+ <xsl:value-of select="@depth"/>
3459
+ </xsl:when>
3460
+ <xsl:when test="normalize-space($depth) != ''">
3461
+ <xsl:value-of select="$depth"/>
3462
+ </xsl:when>
3463
+ <xsl:otherwise>
3464
+ <xsl:variable name="level_total" select="count(ancestor::*)"/>
3465
+ <xsl:variable name="level">
3466
+ <xsl:choose>
3467
+ <xsl:when test="parent::*[local-name() = 'preface']">
3468
+ <xsl:value-of select="$level_total - 1"/>
3469
+ </xsl:when>
3470
+ <xsl:when test="ancestor::*[local-name() = 'preface']">
3471
+ <xsl:value-of select="$level_total - 2"/>
3472
+ </xsl:when>
3473
+ <!-- <xsl:when test="parent::*[local-name() = 'sections']">
3474
+ <xsl:value-of select="$level_total - 1"/>
3475
+ </xsl:when> -->
3476
+ <xsl:when test="ancestor::*[local-name() = 'sections']">
3477
+ <xsl:value-of select="$level_total - 1"/>
3478
+ </xsl:when>
3479
+ <xsl:when test="ancestor::*[local-name() = 'bibliography']">
3480
+ <xsl:value-of select="$level_total - 1"/>
3481
+ </xsl:when>
3482
+ <xsl:when test="parent::*[local-name() = 'annex']">
3483
+ <xsl:value-of select="$level_total - 1"/>
3484
+ </xsl:when>
3485
+ <xsl:when test="ancestor::*[local-name() = 'annex']">
3486
+ <xsl:value-of select="$level_total"/>
3487
+ </xsl:when>
3488
+ <xsl:when test="local-name() = 'annex'">1</xsl:when>
3489
+ <xsl:when test="local-name(ancestor::*[1]) = 'annex'">1</xsl:when>
3490
+ <xsl:otherwise>
3491
+ <xsl:value-of select="$level_total - 1"/>
3492
+ </xsl:otherwise>
3493
+ </xsl:choose>
3494
+ </xsl:variable>
3495
+ <xsl:value-of select="$level"/>
3496
+ </xsl:otherwise>
3497
+ </xsl:choose>
3906
3498
  </xsl:template><xsl:template name="split">
3907
3499
  <xsl:param name="pText" select="."/>
3908
3500
  <xsl:param name="sep" select="','"/>
@@ -3948,4 +3540,15 @@
3948
3540
  <xsl:when test="$language = 'cn'">Chinese</xsl:when>
3949
3541
  <xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
3950
3542
  </xsl:choose>
3543
+ </xsl:template><xsl:template name="setId">
3544
+ <xsl:attribute name="id">
3545
+ <xsl:choose>
3546
+ <xsl:when test="@id">
3547
+ <xsl:value-of select="@id"/>
3548
+ </xsl:when>
3549
+ <xsl:otherwise>
3550
+ <xsl:value-of select="generate-id()"/>
3551
+ </xsl:otherwise>
3552
+ </xsl:choose>
3553
+ </xsl:attribute>
3951
3554
  </xsl:template></xsl:stylesheet>