metanorma-bipm 2.1.13 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/bipm/base_convert.rb +0 -28
- data/lib/isodoc/bipm/bipm.brochure.xsl +340 -240
- data/lib/isodoc/bipm/bipm.guide.xsl +340 -240
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +340 -240
- data/lib/isodoc/bipm/bipm.rapport.xsl +340 -240
- data/lib/isodoc/bipm/html/htmlstyle.css +5 -2
- data/lib/isodoc/bipm/index.rb +29 -18
- data/lib/isodoc/bipm/jcgm.standard.xsl +282 -194
- data/lib/isodoc/bipm/presentation_xml_convert.rb +26 -9
- data/lib/metanorma/bipm/basicdoc.rng +3 -0
- data/lib/metanorma/bipm/biblio-standoc.rng +1 -1
- data/lib/metanorma/bipm/isodoc.rng +11 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +2 -2
- metadata +7 -7
@@ -6,6 +6,7 @@
|
|
6
6
|
<xsl:param name="doc_split_by_language"/>
|
7
7
|
|
8
8
|
<xsl:param name="add_math_as_attachment">true</xsl:param>
|
9
|
+
<xsl:param name="final_transform">true</xsl:param>
|
9
10
|
|
10
11
|
<xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
|
11
12
|
|
@@ -82,63 +83,77 @@
|
|
82
83
|
<xsl:when test="$doc_split_by_language = ''"><!-- all documents -->
|
83
84
|
<xsl:for-each select="//bipm:bipm-standard">
|
84
85
|
|
85
|
-
<xsl:variable name="current_document">
|
86
|
+
<!-- <xsl:variable name="current_document">
|
86
87
|
<xsl:copy-of select="."/>
|
87
88
|
</xsl:variable>
|
88
|
-
|
89
|
-
<xsl:for-each select="xalan:nodeset($current_document)">
|
89
|
+
|
90
|
+
<xsl:for-each select="xalan:nodeset($current_document)"> -->
|
90
91
|
|
91
92
|
<xsl:variable name="docid">
|
92
|
-
<xsl:call-template name="
|
93
|
+
<xsl:call-template name="getDocumentId_fromCurrentNode"/>
|
94
|
+
<!-- <xsl:call-template name="getDocumentId"/> -->
|
93
95
|
</xsl:variable>
|
94
96
|
|
95
97
|
<!-- add id to xref and split xref with @to into two xref -->
|
96
98
|
<xsl:variable name="current_document_index_id">
|
97
|
-
<xsl:apply-templates select=".//bipm:indexsect" mode="index_add_id"
|
99
|
+
<xsl:apply-templates select=".//bipm:indexsect" mode="index_add_id">
|
100
|
+
<xsl:with-param name="docid" select="$docid"/>
|
101
|
+
</xsl:apply-templates>
|
98
102
|
</xsl:variable>
|
99
103
|
|
100
|
-
<xsl:variable name="current_document_index">
|
104
|
+
<!-- <xsl:variable name="current_document_index">
|
101
105
|
<xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
|
102
106
|
</xsl:variable>
|
103
|
-
|
107
|
+
|
104
108
|
<xsl:for-each select="xalan:nodeset($current_document_index)">
|
105
109
|
<doc id="{$docid}">
|
106
110
|
<xsl:copy-of select="."/>
|
107
111
|
</doc>
|
108
|
-
</xsl:for-each>
|
112
|
+
</xsl:for-each> -->
|
109
113
|
|
110
|
-
|
114
|
+
<doc id="{$docid}">
|
115
|
+
<xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
|
116
|
+
</doc>
|
117
|
+
|
118
|
+
<!-- </xsl:for-each> -->
|
111
119
|
|
112
120
|
</xsl:for-each>
|
113
121
|
</xsl:when>
|
114
122
|
<xsl:otherwise>
|
115
123
|
<xsl:for-each select="(//bipm:bipm-standard)[*[local-name()='bibdata']/*[local-name()='language'][@current = 'true'] = $doc_split_by_language]">
|
116
124
|
|
117
|
-
<xsl:variable name="current_document">
|
125
|
+
<!-- <xsl:variable name="current_document">
|
118
126
|
<xsl:copy-of select="."/>
|
119
127
|
</xsl:variable>
|
120
|
-
|
121
|
-
<xsl:for-each select="xalan:nodeset($current_document)">
|
128
|
+
|
129
|
+
<xsl:for-each select="xalan:nodeset($current_document)"> -->
|
122
130
|
|
123
131
|
<xsl:variable name="docid">
|
124
|
-
<xsl:call-template name="getDocumentId"/>
|
132
|
+
<!-- <xsl:call-template name="getDocumentId"/> -->
|
133
|
+
<xsl:call-template name="getDocumentId_fromCurrentNode"/>
|
125
134
|
</xsl:variable>
|
126
135
|
|
127
136
|
<xsl:variable name="current_document_index_id">
|
128
|
-
<xsl:apply-templates select=".//bipm:indexsect" mode="index_add_id"
|
137
|
+
<xsl:apply-templates select=".//bipm:indexsect" mode="index_add_id">
|
138
|
+
<xsl:with-param name="docid" select="$docid"/>
|
139
|
+
</xsl:apply-templates>
|
129
140
|
</xsl:variable>
|
130
141
|
|
131
|
-
<xsl:variable name="current_document_index">
|
142
|
+
<!-- <xsl:variable name="current_document_index">
|
132
143
|
<xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
|
133
144
|
</xsl:variable>
|
134
|
-
|
145
|
+
|
135
146
|
<xsl:for-each select="xalan:nodeset($current_document_index)">
|
136
147
|
<doc id="{$docid}">
|
137
148
|
<xsl:copy-of select="."/>
|
138
149
|
</doc>
|
139
|
-
</xsl:for-each>
|
150
|
+
</xsl:for-each> -->
|
140
151
|
|
141
|
-
|
152
|
+
<doc id="{$docid}">
|
153
|
+
<xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
|
154
|
+
</doc>
|
155
|
+
|
156
|
+
<!-- </xsl:for-each> -->
|
142
157
|
|
143
158
|
</xsl:for-each>
|
144
159
|
</xsl:otherwise>
|
@@ -179,7 +194,7 @@
|
|
179
194
|
</xsl:template>
|
180
195
|
|
181
196
|
<xsl:variable name="mathml_attachments">
|
182
|
-
<xsl:if test="$add_math_as_attachment = 'true'">
|
197
|
+
<xsl:if test="$add_math_as_attachment = 'true' and $final_transform = 'true'">
|
183
198
|
<xsl:for-each select="//mathml:math">
|
184
199
|
|
185
200
|
<xsl:variable name="sequence_number"><xsl:number level="any" format="00001"/></xsl:variable>
|
@@ -353,18 +368,23 @@
|
|
353
368
|
<fo:declarations>
|
354
369
|
<xsl:call-template name="addPDFUAmeta"/>
|
355
370
|
|
356
|
-
<xsl:if test="$add_math_as_attachment = 'true'">
|
371
|
+
<xsl:if test="$add_math_as_attachment = 'true' and $final_transform = 'true'">
|
357
372
|
<!-- DEBUG: mathml_attachments=<xsl:copy-of select="$mathml_attachments"/> -->
|
358
373
|
<xsl:for-each select="xalan:nodeset($mathml_attachments)//attachment">
|
359
374
|
|
360
375
|
<xsl:variable name="mathml_filename" select="@filename"/>
|
361
376
|
<xsl:variable name="mathml_content" select="."/>
|
362
377
|
|
363
|
-
<xsl:variable name="basepath" select="java:org.metanorma.fop.Util.saveFileToDisk($mathml_filename,$mathml_content)"/>
|
378
|
+
<!-- <xsl:variable name="basepath" select="java:org.metanorma.fop.Util.saveFileToDisk($mathml_filename,$mathml_content)"/> -->
|
379
|
+
|
380
|
+
<!-- <xsl:variable name="url" select="concat('url(file:',$basepath, ')')"/> -->
|
364
381
|
|
365
|
-
<xsl:variable name="
|
382
|
+
<xsl:variable name="base64" select="java:org.metanorma.fop.Util.encodeBase64($mathml_content)"/>
|
366
383
|
|
367
|
-
<xsl:
|
384
|
+
<xsl:variable name="url" select="concat('data:application/xml;base64,',$base64)"/>
|
385
|
+
|
386
|
+
<!-- <xsl:if test="normalize-space($url) != ''"> -->
|
387
|
+
<xsl:if test="normalize-space($base64) != ''">
|
368
388
|
<pdf:embedded-file src="{$url}" filename="{$mathml_filename}"/>
|
369
389
|
</xsl:if>
|
370
390
|
</xsl:for-each>
|
@@ -405,12 +425,13 @@
|
|
405
425
|
<xsl:variable name="lang" select="*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
406
426
|
<xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
|
407
427
|
|
408
|
-
<xsl:variable name="title_eref">
|
428
|
+
<!-- <xsl:variable name="title_eref">
|
409
429
|
<xsl:apply-templates select="." mode="title_eref"/>
|
410
|
-
</xsl:variable>
|
430
|
+
</xsl:variable> -->
|
411
431
|
|
412
432
|
<xsl:variable name="flatxml_">
|
413
|
-
<xsl:apply-templates select="xalan:nodeset($title_eref)" mode="flatxml"/>
|
433
|
+
<!-- <xsl:apply-templates select="xalan:nodeset($title_eref)" mode="flatxml"/> -->
|
434
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
414
435
|
</xsl:variable>
|
415
436
|
|
416
437
|
<xsl:variable name="flatxml">
|
@@ -430,12 +451,13 @@
|
|
430
451
|
<xsl:variable name="lang" select="*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
431
452
|
<xsl:variable name="num"><xsl:number level="any" count="bipm:bipm-standard"/></xsl:variable>
|
432
453
|
|
433
|
-
<xsl:variable name="title_eref">
|
454
|
+
<!-- <xsl:variable name="title_eref">
|
434
455
|
<xsl:apply-templates select="." mode="title_eref"/>
|
435
|
-
</xsl:variable>
|
456
|
+
</xsl:variable> -->
|
436
457
|
|
437
458
|
<xsl:variable name="flatxml_">
|
438
|
-
<xsl:apply-templates select="xalan:nodeset($title_eref)" mode="flatxml"/>
|
459
|
+
<!-- <xsl:apply-templates select="xalan:nodeset($title_eref)" mode="flatxml"/> -->
|
460
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
439
461
|
</xsl:variable>
|
440
462
|
|
441
463
|
<xsl:variable name="flatxml">
|
@@ -453,12 +475,13 @@
|
|
453
475
|
</xsl:when>
|
454
476
|
<xsl:otherwise>
|
455
477
|
|
456
|
-
<xsl:variable name="title_eref">
|
478
|
+
<!-- <xsl:variable name="title_eref">
|
457
479
|
<xsl:apply-templates mode="title_eref"/>
|
458
|
-
</xsl:variable>
|
480
|
+
</xsl:variable> -->
|
459
481
|
|
460
482
|
<xsl:variable name="flatxml_">
|
461
|
-
<xsl:apply-templates select="xalan:nodeset($title_eref)" mode="flatxml"/>
|
483
|
+
<!-- <xsl:apply-templates select="xalan:nodeset($title_eref)" mode="flatxml"/> -->
|
484
|
+
<xsl:apply-templates select="." mode="flatxml"/>
|
462
485
|
</xsl:variable>
|
463
486
|
|
464
487
|
<xsl:variable name="flatxml">
|
@@ -3249,7 +3272,8 @@
|
|
3249
3272
|
</xsl:call-template>
|
3250
3273
|
<fo:block-container font-family="Arial" font-size="8pt" padding-top="12.5mm">
|
3251
3274
|
<fo:block text-align="right">
|
3252
|
-
<xsl:copy-of select="$header-title"/>
|
3275
|
+
<!-- <xsl:copy-of select="$header-title"/> -->
|
3276
|
+
<xsl:apply-templates select="xalan:nodeset($header-title)" mode="header_title_remove_link_embedded"/>
|
3253
3277
|
<xsl:text> </xsl:text>
|
3254
3278
|
<fo:inline font-size="13pt" baseline-shift="-15%">•</fo:inline>
|
3255
3279
|
<xsl:text> </xsl:text>
|
@@ -3274,7 +3298,8 @@
|
|
3274
3298
|
<xsl:text> </xsl:text>
|
3275
3299
|
<fo:inline font-size="13pt" baseline-shift="-15%">•</fo:inline>
|
3276
3300
|
<xsl:text> </xsl:text>
|
3277
|
-
<xsl:copy-of select="$header-title"/>
|
3301
|
+
<!-- <xsl:copy-of select="$header-title"/> -->
|
3302
|
+
<xsl:apply-templates select="xalan:nodeset($header-title)" mode="header_title_remove_link_embedded"/>
|
3278
3303
|
</fo:block>
|
3279
3304
|
<fo:block-container font-size="1pt" border-top="0.5pt solid black" width="86.6mm">
|
3280
3305
|
<fo:block> </fo:block>
|
@@ -3290,6 +3315,16 @@
|
|
3290
3315
|
</fo:static-content>
|
3291
3316
|
</xsl:template>
|
3292
3317
|
|
3318
|
+
<xsl:template match="@*|node()" mode="header_title_remove_link_embedded">
|
3319
|
+
<xsl:copy>
|
3320
|
+
<xsl:apply-templates select="@*|node()" mode="header_title_remove_link_embedded"/>
|
3321
|
+
</xsl:copy>
|
3322
|
+
</xsl:template>
|
3323
|
+
|
3324
|
+
<xsl:template match="fo:basic-link[contains(@external-destination,'embedded-file')]" mode="header_title_remove_link_embedded">
|
3325
|
+
<xsl:apply-templates mode="header_title_remove_link_embedded"/>
|
3326
|
+
</xsl:template>
|
3327
|
+
|
3293
3328
|
<xsl:template name="insertDraftWatermark">
|
3294
3329
|
<xsl:param name="isDraft"/>
|
3295
3330
|
<xsl:param name="lang"/>
|
@@ -4592,6 +4627,10 @@
|
|
4592
4627
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
4593
4628
|
</xsl:attribute-set>
|
4594
4629
|
|
4630
|
+
<xsl:attribute-set name="figure-block-style">
|
4631
|
+
|
4632
|
+
</xsl:attribute-set>
|
4633
|
+
|
4595
4634
|
<xsl:attribute-set name="figure-style">
|
4596
4635
|
|
4597
4636
|
</xsl:attribute-set>
|
@@ -6045,6 +6084,10 @@
|
|
6045
6084
|
<xsl:with-param name="continued">true</xsl:with-param>
|
6046
6085
|
</xsl:apply-templates>
|
6047
6086
|
|
6087
|
+
<xsl:if test="not(ancestor::*[local-name()='table']/*[local-name()='name'])"> <!-- to prevent empty fo:table-cell in case of missing table's name -->
|
6088
|
+
<fo:block/>
|
6089
|
+
</xsl:if>
|
6090
|
+
|
6048
6091
|
</fo:table-cell>
|
6049
6092
|
</fo:table-row>
|
6050
6093
|
</xsl:template> <!-- table-header-title -->
|
@@ -6490,7 +6533,26 @@
|
|
6490
6533
|
|
6491
6534
|
<xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
|
6492
6535
|
<xsl:variable name="footnote_inline">
|
6493
|
-
<fo:inline
|
6536
|
+
<fo:inline>
|
6537
|
+
|
6538
|
+
<xsl:variable name="fn_styles">
|
6539
|
+
<xsl:choose>
|
6540
|
+
<xsl:when test="ancestor::*[local-name() = 'bibitem']">
|
6541
|
+
<fn_styles xsl:use-attribute-sets="bibitem-note-fn-style"/>
|
6542
|
+
</xsl:when>
|
6543
|
+
<xsl:otherwise>
|
6544
|
+
<fn_styles xsl:use-attribute-sets="fn-num-style"/>
|
6545
|
+
</xsl:otherwise>
|
6546
|
+
</xsl:choose>
|
6547
|
+
</xsl:variable>
|
6548
|
+
|
6549
|
+
<xsl:for-each select="xalan:nodeset($fn_styles)/fn_styles/@*">
|
6550
|
+
<xsl:copy-of select="."/>
|
6551
|
+
</xsl:for-each>
|
6552
|
+
|
6553
|
+
<xsl:if test="following-sibling::*[1][local-name() = 'fn']">
|
6554
|
+
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
6555
|
+
</xsl:if>
|
6494
6556
|
|
6495
6557
|
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
6496
6558
|
<xsl:value-of select="$current_fn_number_text"/>
|
@@ -6550,7 +6612,10 @@
|
|
6550
6612
|
</xsl:for-each>
|
6551
6613
|
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='boilerplate']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
|
6552
6614
|
<xsl:sort select="@displayorder" data-type="number"/>
|
6553
|
-
|
6615
|
+
<!-- commented:
|
6616
|
+
.//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] |
|
6617
|
+
because 'fn' there is in biblio-tag -->
|
6618
|
+
<xsl:for-each select=".//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
|
6554
6619
|
<!-- copy unique fn -->
|
6555
6620
|
<fn gen_id="{generate-id(.)}">
|
6556
6621
|
<xsl:copy-of select="@*"/>
|
@@ -7408,7 +7473,7 @@
|
|
7408
7473
|
|
7409
7474
|
<xsl:variable name="_font-size">
|
7410
7475
|
|
7411
|
-
<!--
|
7476
|
+
<!-- inherit -->
|
7412
7477
|
|
7413
7478
|
</xsl:variable>
|
7414
7479
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -7649,6 +7714,23 @@
|
|
7649
7714
|
<xsl:apply-templates/>
|
7650
7715
|
</xsl:template>
|
7651
7716
|
|
7717
|
+
<!-- Don't break standard's numbers -->
|
7718
|
+
<!-- Example : <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
7719
|
+
<xsl:template match="*[local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" priority="2">
|
7720
|
+
<xsl:choose>
|
7721
|
+
<xsl:when test="ancestor::*[local-name() = 'table']"><xsl:apply-templates/></xsl:when>
|
7722
|
+
<xsl:when test="following-sibling::*[2][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']">
|
7723
|
+
<fo:inline keep-with-next.within-line="always"><xsl:apply-templates/></fo:inline>
|
7724
|
+
</xsl:when>
|
7725
|
+
<xsl:otherwise>
|
7726
|
+
<xsl:apply-templates/>
|
7727
|
+
</xsl:otherwise>
|
7728
|
+
</xsl:choose>
|
7729
|
+
</xsl:template>
|
7730
|
+
<xsl:template match="text()[not(ancestor::*[local-name() = 'table']) and preceding-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear'] and following-sibling::*[1][local-name() = 'span'][@class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']]" priority="2">
|
7731
|
+
<fo:inline keep-with-next.within-line="always"><xsl:value-of select="."/></fo:inline>
|
7732
|
+
</xsl:template>
|
7733
|
+
|
7652
7734
|
<!-- ========================= -->
|
7653
7735
|
<!-- END Rich text formatting -->
|
7654
7736
|
<!-- ========================= -->
|
@@ -8044,7 +8126,7 @@
|
|
8044
8126
|
<xsl:choose>
|
8045
8127
|
<xsl:when test="@colspan">
|
8046
8128
|
<xsl:variable name="td">
|
8047
|
-
<xsl:element name="
|
8129
|
+
<xsl:element name="{local-name()}">
|
8048
8130
|
<xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
|
8049
8131
|
<xsl:if test="local-name()='th'">
|
8050
8132
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -8059,7 +8141,7 @@
|
|
8059
8141
|
</xsl:call-template>
|
8060
8142
|
</xsl:when>
|
8061
8143
|
<xsl:otherwise>
|
8062
|
-
<xsl:element name="
|
8144
|
+
<xsl:element name="{local-name()}">
|
8063
8145
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
8064
8146
|
<xsl:if test="local-name()='th'">
|
8065
8147
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -8126,7 +8208,7 @@
|
|
8126
8208
|
<xsl:variable name="currentRow" select="."/>
|
8127
8209
|
|
8128
8210
|
<xsl:variable name="normalizedTDs">
|
8129
|
-
<xsl:for-each select="xalan:nodeset($previousRow)
|
8211
|
+
<xsl:for-each select="xalan:nodeset($previousRow)//*[self::td or self::th]">
|
8130
8212
|
<xsl:choose>
|
8131
8213
|
<xsl:when test="@rowspan > 1">
|
8132
8214
|
<xsl:copy>
|
@@ -8138,7 +8220,7 @@
|
|
8138
8220
|
</xsl:copy>
|
8139
8221
|
</xsl:when>
|
8140
8222
|
<xsl:otherwise>
|
8141
|
-
<xsl:copy-of select="$currentRow
|
8223
|
+
<xsl:copy-of select="$currentRow/*[self::td or self::th][1 + count(current()/preceding-sibling::*[self::td or self::th][not(@rowspan) or (@rowspan = 1)])]"/>
|
8142
8224
|
</xsl:otherwise>
|
8143
8225
|
</xsl:choose>
|
8144
8226
|
</xsl:for-each>
|
@@ -8359,6 +8441,33 @@
|
|
8359
8441
|
</xsl:choose>
|
8360
8442
|
</xsl:template>
|
8361
8443
|
|
8444
|
+
<xsl:template name="getLang_fromCurrentNode">
|
8445
|
+
<xsl:variable name="language_current" select="normalize-space(.//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
8446
|
+
<xsl:variable name="language">
|
8447
|
+
<xsl:choose>
|
8448
|
+
<xsl:when test="$language_current != ''">
|
8449
|
+
<xsl:value-of select="$language_current"/>
|
8450
|
+
</xsl:when>
|
8451
|
+
<xsl:otherwise>
|
8452
|
+
<xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
8453
|
+
<xsl:choose>
|
8454
|
+
<xsl:when test="$language_current_2 != ''">
|
8455
|
+
<xsl:value-of select="$language_current_2"/>
|
8456
|
+
</xsl:when>
|
8457
|
+
<xsl:otherwise>
|
8458
|
+
<xsl:value-of select=".//*[local-name()='bibdata']//*[local-name()='language']"/>
|
8459
|
+
</xsl:otherwise>
|
8460
|
+
</xsl:choose>
|
8461
|
+
</xsl:otherwise>
|
8462
|
+
</xsl:choose>
|
8463
|
+
</xsl:variable>
|
8464
|
+
|
8465
|
+
<xsl:choose>
|
8466
|
+
<xsl:when test="$language = 'English'">en</xsl:when>
|
8467
|
+
<xsl:otherwise><xsl:value-of select="$language"/></xsl:otherwise>
|
8468
|
+
</xsl:choose>
|
8469
|
+
</xsl:template>
|
8470
|
+
|
8362
8471
|
<xsl:template name="capitalizeWords">
|
8363
8472
|
<xsl:param name="str"/>
|
8364
8473
|
<xsl:variable name="str2" select="translate($str, '-', ' ')"/>
|
@@ -8853,12 +8962,6 @@
|
|
8853
8962
|
|
8854
8963
|
<fo:block-container margin-left="0mm">
|
8855
8964
|
|
8856
|
-
<!-- <xsl:if test="$namespace = 'iho'">
|
8857
|
-
<xsl:if test="ancestor::iho:td">
|
8858
|
-
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
8859
|
-
</xsl:if>
|
8860
|
-
</xsl:if> -->
|
8861
|
-
|
8862
8965
|
<fo:block>
|
8863
8966
|
|
8864
8967
|
<xsl:if test="@parent-type = 'quote'">
|
@@ -9045,7 +9148,7 @@
|
|
9045
9148
|
<xsl:template match="*[local-name() = 'figure']" name="figure">
|
9046
9149
|
<xsl:variable name="isAdded" select="@added"/>
|
9047
9150
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
9048
|
-
<fo:block-container id="{@id}">
|
9151
|
+
<fo:block-container id="{@id}" xsl:use-attribute-sets="figure-block-style">
|
9049
9152
|
|
9050
9153
|
<xsl:if test="*[local-name() = 'name']">
|
9051
9154
|
<xsl:attribute name="space-after">12pt</xsl:attribute>
|
@@ -9385,6 +9488,31 @@
|
|
9385
9488
|
<xsl:apply-templates mode="svg_update"/>
|
9386
9489
|
</xsl:copy>
|
9387
9490
|
</xsl:template>
|
9491
|
+
|
9492
|
+
<!-- regex for 'display: inline-block;' -->
|
9493
|
+
<xsl:variable name="regex_svg_style_notsupported">display(\s|\h)*:(\s|\h)*inline-block(\s|\h)*;</xsl:variable>
|
9494
|
+
<xsl:template match="*[local-name() = 'svg']//*[local-name() = 'style']/text()" mode="svg_update">
|
9495
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), $regex_svg_style_notsupported, '')"/>
|
9496
|
+
</xsl:template>
|
9497
|
+
|
9498
|
+
<!-- replace
|
9499
|
+
stroke="rgba(r, g, b, alpha)" to
|
9500
|
+
stroke="rgb(r,g,b)" stroke-opacity="alpha", and
|
9501
|
+
fill="rgba(r, g, b, alpha)" to
|
9502
|
+
fill="rgb(r,g,b)" fill-opacity="alpha" -->
|
9503
|
+
<xsl:template match="@*[local-name() = 'stroke' or local-name() = 'fill'][starts-with(normalize-space(.), 'rgba')]" mode="svg_update">
|
9504
|
+
<xsl:variable name="components_">
|
9505
|
+
<xsl:call-template name="split">
|
9506
|
+
<xsl:with-param name="pText" select="substring-before(substring-after(., '('), ')')"/>
|
9507
|
+
<xsl:with-param name="sep" select="','"/>
|
9508
|
+
</xsl:call-template>
|
9509
|
+
</xsl:variable>
|
9510
|
+
<xsl:variable name="components" select="xalan:nodeset($components_)"/>
|
9511
|
+
<xsl:variable name="att_name" select="local-name()"/>
|
9512
|
+
<xsl:attribute name="{$att_name}"><xsl:value-of select="concat('rgb(', $components/item[1], ',', $components/item[2], ',', $components/item[3], ')')"/></xsl:attribute>
|
9513
|
+
<xsl:attribute name="{$att_name}-opacity"><xsl:value-of select="$components/item[4]"/></xsl:attribute>
|
9514
|
+
</xsl:template>
|
9515
|
+
|
9388
9516
|
<!-- ============== -->
|
9389
9517
|
<!-- END: svg_update -->
|
9390
9518
|
<!-- ============== -->
|
@@ -10024,7 +10152,13 @@
|
|
10024
10152
|
</xsl:template>
|
10025
10153
|
|
10026
10154
|
<xsl:template match="text()" mode="contents_item">
|
10027
|
-
<xsl:
|
10155
|
+
<xsl:variable name="text">
|
10156
|
+
<!-- to split by '_' and other chars -->
|
10157
|
+
<text><xsl:call-template name="add-zero-spaces-java"/></text>
|
10158
|
+
</xsl:variable>
|
10159
|
+
<xsl:for-each select="xalan:nodeset($text)/text/text()">
|
10160
|
+
<xsl:call-template name="keep_together_standard_number"/>
|
10161
|
+
</xsl:for-each>
|
10028
10162
|
</xsl:template>
|
10029
10163
|
|
10030
10164
|
<!-- Note: to enable the addition of character span markup with semantic styling for DIS Word output -->
|
@@ -10035,34 +10169,52 @@
|
|
10035
10169
|
<!-- =============== -->
|
10036
10170
|
<!-- sourcecode -->
|
10037
10171
|
<!-- =============== -->
|
10038
|
-
<xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
10039
10172
|
|
10040
|
-
|
10041
|
-
|
10042
|
-
|
10173
|
+
<xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'source-highlighter-css']"/>
|
10174
|
+
<xsl:variable name="sourcecode_css_" select="java:org.metanorma.fop.Util.parseCSS($source-highlighter-css_)"/>
|
10175
|
+
<xsl:variable name="sourcecode_css" select="xalan:nodeset($sourcecode_css_)"/>
|
10043
10176
|
|
10044
|
-
|
10177
|
+
<xsl:template match="*[local-name() = 'property']" mode="css">
|
10178
|
+
<xsl:attribute name="{@name}">
|
10179
|
+
<xsl:value-of select="@value"/>
|
10180
|
+
</xsl:attribute>
|
10181
|
+
</xsl:template>
|
10045
10182
|
|
10046
|
-
|
10047
|
-
|
10048
|
-
|
10183
|
+
<xsl:template name="get_sourcecode_attributes">
|
10184
|
+
<xsl:element name="sourcecode_attributes" use-attribute-sets="sourcecode-style">
|
10185
|
+
<xsl:variable name="_font-size">
|
10049
10186
|
|
10050
|
-
|
10187
|
+
<!-- inherit -->
|
10051
10188
|
|
10052
|
-
<xsl:
|
10053
|
-
|
10054
|
-
|
10055
|
-
|
10056
|
-
|
10057
|
-
|
10058
|
-
|
10059
|
-
|
10060
|
-
|
10061
|
-
|
10062
|
-
|
10063
|
-
|
10189
|
+
<!-- <xsl:if test="$namespace = 'ieee'">
|
10190
|
+
<xsl:if test="$current_template = 'standard'">8</xsl:if>
|
10191
|
+
</xsl:if> -->
|
10192
|
+
|
10193
|
+
</xsl:variable>
|
10194
|
+
|
10195
|
+
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
10196
|
+
<xsl:if test="$font-size != ''">
|
10197
|
+
<xsl:attribute name="font-size">
|
10198
|
+
<xsl:choose>
|
10199
|
+
<xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
|
10200
|
+
<xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
|
10201
|
+
<xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
|
10202
|
+
<xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
|
10203
|
+
</xsl:choose>
|
10204
|
+
</xsl:attribute>
|
10205
|
+
</xsl:if>
|
10206
|
+
<xsl:apply-templates select="$sourcecode_css//class[@name = 'sourcecode']" mode="css"/>
|
10207
|
+
</xsl:element>
|
10208
|
+
</xsl:template>
|
10209
|
+
|
10210
|
+
<xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
10211
|
+
|
10212
|
+
<xsl:variable name="sourcecode_attributes">
|
10213
|
+
<xsl:call-template name="get_sourcecode_attributes"/>
|
10064
10214
|
</xsl:variable>
|
10065
10215
|
|
10216
|
+
<!-- <xsl:copy-of select="$sourcecode_css"/> -->
|
10217
|
+
|
10066
10218
|
<xsl:choose>
|
10067
10219
|
<xsl:when test="$isGenerateTableIF = 'true' and (ancestor::*[local-name() = 'td'] or ancestor::*[local-name() = 'th'])">
|
10068
10220
|
<xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*">
|
@@ -10116,9 +10268,10 @@
|
|
10116
10268
|
</xsl:choose>
|
10117
10269
|
</xsl:template>
|
10118
10270
|
|
10119
|
-
<xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
10271
|
+
<xsl:template match="*[local-name()='sourcecode']/text() | *[local-name()='sourcecode']//*[local-name()='span']/text()" priority="2">
|
10120
10272
|
<xsl:choose>
|
10121
|
-
|
10273
|
+
<!-- disabled -->
|
10274
|
+
<xsl:when test="1 = 2 and normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
|
10122
10275
|
<xsl:variable name="syntax" select="java:org.metanorma.fop.Util.syntaxHighlight(., ../@lang)"/>
|
10123
10276
|
<xsl:choose>
|
10124
10277
|
<xsl:when test="normalize-space($syntax) != ''"><!-- if there is highlighted result -->
|
@@ -10133,8 +10286,75 @@
|
|
10133
10286
|
<xsl:call-template name="add_spaces_to_sourcecode"/>
|
10134
10287
|
</xsl:otherwise>
|
10135
10288
|
</xsl:choose>
|
10289
|
+
</xsl:template>
|
10290
|
+
|
10291
|
+
<!-- add sourcecode highlighting -->
|
10292
|
+
<xsl:template match="*[local-name()='sourcecode']//*[local-name()='span'][@class]" priority="2">
|
10293
|
+
<xsl:variable name="class" select="@class"/>
|
10294
|
+
<xsl:choose>
|
10295
|
+
<xsl:when test="$sourcecode_css//class[@name = $class]">
|
10296
|
+
<fo:inline>
|
10297
|
+
<xsl:apply-templates select="$sourcecode_css//class[@name = $class]" mode="css"/>
|
10298
|
+
<xsl:apply-templates/>
|
10299
|
+
</fo:inline>
|
10300
|
+
</xsl:when>
|
10301
|
+
<xsl:otherwise>
|
10302
|
+
<xsl:apply-templates/>
|
10303
|
+
</xsl:otherwise>
|
10304
|
+
</xsl:choose>
|
10305
|
+
</xsl:template>
|
10306
|
+
|
10307
|
+
<!-- outer table with line numbers for sourcecode -->
|
10308
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']" priority="2">
|
10309
|
+
<fo:block>
|
10310
|
+
<fo:table width="100%" table-layout="fixed">
|
10311
|
+
<xsl:copy-of select="@id"/>
|
10312
|
+
<fo:table-column column-width="8%"/>
|
10313
|
+
<fo:table-column column-width="92%"/>
|
10314
|
+
<fo:table-body>
|
10315
|
+
<xsl:apply-templates/>
|
10316
|
+
</fo:table-body>
|
10317
|
+
</fo:table>
|
10318
|
+
</fo:block>
|
10319
|
+
</xsl:template>
|
10320
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody']" priority="2">
|
10321
|
+
<xsl:apply-templates/>
|
10322
|
+
</xsl:template>
|
10323
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']" priority="2">
|
10324
|
+
<fo:table-row>
|
10325
|
+
<xsl:apply-templates/>
|
10326
|
+
</fo:table-row>
|
10327
|
+
</xsl:template>
|
10328
|
+
<!-- first td with line numbers -->
|
10329
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][not(preceding-sibling::*)]" priority="2">
|
10330
|
+
<fo:table-cell>
|
10331
|
+
<fo:block>
|
10136
10332
|
|
10333
|
+
<!-- set attibutes for line numbers - same as sourcecode -->
|
10334
|
+
<xsl:variable name="sourcecode_attributes">
|
10335
|
+
<xsl:for-each select="following-sibling::*[local-name() = 'td']/*[local-name() = 'sourcecode']">
|
10336
|
+
<xsl:call-template name="get_sourcecode_attributes"/>
|
10337
|
+
</xsl:for-each>
|
10338
|
+
</xsl:variable>
|
10339
|
+
<xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*[not(starts-with(local-name(), 'margin-') or starts-with(local-name(), 'space-'))]">
|
10340
|
+
<xsl:attribute name="{local-name()}">
|
10341
|
+
<xsl:value-of select="."/>
|
10342
|
+
</xsl:attribute>
|
10343
|
+
</xsl:for-each>
|
10344
|
+
|
10345
|
+
<xsl:apply-templates/>
|
10346
|
+
</fo:block>
|
10347
|
+
</fo:table-cell>
|
10137
10348
|
</xsl:template>
|
10349
|
+
<!-- second td with sourcecode -->
|
10350
|
+
<xsl:template match="*[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2">
|
10351
|
+
<fo:table-cell>
|
10352
|
+
<fo:block>
|
10353
|
+
<xsl:apply-templates/>
|
10354
|
+
</fo:block>
|
10355
|
+
</fo:table-cell>
|
10356
|
+
</xsl:template>
|
10357
|
+
<!-- END outer table with line numbers for sourcecode -->
|
10138
10358
|
|
10139
10359
|
<xsl:template name="add_spaces_to_sourcecode">
|
10140
10360
|
<xsl:variable name="text_step1">
|
@@ -11813,23 +12033,17 @@
|
|
11813
12033
|
<fo:list-item-label end-indent="label-end()">
|
11814
12034
|
<fo:block>
|
11815
12035
|
<fo:inline>
|
11816
|
-
<xsl:
|
11817
|
-
|
11818
|
-
|
11819
|
-
<xsl:when test="bipm:docidentifier[@type='metanorma']">
|
11820
|
-
<xsl:value-of select="bipm:docidentifier[@type='metanorma']"/>
|
11821
|
-
</xsl:when>
|
11822
|
-
<xsl:otherwise>
|
11823
|
-
<xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
|
11824
|
-
</xsl:otherwise>
|
11825
|
-
</xsl:choose>
|
11826
|
-
</xsl:if>
|
12036
|
+
<xsl:apply-templates select="*[local-name() = 'biblio-tag']">
|
12037
|
+
<xsl:with-param name="biblio_tag_part">first</xsl:with-param>
|
12038
|
+
</xsl:apply-templates>
|
11827
12039
|
</fo:inline>
|
11828
12040
|
</fo:block>
|
11829
12041
|
</fo:list-item-label>
|
11830
12042
|
<fo:list-item-body start-indent="body-start()">
|
11831
12043
|
<fo:block>
|
11832
|
-
<xsl:call-template name="processBibitem"
|
12044
|
+
<xsl:call-template name="processBibitem">
|
12045
|
+
<xsl:with-param name="biblio_tag_part">last</xsl:with-param>
|
12046
|
+
</xsl:call-template>
|
11833
12047
|
</fo:block>
|
11834
12048
|
</fo:list-item-body>
|
11835
12049
|
</fo:list-item>
|
@@ -11839,178 +12053,51 @@
|
|
11839
12053
|
</xsl:template> <!-- references[not(@normative='true')]/bibitem -->
|
11840
12054
|
|
11841
12055
|
<xsl:template name="processBibitem">
|
12056
|
+
<xsl:param name="biblio_tag_part">both</xsl:param>
|
11842
12057
|
|
11843
|
-
<!-- start
|
11844
|
-
<xsl:if test="
|
12058
|
+
<!-- start bibitem processing -->
|
12059
|
+
<xsl:if test=".//*[local-name() = 'fn']">
|
11845
12060
|
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
11846
12061
|
</xsl:if>
|
11847
12062
|
|
11848
|
-
<xsl:
|
11849
|
-
|
11850
|
-
|
11851
|
-
<xsl:choose>
|
11852
|
-
<xsl:when test="$docidentifier_ = $docidentifier_main and @suppress_identifier = 'true'"><!-- suppress indentifier --></xsl:when>
|
11853
|
-
<xsl:otherwise><xsl:value-of select="$docidentifier_"/></xsl:otherwise>
|
11854
|
-
</xsl:choose>
|
11855
|
-
</xsl:variable>
|
11856
|
-
<xsl:value-of select="normalize-space($docidentifier)"/>
|
11857
|
-
|
11858
|
-
<xsl:if test="normalize-space($docidentifier) != '' and *[local-name() = 'formattedref']">, </xsl:if>
|
12063
|
+
<xsl:apply-templates select="*[local-name() = 'biblio-tag']">
|
12064
|
+
<xsl:with-param name="biblio_tag_part" select="$biblio_tag_part"/>
|
12065
|
+
</xsl:apply-templates>
|
11859
12066
|
<xsl:apply-templates select="*[local-name() = 'formattedref']"/>
|
11860
|
-
<!-- end
|
12067
|
+
<!-- end bibitem processing -->
|
11861
12068
|
|
11862
12069
|
</xsl:template> <!-- processBibitem (bibitem) -->
|
11863
12070
|
|
11864
|
-
<xsl:template name="
|
11865
|
-
<xsl:
|
11866
|
-
|
11867
|
-
|
11868
|
-
|
11869
|
-
|
11870
|
-
|
11871
|
-
|
11872
|
-
|
11873
|
-
|
11874
|
-
|
11875
|
-
|
11876
|
-
<xsl:if test="$type != ''">
|
11877
|
-
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
11878
|
-
</xsl:if> -->
|
11879
|
-
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
|
11880
|
-
</xsl:otherwise>
|
11881
|
-
</xsl:choose>
|
11882
|
-
</xsl:template> <!-- processBibitemDocId -->
|
12071
|
+
<xsl:template match="*[local-name() = 'title']" mode="title">
|
12072
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
12073
|
+
</xsl:template>
|
12074
|
+
|
12075
|
+
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/>
|
12076
|
+
|
12077
|
+
<xsl:template match="*[local-name() = 'formattedref']">
|
12078
|
+
<!-- <xsl:if test="$namespace = 'unece' or $namespace = 'unece-rec'">
|
12079
|
+
<xsl:text>, </xsl:text>
|
12080
|
+
</xsl:if> -->
|
12081
|
+
<xsl:apply-templates/>
|
12082
|
+
</xsl:template>
|
11883
12083
|
|
11884
|
-
<xsl:template name="
|
12084
|
+
<xsl:template match="*[local-name() = 'biblio-tag']">
|
12085
|
+
<xsl:param name="biblio_tag_part">both</xsl:param>
|
11885
12086
|
<xsl:choose>
|
11886
|
-
<xsl:when test="
|
11887
|
-
<
|
11888
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
|
11889
|
-
</author>
|
12087
|
+
<xsl:when test="$biblio_tag_part = 'first' and *[local-name() = 'tab']">
|
12088
|
+
<xsl:apply-templates select="./*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
11890
12089
|
</xsl:when>
|
11891
|
-
<xsl:when test="
|
11892
|
-
<
|
11893
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
11894
|
-
<xsl:text> </xsl:text>
|
11895
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
|
11896
|
-
</author>
|
11897
|
-
</xsl:when>
|
11898
|
-
<xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
|
11899
|
-
<author>
|
11900
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
|
11901
|
-
<xsl:text> </xsl:text>
|
11902
|
-
<xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
|
11903
|
-
</author>
|
12090
|
+
<xsl:when test="$biblio_tag_part = 'last'">
|
12091
|
+
<xsl:apply-templates select="./*[local-name() = 'tab'][1]/following-sibling::node()"/>
|
11904
12092
|
</xsl:when>
|
11905
12093
|
<xsl:otherwise>
|
11906
12094
|
<xsl:apply-templates/>
|
11907
12095
|
</xsl:otherwise>
|
11908
12096
|
</xsl:choose>
|
11909
|
-
</xsl:template> <!-- processPersonalAuthor -->
|
11910
|
-
|
11911
|
-
<xsl:template name="renderDate">
|
11912
|
-
<xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
|
11913
|
-
<xsl:value-of select="*[local-name() = 'on']"/>
|
11914
|
-
</xsl:if>
|
11915
|
-
<xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
|
11916
|
-
<xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
|
11917
|
-
</xsl:if>
|
11918
|
-
</xsl:template>
|
11919
|
-
|
11920
|
-
<xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
|
11921
|
-
<xsl:value-of select="translate(.,'. ','')"/>
|
11922
12097
|
</xsl:template>
|
11923
12098
|
|
11924
|
-
<xsl:template match="*[local-name() = '
|
11925
|
-
<xsl:
|
11926
|
-
</xsl:template>
|
11927
|
-
|
11928
|
-
<xsl:template match="*[local-name() = 'title']" mode="title">
|
11929
|
-
<fo:inline><xsl:apply-templates/></fo:inline>
|
11930
|
-
</xsl:template>
|
11931
|
-
|
11932
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
|
11933
|
-
<!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
|
11934
|
-
<fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
|
11935
|
-
<xsl:apply-templates/>
|
11936
|
-
</fo:inline>
|
11937
|
-
</xsl:template>
|
11938
|
-
|
11939
|
-
<!-- bibitem/note renders as footnote -->
|
11940
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
|
11941
|
-
|
11942
|
-
<!-- list of footnotes to calculate actual footnotes number -->
|
11943
|
-
<xsl:variable name="p_fn_">
|
11944
|
-
<xsl:call-template name="get_fn_list"/>
|
11945
|
-
</xsl:variable>
|
11946
|
-
<xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
|
11947
|
-
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
11948
|
-
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
11949
|
-
<!-- fn sequence number in document -->
|
11950
|
-
<xsl:variable name="current_fn_number">
|
11951
|
-
<xsl:choose>
|
11952
|
-
<xsl:when test="@current_fn_number"><xsl:value-of select="@current_fn_number"/></xsl:when> <!-- for BSI -->
|
11953
|
-
<xsl:otherwise>
|
11954
|
-
<!-- <xsl:value-of select="count($p_fn//fn[@reference = $reference]/preceding-sibling::fn) + 1" /> -->
|
11955
|
-
<xsl:value-of select="count($p_fn//fn[@gen_id = $gen_id]/preceding-sibling::fn) + 1"/>
|
11956
|
-
</xsl:otherwise>
|
11957
|
-
</xsl:choose>
|
11958
|
-
</xsl:variable>
|
11959
|
-
<fo:footnote>
|
11960
|
-
<xsl:variable name="number">
|
11961
|
-
|
11962
|
-
<xsl:choose>
|
11963
|
-
<xsl:when test="ancestor::*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]">
|
11964
|
-
<xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
|
11965
|
-
</xsl:when>
|
11966
|
-
<xsl:otherwise>
|
11967
|
-
<xsl:value-of select="$current_fn_number"/>
|
11968
|
-
</xsl:otherwise>
|
11969
|
-
</xsl:choose>
|
11970
|
-
|
11971
|
-
</xsl:variable>
|
11972
|
-
|
11973
|
-
<xsl:variable name="current_fn_number_text">
|
11974
|
-
<xsl:value-of select="$number"/>
|
11975
|
-
|
11976
|
-
</xsl:variable>
|
11977
|
-
|
11978
|
-
<fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
|
11979
|
-
<fo:basic-link internal-destination="{$gen_id}" fox:alt-text="footnote {$number}">
|
11980
|
-
<xsl:value-of select="$current_fn_number_text"/>
|
11981
|
-
</fo:basic-link>
|
11982
|
-
</fo:inline>
|
11983
|
-
<fo:footnote-body>
|
11984
|
-
<fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
|
11985
|
-
<fo:inline id="{$gen_id}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
|
11986
|
-
<xsl:value-of select="$current_fn_number_text"/>
|
11987
|
-
</fo:inline>
|
11988
|
-
<xsl:apply-templates/>
|
11989
|
-
</fo:block>
|
11990
|
-
</fo:footnote-body>
|
11991
|
-
</fo:footnote>
|
11992
|
-
</xsl:template>
|
11993
|
-
|
11994
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
|
11995
|
-
<xsl:text> edition </xsl:text>
|
11996
|
-
<xsl:value-of select="."/>
|
11997
|
-
</xsl:template>
|
11998
|
-
|
11999
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
|
12000
|
-
<xsl:text> (</xsl:text>
|
12001
|
-
<fo:inline xsl:use-attribute-sets="link-style">
|
12002
|
-
<fo:basic-link external-destination="." fox:alt-text=".">
|
12003
|
-
<xsl:value-of select="."/>
|
12004
|
-
</fo:basic-link>
|
12005
|
-
</fo:inline>
|
12006
|
-
<xsl:text>)</xsl:text>
|
12007
|
-
</xsl:template>
|
12008
|
-
|
12009
|
-
<xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/>
|
12010
|
-
|
12011
|
-
<xsl:template match="*[local-name() = 'formattedref']">
|
12012
|
-
|
12013
|
-
<xsl:apply-templates/>
|
12099
|
+
<xsl:template match="*[local-name() = 'biblio-tag']/*[local-name() = 'tab']" priority="2">
|
12100
|
+
<xsl:text> </xsl:text>
|
12014
12101
|
</xsl:template>
|
12015
12102
|
|
12016
12103
|
<!-- ======================= -->
|
@@ -12343,7 +12430,9 @@
|
|
12343
12430
|
<!-- Update xml -->
|
12344
12431
|
<!-- ===================================== -->
|
12345
12432
|
<!-- =========================================================================== -->
|
12346
|
-
<!-- STEP1:
|
12433
|
+
<!-- STEP1: -->
|
12434
|
+
<!-- - Re-order elements in 'preface', 'sections' based on @displayorder -->
|
12435
|
+
<!-- - Ignore 'span' without style -->
|
12347
12436
|
<!-- =========================================================================== -->
|
12348
12437
|
<xsl:template match="@*|node()" mode="update_xml_step1">
|
12349
12438
|
<xsl:copy>
|
@@ -12426,7 +12515,8 @@
|
|
12426
12515
|
</xsl:copy>
|
12427
12516
|
</xsl:template>
|
12428
12517
|
|
12429
|
-
|
12518
|
+
<!-- Example with 'class': <span class="stdpublisher">ISO</span> <span class="stddocNumber">10303</span>-<span class="stddocPartNumber">1</span>:<span class="stdyear">1994</span> -->
|
12519
|
+
<xsl:template match="*[local-name() = 'span'][@style or @class = 'stdpublisher' or @class = 'stddocNumber' or @class = 'stddocPartNumber' or @class = 'stdyear']" mode="update_xml_step1" priority="2">
|
12430
12520
|
<xsl:copy>
|
12431
12521
|
<xsl:copy-of select="@*"/>
|
12432
12522
|
<xsl:apply-templates mode="update_xml_step1"/>
|
@@ -12436,6 +12526,12 @@
|
|
12436
12526
|
<xsl:template match="*[local-name() = 'span']" mode="update_xml_step1">
|
12437
12527
|
<xsl:apply-templates mode="update_xml_step1"/>
|
12438
12528
|
</xsl:template>
|
12529
|
+
<xsl:template match="*[local-name() = 'sourcecode']//*[local-name() = 'span'][@class]" mode="update_xml_step1" priority="2">
|
12530
|
+
<xsl:copy>
|
12531
|
+
<xsl:copy-of select="@*"/>
|
12532
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
12533
|
+
</xsl:copy>
|
12534
|
+
</xsl:template>
|
12439
12535
|
<!-- =========================================================================== -->
|
12440
12536
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
12441
12537
|
<!-- =========================================================================== -->
|
@@ -12916,6 +13012,10 @@
|
|
12916
13012
|
<xsl:call-template name="getLang"/><xsl:value-of select="//*[local-name() = 'p'][1]/@id"/>
|
12917
13013
|
</xsl:template>
|
12918
13014
|
|
13015
|
+
<xsl:template name="getDocumentId_fromCurrentNode">
|
13016
|
+
<xsl:call-template name="getLang_fromCurrentNode"/><xsl:value-of select=".//*[local-name() = 'p'][1]/@id"/>
|
13017
|
+
</xsl:template>
|
13018
|
+
|
12919
13019
|
<xsl:template name="namespaceCheck">
|
12920
13020
|
<xsl:variable name="documentNS" select="namespace-uri(/*)"/>
|
12921
13021
|
<xsl:variable name="XSLNS">
|