metanorma-bipm 2.1.13 → 2.2.1
Sign up to get free protection for your applications and to get access to all the features.
- 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">
|