metanorma-bipm 2.1.0 → 2.1.3
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 +9 -0
- data/lib/isodoc/bipm/bipm.brochure.xsl +1393 -226
- data/lib/isodoc/bipm/bipm.guide.xsl +1393 -226
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +1393 -226
- data/lib/isodoc/bipm/bipm.rapport.xsl +1393 -226
- data/lib/isodoc/bipm/html/htmlstyle.css +6 -0
- data/lib/isodoc/bipm/html/htmlstyle.scss +1 -0
- data/lib/isodoc/bipm/jcgm.standard.xsl +1369 -214
- data/lib/isodoc/bipm/presentation_xml_convert.rb +15 -2
- data/lib/isodoc/bipm/xref.rb +22 -28
- data/lib/metanorma/bipm/biblio.rng +134 -39
- data/lib/metanorma/bipm/bipm.rng +3 -0
- data/lib/metanorma/bipm/converter.rb +41 -108
- data/lib/metanorma/bipm/front.rb +113 -0
- data/lib/metanorma/bipm/isodoc.rng +16 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- metadata +4 -3
@@ -167,7 +167,7 @@
|
|
167
167
|
<xsl:template name="generateContents">
|
168
168
|
<contents>
|
169
169
|
|
170
|
-
<xsl:apply-templates select="/*/bipm:preface/*[position() > 1]" mode="contents"/>
|
170
|
+
<xsl:apply-templates select="/*/bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][position() > 1]" mode="contents"/>
|
171
171
|
|
172
172
|
<xsl:apply-templates select="/*/bipm:sections/*" mode="contents"/>
|
173
173
|
<xsl:apply-templates select="/*/bipm:bibliography/bipm:references[@normative='true']" mode="contents"/>
|
@@ -631,7 +631,7 @@
|
|
631
631
|
</xsl:template>
|
632
632
|
|
633
633
|
|
634
|
-
<xsl:template match="bipm:note" name="change_note_kind" mode="flatxml">
|
634
|
+
<xsl:template match="bipm:note[not(parent::bipm:preface)]" name="change_note_kind" mode="flatxml">
|
635
635
|
<xsl:variable name="element">
|
636
636
|
<xsl:choose>
|
637
637
|
<xsl:when test="ancestor::bipm:quote">note</xsl:when>
|
@@ -949,7 +949,9 @@
|
|
949
949
|
|
950
950
|
<xsl:call-template name="insertFootnoteSeparator"/>
|
951
951
|
|
952
|
-
<xsl:call-template name="insertHeaderDraftWatermark"
|
952
|
+
<xsl:call-template name="insertHeaderDraftWatermark">
|
953
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
954
|
+
</xsl:call-template>
|
953
955
|
|
954
956
|
<fo:flow flow-name="xsl-region-body" font-family="Arial">
|
955
957
|
|
@@ -1020,17 +1022,17 @@
|
|
1020
1022
|
</fo:page-sequence>
|
1021
1023
|
|
1022
1024
|
|
1023
|
-
<xsl:if test="bipm:preface/*">
|
1025
|
+
<xsl:if test="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
1024
1026
|
<fo:page-sequence master-reference="document" force-page-count="no-force">
|
1025
1027
|
<xsl:call-template name="insertFootnoteSeparator"/>
|
1026
1028
|
|
1027
1029
|
<xsl:variable name="header-title">
|
1028
1030
|
<xsl:choose>
|
1029
|
-
<xsl:when test="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab']">
|
1030
|
-
<xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
1031
|
+
<xsl:when test="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][1]/bipm:title[1]/*[local-name() = 'tab']">
|
1032
|
+
<xsl:apply-templates select="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][1]/bipm:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
1031
1033
|
</xsl:when>
|
1032
1034
|
<xsl:otherwise>
|
1033
|
-
<xsl:apply-templates select="bipm:preface/*[1]/bipm:title[1]" mode="header"/>
|
1035
|
+
<xsl:apply-templates select="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][1]/bipm:title[1]" mode="header"/>
|
1034
1036
|
</xsl:otherwise>
|
1035
1037
|
</xsl:choose>
|
1036
1038
|
</xsl:variable>
|
@@ -1040,7 +1042,7 @@
|
|
1040
1042
|
|
1041
1043
|
<fo:flow flow-name="xsl-region-body">
|
1042
1044
|
<fo:block line-height="135%">
|
1043
|
-
<xsl:apply-templates select="bipm:preface/*[1]"/>
|
1045
|
+
<xsl:apply-templates select="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][1]"/>
|
1044
1046
|
</fo:block>
|
1045
1047
|
</fo:flow>
|
1046
1048
|
</fo:page-sequence>
|
@@ -1139,7 +1141,7 @@
|
|
1139
1141
|
</fo:page-sequence>
|
1140
1142
|
|
1141
1143
|
|
1142
|
-
<xsl:apply-templates select="bipm:preface/*[position() > 1]" mode="sections"/> <!-- bipm:clause -->
|
1144
|
+
<xsl:apply-templates select="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][position() > 1]" mode="sections"/> <!-- bipm:clause -->
|
1143
1145
|
|
1144
1146
|
|
1145
1147
|
|
@@ -1164,6 +1166,7 @@
|
|
1164
1166
|
<!-- Index -->
|
1165
1167
|
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:indexsect" mode="index">
|
1166
1168
|
<xsl:with-param name="isDraft" select="normalize-space(//bipm:bipm-standard/bipm:bibdata/bipm:version/bipm:draft or contains(//bipm:bipm-standard/bipm:bibdata/bipm:status/bipm:stage, 'draft') or contains(//bipm:bipm-standard/bipm:bibdata/bipm:status/bipm:stage, 'projet'))"/>
|
1169
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
1167
1170
|
</xsl:apply-templates>
|
1168
1171
|
|
1169
1172
|
<!-- End Document Pages -->
|
@@ -1304,7 +1307,7 @@
|
|
1304
1307
|
</fo:page-sequence>
|
1305
1308
|
|
1306
1309
|
|
1307
|
-
<xsl:apply-templates select="bipm:preface/*" mode="sections"/>
|
1310
|
+
<xsl:apply-templates select="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')]" mode="sections"/>
|
1308
1311
|
|
1309
1312
|
<!-- Document Pages -->
|
1310
1313
|
<xsl:apply-templates select="bipm:sections/*" mode="sections"/>
|
@@ -1324,6 +1327,7 @@
|
|
1324
1327
|
<!-- Index -->
|
1325
1328
|
<xsl:apply-templates select="xalan:nodeset($indexes)/doc[@id = $docid]//bipm:indexsect" mode="index">
|
1326
1329
|
<xsl:with-param name="isDraft" select="normalize-space(//bipm:bipm-standard/bipm:bibdata/bipm:version/bipm:draft or contains(//bipm:bipm-standard/bipm:bibdata/bipm:status/bipm:stage, 'draft') or contains(//bipm:bipm-standard/bipm:bibdata/bipm:status/bipm:stage, 'projet'))"/>
|
1330
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
1327
1331
|
</xsl:apply-templates>
|
1328
1332
|
|
1329
1333
|
</xsl:otherwise>
|
@@ -1640,7 +1644,9 @@
|
|
1640
1644
|
</fo:block>
|
1641
1645
|
</fo:block-container>
|
1642
1646
|
|
1643
|
-
<xsl:call-template name="insertDraftWatermark"
|
1647
|
+
<xsl:call-template name="insertDraftWatermark">
|
1648
|
+
<xsl:with-param name="lang" select="$doc_split_by_language"/>
|
1649
|
+
</xsl:call-template>
|
1644
1650
|
|
1645
1651
|
<!-- BIPM logo -->
|
1646
1652
|
<fo:block-container absolute-position="fixed" left="12.8mm" top="12.2mm">
|
@@ -2280,7 +2286,7 @@
|
|
2280
2286
|
<!-- ====== -->
|
2281
2287
|
|
2282
2288
|
|
2283
|
-
<xsl:template match="bipm:preface/*[1]" priority="3">
|
2289
|
+
<xsl:template match="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][1]" priority="3">
|
2284
2290
|
<fo:table table-layout="fixed" width="173.5mm">
|
2285
2291
|
<xsl:call-template name="setId"/>
|
2286
2292
|
<fo:table-column column-width="137mm"/>
|
@@ -2371,7 +2377,7 @@
|
|
2371
2377
|
</xsl:template>
|
2372
2378
|
|
2373
2379
|
|
2374
|
-
<xsl:template match="bipm:preface/*[1]/*" mode="clause_table">
|
2380
|
+
<xsl:template match="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][1]/*" mode="clause_table">
|
2375
2381
|
<xsl:param name="rows"/>
|
2376
2382
|
|
2377
2383
|
<xsl:variable name="current_row"><xsl:number count="*"/></xsl:variable>
|
@@ -2403,7 +2409,7 @@
|
|
2403
2409
|
<xsl:variable name="end_row" select="$current_row + $number-rows-spanned"/>
|
2404
2410
|
<fo:block>
|
2405
2411
|
|
2406
|
-
<xsl:for-each select="ancestor::bipm:preface/*[1]/*[position() >= $start_row and position() < $end_row]//bipm:note_side">
|
2412
|
+
<xsl:for-each select="ancestor::bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][1]/*[position() >= $start_row and position() < $end_row]//bipm:note_side">
|
2407
2413
|
<xsl:apply-templates select="." mode="note_side"/>
|
2408
2414
|
</xsl:for-each>
|
2409
2415
|
</fo:block>
|
@@ -2663,7 +2669,7 @@
|
|
2663
2669
|
|
2664
2670
|
|
2665
2671
|
<!-- skip, because it process in note_side template -->
|
2666
|
-
<xsl:template match="bipm:preface/*[1]//bipm:note_side" priority="3"/>
|
2672
|
+
<xsl:template match="bipm:preface/*[not(local-name() = 'note' or local-name() = 'admonition')][1]//bipm:note_side" priority="3"/>
|
2667
2673
|
|
2668
2674
|
|
2669
2675
|
<xsl:template match="bipm:sections//bipm:note_side | bipm:annex//bipm:note_side" priority="3">
|
@@ -2727,6 +2733,7 @@
|
|
2727
2733
|
|
2728
2734
|
<xsl:template match="bipm:p" name="paragraph">
|
2729
2735
|
<xsl:param name="inline" select="'false'"/>
|
2736
|
+
<xsl:param name="split_keep-within-line"/>
|
2730
2737
|
|
2731
2738
|
<xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
|
2732
2739
|
<xsl:variable name="element-name">
|
@@ -2773,7 +2780,9 @@
|
|
2773
2780
|
<xsl:attribute name="role">BlockQuote</xsl:attribute>
|
2774
2781
|
</xsl:if>
|
2775
2782
|
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
2776
|
-
<xsl:apply-templates
|
2783
|
+
<xsl:apply-templates>
|
2784
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
2785
|
+
</xsl:apply-templates>
|
2777
2786
|
</xsl:element>
|
2778
2787
|
<xsl:if test="$element-name = 'fo:inline' and not($inline = 'true') and not(local-name(..) = 'admonition')">
|
2779
2788
|
<fo:block margin-bottom="6pt">
|
@@ -3270,9 +3279,11 @@
|
|
3270
3279
|
<xsl:param name="header-title"/>
|
3271
3280
|
<xsl:param name="orientation"/>
|
3272
3281
|
<xsl:param name="isDraft"/>
|
3282
|
+
<xsl:param name="lang"/>
|
3273
3283
|
<fo:static-content flow-name="header-odd" role="artifact">
|
3274
3284
|
<xsl:call-template name="insertDraftWatermark">
|
3275
3285
|
<xsl:with-param name="isDraft" select="$isDraft"/>
|
3286
|
+
<xsl:with-param name="lang" select="$lang"/>
|
3276
3287
|
</xsl:call-template>
|
3277
3288
|
<fo:block-container font-family="Arial" font-size="8pt" padding-top="12.5mm">
|
3278
3289
|
<fo:block text-align="right">
|
@@ -3293,6 +3304,7 @@
|
|
3293
3304
|
<fo:static-content flow-name="header-even" role="artifact">
|
3294
3305
|
<xsl:call-template name="insertDraftWatermark">
|
3295
3306
|
<xsl:with-param name="isDraft" select="$isDraft"/>
|
3307
|
+
<xsl:with-param name="lang" select="$lang"/>
|
3296
3308
|
</xsl:call-template>
|
3297
3309
|
<fo:block-container font-family="Arial" font-size="8pt" padding-top="12.5mm">
|
3298
3310
|
<fo:block>
|
@@ -3310,6 +3322,7 @@
|
|
3310
3322
|
<fo:static-content flow-name="header-blank" role="artifact">
|
3311
3323
|
<xsl:call-template name="insertDraftWatermark">
|
3312
3324
|
<xsl:with-param name="isDraft" select="$isDraft"/>
|
3325
|
+
<xsl:with-param name="lang" select="$lang"/>
|
3313
3326
|
</xsl:call-template>
|
3314
3327
|
<fo:block/>
|
3315
3328
|
</fo:static-content>
|
@@ -3317,12 +3330,23 @@
|
|
3317
3330
|
|
3318
3331
|
<xsl:template name="insertDraftWatermark">
|
3319
3332
|
<xsl:param name="isDraft"/>
|
3333
|
+
<xsl:param name="lang"/>
|
3320
3334
|
<xsl:if test="$isDraft = 'true' or normalize-space(//bipm:bipm-standard/bipm:bibdata/bipm:version/bipm:draft or contains(//bipm:bipm-standard/bipm:bibdata/bipm:status/bipm:stage, 'draft') or contains(//bipm:bipm-standard/bipm:bibdata/bipm:status/bipm:stage, 'projet')) = 'true'">
|
3321
3335
|
<!-- DRAFT -->
|
3322
3336
|
<xsl:variable name="draft_label">
|
3323
|
-
<xsl:
|
3324
|
-
<xsl:
|
3325
|
-
|
3337
|
+
<xsl:choose>
|
3338
|
+
<xsl:when test="normalize-space($lang) != ''">
|
3339
|
+
<xsl:call-template name="getLocalizedString">
|
3340
|
+
<xsl:with-param name="key">draft_label</xsl:with-param>
|
3341
|
+
<xsl:with-param name="lang" select="$lang"/>
|
3342
|
+
</xsl:call-template>
|
3343
|
+
</xsl:when>
|
3344
|
+
<xsl:otherwise>
|
3345
|
+
<xsl:call-template name="getLocalizedString">
|
3346
|
+
<xsl:with-param name="key">draft_label</xsl:with-param>
|
3347
|
+
</xsl:call-template>
|
3348
|
+
</xsl:otherwise>
|
3349
|
+
</xsl:choose>
|
3326
3350
|
</xsl:variable>
|
3327
3351
|
<fo:block-container absolute-position="fixed" left="0mm" top="30mm">
|
3328
3352
|
<fo:block line-height="0">
|
@@ -3352,25 +3376,30 @@
|
|
3352
3376
|
|
3353
3377
|
<xsl:template name="insertHeaderDraftWatermark">
|
3354
3378
|
<xsl:variable name="isDraft" select="normalize-space(//bipm:bipm-standard/bipm:bibdata/bipm:version/bipm:draft or contains(//bipm:bipm-standard/bipm:bibdata/bipm:status/bipm:stage, 'draft') or contains(//bipm:bipm-standard/bipm:bibdata/bipm:status/bipm:stage, 'projet'))"/>
|
3379
|
+
<xsl:variable name="curr_lang" select="$doc_split_by_language"/>
|
3355
3380
|
<xsl:if test="$isDraft = 'true'">
|
3356
3381
|
<fo:static-content flow-name="header-blank" role="artifact">
|
3357
3382
|
<xsl:call-template name="insertDraftWatermark">
|
3358
3383
|
<xsl:with-param name="isDraft" select="$isDraft"/>
|
3384
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
3359
3385
|
</xsl:call-template>
|
3360
3386
|
</fo:static-content>
|
3361
3387
|
<fo:static-content flow-name="header" role="artifact">
|
3362
3388
|
<xsl:call-template name="insertDraftWatermark">
|
3363
3389
|
<xsl:with-param name="isDraft" select="$isDraft"/>
|
3390
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
3364
3391
|
</xsl:call-template>
|
3365
3392
|
</fo:static-content>
|
3366
3393
|
<fo:static-content flow-name="header-odd" role="artifact">
|
3367
3394
|
<xsl:call-template name="insertDraftWatermark">
|
3368
3395
|
<xsl:with-param name="isDraft" select="$isDraft"/>
|
3396
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
3369
3397
|
</xsl:call-template>
|
3370
3398
|
</fo:static-content>
|
3371
3399
|
<fo:static-content flow-name="header-even" role="artifact">
|
3372
3400
|
<xsl:call-template name="insertDraftWatermark">
|
3373
3401
|
<xsl:with-param name="isDraft" select="$isDraft"/>
|
3402
|
+
<xsl:with-param name="lang" select="$curr_lang"/>
|
3374
3403
|
</xsl:call-template>
|
3375
3404
|
</fo:static-content>
|
3376
3405
|
</xsl:if>
|
@@ -3423,6 +3452,7 @@
|
|
3423
3452
|
<xsl:template match="bipm:indexsect"/>
|
3424
3453
|
<xsl:template match="bipm:indexsect" mode="index">
|
3425
3454
|
<xsl:param name="isDraft"/>
|
3455
|
+
<xsl:param name="lang"/>
|
3426
3456
|
|
3427
3457
|
<fo:page-sequence master-reference="index" force-page-count="no-force">
|
3428
3458
|
<xsl:variable name="header-title">
|
@@ -3438,6 +3468,7 @@
|
|
3438
3468
|
<xsl:call-template name="insertHeaderFooter">
|
3439
3469
|
<xsl:with-param name="header-title" select="$header-title"/>
|
3440
3470
|
<xsl:with-param name="isDraft" select="$isDraft"/>
|
3471
|
+
<xsl:with-param name="lang" select="$lang"/>
|
3441
3472
|
</xsl:call-template>
|
3442
3473
|
|
3443
3474
|
<fo:flow flow-name="xsl-region-body">
|
@@ -3810,12 +3841,41 @@
|
|
3810
3841
|
</xsl:template>
|
3811
3842
|
|
3812
3843
|
|
3813
|
-
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:variable name="
|
3844
|
+
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:variable name="table_widths_from_if_calculated_">
|
3845
|
+
<xsl:for-each select="$table_widths_from_if//table">
|
3846
|
+
<xsl:copy>
|
3847
|
+
<xsl:copy-of select="@*"/>
|
3848
|
+
<xsl:call-template name="calculate-column-widths-autolayout-algorithm"/>
|
3849
|
+
</xsl:copy>
|
3850
|
+
</xsl:for-each>
|
3851
|
+
</xsl:variable><xsl:variable name="table_widths_from_if_calculated" select="xalan:nodeset($table_widths_from_if_calculated_)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
|
3852
|
+
false
|
3853
|
+
</xsl:variable><xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/><xsl:variable name="lang">
|
3814
3854
|
<xsl:call-template name="getLang"/>
|
3815
|
-
</xsl:variable><xsl:variable name="
|
3816
|
-
|
3855
|
+
</xsl:variable><xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/><xsl:variable name="papersize_width_">
|
3856
|
+
<xsl:choose>
|
3857
|
+
<xsl:when test="$papersize = 'letter'">215.9</xsl:when>
|
3858
|
+
<xsl:when test="$papersize = 'a4'">210</xsl:when>
|
3859
|
+
</xsl:choose>
|
3860
|
+
</xsl:variable><xsl:variable name="papersize_width" select="normalize-space($papersize_width_)"/><xsl:variable name="papersize_height_">
|
3861
|
+
<xsl:choose>
|
3862
|
+
<xsl:when test="$papersize = 'letter'">279.4</xsl:when>
|
3863
|
+
<xsl:when test="$papersize = 'a4'">297</xsl:when>
|
3864
|
+
</xsl:choose>
|
3865
|
+
</xsl:variable><xsl:variable name="papersize_height" select="normalize-space($papersize_height_)"/><xsl:variable name="pageWidth_">
|
3866
|
+
<xsl:choose>
|
3867
|
+
<xsl:when test="$papersize_width != ''"><xsl:value-of select="$papersize_width"/></xsl:when>
|
3868
|
+
<xsl:otherwise>
|
3869
|
+
210
|
3870
|
+
</xsl:otherwise>
|
3871
|
+
</xsl:choose>
|
3817
3872
|
</xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
|
3818
|
-
|
3873
|
+
<xsl:choose>
|
3874
|
+
<xsl:when test="$papersize_height != ''"><xsl:value-of select="$papersize_height"/></xsl:when>
|
3875
|
+
<xsl:otherwise>
|
3876
|
+
297
|
3877
|
+
</xsl:otherwise>
|
3878
|
+
</xsl:choose>
|
3819
3879
|
</xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
|
3820
3880
|
31.7
|
3821
3881
|
</xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
|
@@ -3931,9 +3991,10 @@
|
|
3931
3991
|
<xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
|
3932
3992
|
</xsl:otherwise>
|
3933
3993
|
</xsl:choose>
|
3934
|
-
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:attribute-set name="root-style">
|
3994
|
+
</xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="font_noto_sans">Noto Sans, Noto Sans HK, Noto Sans JP, Noto Sans KR, Noto Sans SC, Noto Sans TC</xsl:variable><xsl:variable name="font_noto_sans_mono">Noto Sans Mono, Noto Sans Mono CJK HK, Noto Sans Mono CJK JP, Noto Sans Mono CJK KR, Noto Sans Mono CJK SC, Noto Sans Mono CJK TC</xsl:variable><xsl:variable name="font_noto_serif">Noto Serif, Noto Serif HK, Noto Serif JP, Noto Serif KR, Noto Serif SC, Noto Serif TC</xsl:variable><xsl:attribute-set name="root-style">
|
3935
3995
|
|
3936
|
-
<xsl:attribute name="font-family">Times New Roman, STIX Two Math,
|
3996
|
+
<xsl:attribute name="font-family">Times New Roman, STIX Two Math, <xsl:value-of select="$font_noto_serif"/></xsl:attribute>
|
3997
|
+
<xsl:attribute name="font-family-generic">Serif</xsl:attribute>
|
3937
3998
|
<xsl:attribute name="font-size">10.5pt</xsl:attribute>
|
3938
3999
|
|
3939
4000
|
|
@@ -3951,6 +4012,7 @@
|
|
3951
4012
|
|
3952
4013
|
|
3953
4014
|
|
4015
|
+
|
3954
4016
|
</xsl:attribute-set><xsl:template name="insertRootStyle">
|
3955
4017
|
<xsl:param name="root-style"/>
|
3956
4018
|
<xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
|
@@ -3962,17 +4024,60 @@
|
|
3962
4024
|
</xsl:variable>
|
3963
4025
|
<xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
|
3964
4026
|
|
4027
|
+
<xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
|
4028
|
+
|
3965
4029
|
<xsl:for-each select="$root-style_/root-style/@*">
|
4030
|
+
|
3966
4031
|
<xsl:choose>
|
3967
|
-
<xsl:when test="local-name() = 'font-family'
|
4032
|
+
<xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
|
4033
|
+
<xsl:when test="local-name() = 'font-family'">
|
4034
|
+
|
4035
|
+
<xsl:variable name="font_regional_prefix">
|
4036
|
+
<xsl:choose>
|
4037
|
+
<xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
|
4038
|
+
<xsl:otherwise>Noto Serif</xsl:otherwise>
|
4039
|
+
</xsl:choose>
|
4040
|
+
</xsl:variable>
|
4041
|
+
|
3968
4042
|
<xsl:attribute name="{local-name()}">
|
3969
|
-
|
4043
|
+
|
4044
|
+
<xsl:variable name="font_extended">
|
4045
|
+
<xsl:choose>
|
4046
|
+
<xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
|
4047
|
+
<xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
|
4048
|
+
<xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
|
4049
|
+
<xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
|
4050
|
+
<xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
|
4051
|
+
<xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
|
4052
|
+
</xsl:choose>
|
4053
|
+
</xsl:variable>
|
4054
|
+
<xsl:if test="normalize-space($font_extended) != ''">
|
4055
|
+
<xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
|
4056
|
+
<xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
|
4057
|
+
</xsl:if>
|
4058
|
+
|
4059
|
+
<xsl:value-of select="."/>
|
4060
|
+
|
4061
|
+
<xsl:if test="$additional_fonts != ''">
|
4062
|
+
<xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
|
4063
|
+
</xsl:if>
|
3970
4064
|
</xsl:attribute>
|
3971
4065
|
</xsl:when>
|
3972
4066
|
<xsl:otherwise>
|
3973
4067
|
<xsl:copy-of select="."/>
|
3974
4068
|
</xsl:otherwise>
|
3975
4069
|
</xsl:choose>
|
4070
|
+
|
4071
|
+
<!-- <xsl:choose>
|
4072
|
+
<xsl:when test="local-name() = 'font-family'">
|
4073
|
+
<xsl:attribute name="{local-name()}">
|
4074
|
+
<xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
|
4075
|
+
</xsl:attribute>
|
4076
|
+
</xsl:when>
|
4077
|
+
<xsl:otherwise>
|
4078
|
+
<xsl:copy-of select="."/>
|
4079
|
+
</xsl:otherwise>
|
4080
|
+
</xsl:choose> -->
|
3976
4081
|
</xsl:for-each>
|
3977
4082
|
</xsl:template><xsl:attribute-set name="copyright-statement-style">
|
3978
4083
|
|
@@ -4058,6 +4163,7 @@
|
|
4058
4163
|
|
4059
4164
|
|
4060
4165
|
|
4166
|
+
|
4061
4167
|
|
4062
4168
|
|
4063
4169
|
|
@@ -4098,6 +4204,7 @@
|
|
4098
4204
|
|
4099
4205
|
|
4100
4206
|
|
4207
|
+
|
4101
4208
|
|
4102
4209
|
</xsl:attribute-set><xsl:attribute-set name="example-style">
|
4103
4210
|
|
@@ -4112,6 +4219,7 @@
|
|
4112
4219
|
|
4113
4220
|
|
4114
4221
|
|
4222
|
+
|
4115
4223
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
4116
4224
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
4117
4225
|
|
@@ -4135,6 +4243,7 @@
|
|
4135
4243
|
|
4136
4244
|
|
4137
4245
|
|
4246
|
+
|
4138
4247
|
|
4139
4248
|
|
4140
4249
|
|
@@ -4167,6 +4276,7 @@
|
|
4167
4276
|
|
4168
4277
|
</xsl:attribute-set><xsl:variable name="table-border_">
|
4169
4278
|
|
4279
|
+
|
4170
4280
|
</xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
|
4171
4281
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
4172
4282
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
@@ -4191,6 +4301,7 @@
|
|
4191
4301
|
|
4192
4302
|
|
4193
4303
|
|
4304
|
+
|
4194
4305
|
|
4195
4306
|
|
4196
4307
|
|
@@ -4219,6 +4330,7 @@
|
|
4219
4330
|
|
4220
4331
|
|
4221
4332
|
|
4333
|
+
|
4222
4334
|
|
4223
4335
|
|
4224
4336
|
</xsl:attribute-set><xsl:attribute-set name="table-name-style">
|
@@ -4227,6 +4339,7 @@
|
|
4227
4339
|
|
4228
4340
|
|
4229
4341
|
|
4342
|
+
|
4230
4343
|
|
4231
4344
|
|
4232
4345
|
|
@@ -4271,6 +4384,7 @@
|
|
4271
4384
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
4272
4385
|
<xsl:attribute name="border">solid black 1pt</xsl:attribute>
|
4273
4386
|
<xsl:attribute name="padding-left">1mm</xsl:attribute>
|
4387
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
4274
4388
|
<xsl:attribute name="display-align">center</xsl:attribute>
|
4275
4389
|
|
4276
4390
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
@@ -4295,6 +4409,7 @@
|
|
4295
4409
|
<xsl:attribute name="display-align">center</xsl:attribute>
|
4296
4410
|
<xsl:attribute name="border">solid black 1pt</xsl:attribute>
|
4297
4411
|
<xsl:attribute name="padding-left">1mm</xsl:attribute>
|
4412
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
4298
4413
|
|
4299
4414
|
|
4300
4415
|
<xsl:attribute name="border">solid 0pt white</xsl:attribute>
|
@@ -4310,6 +4425,7 @@
|
|
4310
4425
|
|
4311
4426
|
|
4312
4427
|
|
4428
|
+
|
4313
4429
|
</xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
|
4314
4430
|
<xsl:attribute name="border">solid black 1pt</xsl:attribute>
|
4315
4431
|
<xsl:attribute name="padding-left">1mm</xsl:attribute>
|
@@ -4324,7 +4440,7 @@
|
|
4324
4440
|
|
4325
4441
|
|
4326
4442
|
|
4327
|
-
|
4443
|
+
|
4328
4444
|
|
4329
4445
|
|
4330
4446
|
|
@@ -4342,6 +4458,7 @@
|
|
4342
4458
|
|
4343
4459
|
|
4344
4460
|
|
4461
|
+
|
4345
4462
|
</xsl:attribute-set><xsl:attribute-set name="table-fn-style">
|
4346
4463
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
4347
4464
|
|
@@ -4355,6 +4472,8 @@
|
|
4355
4472
|
|
4356
4473
|
|
4357
4474
|
|
4475
|
+
|
4476
|
+
|
4358
4477
|
</xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
|
4359
4478
|
<xsl:attribute name="font-size">80%</xsl:attribute>
|
4360
4479
|
<xsl:attribute name="padding-right">5mm</xsl:attribute>
|
@@ -4373,6 +4492,7 @@
|
|
4373
4492
|
|
4374
4493
|
|
4375
4494
|
|
4495
|
+
|
4376
4496
|
</xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
|
4377
4497
|
<xsl:attribute name="text-indent">0</xsl:attribute>
|
4378
4498
|
<xsl:attribute name="start-indent">0</xsl:attribute>
|
@@ -4392,7 +4512,8 @@
|
|
4392
4512
|
</xsl:attribute-set><xsl:attribute-set name="dt-row-style">
|
4393
4513
|
|
4394
4514
|
|
4395
|
-
</xsl:attribute-set><xsl:attribute-set name="dt-style">
|
4515
|
+
</xsl:attribute-set><xsl:attribute-set name="dt-cell-style">
|
4516
|
+
</xsl:attribute-set><xsl:attribute-set name="dt-block-style">
|
4396
4517
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
4397
4518
|
|
4398
4519
|
|
@@ -4407,6 +4528,29 @@
|
|
4407
4528
|
|
4408
4529
|
|
4409
4530
|
|
4531
|
+
|
4532
|
+
</xsl:attribute-set><xsl:attribute-set name="dl-name-style">
|
4533
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
4534
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
4535
|
+
|
4536
|
+
|
4537
|
+
|
4538
|
+
|
4539
|
+
|
4540
|
+
|
4541
|
+
|
4542
|
+
|
4543
|
+
|
4544
|
+
|
4545
|
+
|
4546
|
+
|
4547
|
+
|
4548
|
+
|
4549
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
4550
|
+
|
4551
|
+
|
4552
|
+
</xsl:attribute-set><xsl:attribute-set name="dd-cell-style">
|
4553
|
+
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
4410
4554
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
4411
4555
|
|
4412
4556
|
|
@@ -4434,6 +4578,7 @@
|
|
4434
4578
|
|
4435
4579
|
|
4436
4580
|
|
4581
|
+
|
4437
4582
|
|
4438
4583
|
|
4439
4584
|
|
@@ -4500,6 +4645,8 @@
|
|
4500
4645
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
4501
4646
|
|
4502
4647
|
|
4648
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
|
4649
|
+
|
4503
4650
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
4504
4651
|
<xsl:attribute name="margin-left">12mm</xsl:attribute>
|
4505
4652
|
<xsl:attribute name="margin-right">12mm</xsl:attribute>
|
@@ -4544,6 +4691,7 @@
|
|
4544
4691
|
<xsl:attribute name="text-align">left</xsl:attribute>
|
4545
4692
|
<xsl:attribute name="margin-left">19mm</xsl:attribute>
|
4546
4693
|
<xsl:attribute name="text-indent">-19mm</xsl:attribute>
|
4694
|
+
|
4547
4695
|
|
4548
4696
|
|
4549
4697
|
|
@@ -4588,6 +4736,7 @@
|
|
4588
4736
|
|
4589
4737
|
|
4590
4738
|
|
4739
|
+
|
4591
4740
|
</xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
|
4592
4741
|
<xsl:attribute name="text-align">right</xsl:attribute>
|
4593
4742
|
|
@@ -4606,16 +4755,16 @@
|
|
4606
4755
|
</xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
|
4607
4756
|
|
4608
4757
|
</xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
|
4758
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
4759
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
4760
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
4609
4761
|
|
4610
4762
|
|
4611
|
-
<xsl:attribute name="width">100%</xsl:attribute>
|
4612
4763
|
<xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
|
4613
|
-
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
4614
4764
|
|
4615
4765
|
|
4616
4766
|
|
4617
|
-
|
4618
|
-
|
4767
|
+
|
4619
4768
|
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
4620
4769
|
|
4621
4770
|
|
@@ -4694,6 +4843,25 @@
|
|
4694
4843
|
|
4695
4844
|
|
4696
4845
|
|
4846
|
+
|
4847
|
+
</xsl:attribute-set><xsl:attribute-set name="list-name-style">
|
4848
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
4849
|
+
|
4850
|
+
|
4851
|
+
|
4852
|
+
|
4853
|
+
|
4854
|
+
|
4855
|
+
|
4856
|
+
|
4857
|
+
|
4858
|
+
|
4859
|
+
|
4860
|
+
|
4861
|
+
|
4862
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
4863
|
+
|
4864
|
+
|
4697
4865
|
</xsl:attribute-set><xsl:attribute-set name="list-item-style">
|
4698
4866
|
|
4699
4867
|
|
@@ -4745,6 +4913,7 @@
|
|
4745
4913
|
|
4746
4914
|
|
4747
4915
|
|
4916
|
+
|
4748
4917
|
</xsl:attribute-set><xsl:attribute-set name="fn-body-style">
|
4749
4918
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
4750
4919
|
<xsl:attribute name="font-style">normal</xsl:attribute>
|
@@ -4773,6 +4942,7 @@
|
|
4773
4942
|
|
4774
4943
|
|
4775
4944
|
|
4945
|
+
|
4776
4946
|
</xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
|
4777
4947
|
<xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
|
4778
4948
|
|
@@ -4796,6 +4966,7 @@
|
|
4796
4966
|
|
4797
4967
|
|
4798
4968
|
|
4969
|
+
|
4799
4970
|
</xsl:attribute-set><xsl:attribute-set name="admonition-style">
|
4800
4971
|
|
4801
4972
|
|
@@ -4816,11 +4987,12 @@
|
|
4816
4987
|
|
4817
4988
|
|
4818
4989
|
|
4990
|
+
|
4819
4991
|
</xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
|
4992
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
4993
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
4820
4994
|
|
4821
4995
|
|
4822
|
-
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
4823
|
-
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
4824
4996
|
<xsl:attribute name="padding">2mm</xsl:attribute>
|
4825
4997
|
<xsl:attribute name="padding-top">3mm</xsl:attribute>
|
4826
4998
|
|
@@ -4832,6 +5004,7 @@
|
|
4832
5004
|
|
4833
5005
|
|
4834
5006
|
|
5007
|
+
|
4835
5008
|
</xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
|
4836
5009
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
4837
5010
|
|
@@ -4867,6 +5040,7 @@
|
|
4867
5040
|
|
4868
5041
|
|
4869
5042
|
|
5043
|
+
|
4870
5044
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
|
4871
5045
|
|
4872
5046
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
@@ -4907,6 +5081,7 @@
|
|
4907
5081
|
|
4908
5082
|
|
4909
5083
|
|
5084
|
+
|
4910
5085
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
|
4911
5086
|
|
4912
5087
|
|
@@ -4928,6 +5103,7 @@
|
|
4928
5103
|
|
4929
5104
|
|
4930
5105
|
|
5106
|
+
|
4931
5107
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
|
4932
5108
|
|
4933
5109
|
|
@@ -4956,6 +5132,7 @@
|
|
4956
5132
|
|
4957
5133
|
|
4958
5134
|
|
5135
|
+
|
4959
5136
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
|
4960
5137
|
<xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
|
4961
5138
|
|
@@ -4977,6 +5154,7 @@
|
|
4977
5154
|
|
4978
5155
|
|
4979
5156
|
|
5157
|
+
|
4980
5158
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
|
4981
5159
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
4982
5160
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
@@ -4992,6 +5170,7 @@
|
|
4992
5170
|
|
4993
5171
|
|
4994
5172
|
|
5173
|
+
|
4995
5174
|
</xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
|
4996
5175
|
|
4997
5176
|
<xsl:attribute name="line-height">120%</xsl:attribute>
|
@@ -5114,13 +5293,13 @@
|
|
5114
5293
|
|
5115
5294
|
</xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
|
5116
5295
|
<xsl:variable name="nodes_preface_">
|
5117
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
5296
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
5118
5297
|
<node id="{@id}"/>
|
5119
5298
|
</xsl:for-each>
|
5120
5299
|
</xsl:variable>
|
5121
5300
|
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
5122
5301
|
|
5123
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
5302
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
5124
5303
|
<xsl:sort select="@displayorder" data-type="number"/>
|
5125
5304
|
|
5126
5305
|
<!-- process Section's title -->
|
@@ -5186,7 +5365,7 @@
|
|
5186
5365
|
</xsl:for-each>
|
5187
5366
|
</figures>
|
5188
5367
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
5189
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
5368
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
5190
5369
|
<xsl:sort select="@displayorder" data-type="number"/>
|
5191
5370
|
<xsl:apply-templates select="."/>
|
5192
5371
|
</xsl:for-each>
|
@@ -5240,7 +5419,38 @@
|
|
5240
5419
|
</xsl:template><xsl:template match="*[local-name()='br']">
|
5241
5420
|
<xsl:value-of select="$linebreak"/>
|
5242
5421
|
</xsl:template><xsl:template match="*[local-name() = 'keep-together_within-line']">
|
5243
|
-
<
|
5422
|
+
<xsl:param name="split_keep-within-line"/>
|
5423
|
+
|
5424
|
+
<!-- <fo:inline>split_keep-within-line='<xsl:value-of select="$split_keep-within-line"/>'</fo:inline> -->
|
5425
|
+
<xsl:choose>
|
5426
|
+
|
5427
|
+
<xsl:when test="normalize-space($split_keep-within-line) = 'true'">
|
5428
|
+
<xsl:variable name="sep">_</xsl:variable>
|
5429
|
+
<xsl:variable name="items">
|
5430
|
+
<xsl:call-template name="split">
|
5431
|
+
<xsl:with-param name="pText" select="."/>
|
5432
|
+
<xsl:with-param name="sep" select="$sep"/>
|
5433
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
5434
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
5435
|
+
</xsl:call-template>
|
5436
|
+
</xsl:variable>
|
5437
|
+
<xsl:for-each select="xalan:nodeset($items)/item">
|
5438
|
+
<xsl:choose>
|
5439
|
+
<xsl:when test=". = $sep">
|
5440
|
+
<xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
|
5441
|
+
</xsl:when>
|
5442
|
+
<xsl:otherwise>
|
5443
|
+
<fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
|
5444
|
+
</xsl:otherwise>
|
5445
|
+
</xsl:choose>
|
5446
|
+
</xsl:for-each>
|
5447
|
+
</xsl:when>
|
5448
|
+
|
5449
|
+
<xsl:otherwise>
|
5450
|
+
<fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
|
5451
|
+
</xsl:otherwise>
|
5452
|
+
|
5453
|
+
</xsl:choose>
|
5244
5454
|
</xsl:template><xsl:template match="*[local-name()='copyright-statement']">
|
5245
5455
|
<fo:block xsl:use-attribute-sets="copyright-statement-style">
|
5246
5456
|
<xsl:apply-templates/>
|
@@ -5342,9 +5552,14 @@
|
|
5342
5552
|
|
5343
5553
|
<xsl:variable name="table">
|
5344
5554
|
|
5345
|
-
<xsl:variable name="simple-table">
|
5346
|
-
<xsl:call-template name="getSimpleTable"
|
5555
|
+
<xsl:variable name="simple-table">
|
5556
|
+
<xsl:call-template name="getSimpleTable">
|
5557
|
+
<xsl:with-param name="id" select="@id"/>
|
5558
|
+
</xsl:call-template>
|
5347
5559
|
</xsl:variable>
|
5560
|
+
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
5561
|
+
|
5562
|
+
<!-- simple-table=<xsl:copy-of select="$simple-table"/> -->
|
5348
5563
|
|
5349
5564
|
|
5350
5565
|
<!-- Display table's name before table as standalone block -->
|
@@ -5367,7 +5582,23 @@
|
|
5367
5582
|
</xsl:call-template>
|
5368
5583
|
</xsl:if>
|
5369
5584
|
</xsl:variable>
|
5370
|
-
<!--
|
5585
|
+
<!-- <xsl:variable name="colwidths" select="xalan:nodeset($colwidths_)"/> -->
|
5586
|
+
|
5587
|
+
<!-- DEBUG -->
|
5588
|
+
<xsl:if test="$table_if_debug = 'true'">
|
5589
|
+
<fo:block font-size="60%">
|
5590
|
+
<xsl:apply-templates select="xalan:nodeset($colwidths)" mode="print_as_xml"/>
|
5591
|
+
</fo:block>
|
5592
|
+
</xsl:if>
|
5593
|
+
|
5594
|
+
|
5595
|
+
<!-- <xsl:copy-of select="$colwidths"/> -->
|
5596
|
+
|
5597
|
+
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
5598
|
+
DEBUG
|
5599
|
+
colwidths=<xsl:copy-of select="$colwidths"/>
|
5600
|
+
<xsl:text disable-output-escaping="yes">- -></xsl:text> -->
|
5601
|
+
|
5371
5602
|
|
5372
5603
|
|
5373
5604
|
<xsl:variable name="margin-side">
|
@@ -5397,6 +5628,8 @@
|
|
5397
5628
|
|
5398
5629
|
|
5399
5630
|
|
5631
|
+
|
5632
|
+
|
5400
5633
|
|
5401
5634
|
|
5402
5635
|
|
@@ -5443,12 +5676,22 @@
|
|
5443
5676
|
|
5444
5677
|
|
5445
5678
|
|
5679
|
+
|
5680
|
+
|
5446
5681
|
</xsl:element>
|
5447
5682
|
</xsl:variable>
|
5448
5683
|
|
5684
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
5685
|
+
<!-- to determine start of table -->
|
5686
|
+
<fo:block id="{concat('table_if_start_',@id)}" keep-with-next="always" font-size="1pt">Start table '<xsl:value-of select="@id"/>'.</fo:block>
|
5687
|
+
</xsl:if>
|
5449
5688
|
|
5450
5689
|
<fo:table id="{@id}">
|
5451
5690
|
|
5691
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
5692
|
+
<xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
|
5693
|
+
</xsl:if>
|
5694
|
+
|
5452
5695
|
<xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
|
5453
5696
|
<xsl:attribute name="{local-name()}">
|
5454
5697
|
<xsl:value-of select="."/>
|
@@ -5462,24 +5705,47 @@
|
|
5462
5705
|
|
5463
5706
|
|
5464
5707
|
<xsl:choose>
|
5465
|
-
<xsl:when test="
|
5466
|
-
|
5467
|
-
|
5468
|
-
|
5708
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
5709
|
+
<!-- generate IF for table widths -->
|
5710
|
+
<!-- example:
|
5711
|
+
<tr>
|
5712
|
+
<td valign="top" align="left" id="tab-symdu_1_1">
|
5713
|
+
<p>Symbol</p>
|
5714
|
+
<word id="tab-symdu_1_1_word_1">Symbol</word>
|
5715
|
+
</td>
|
5716
|
+
<td valign="top" align="left" id="tab-symdu_1_2">
|
5717
|
+
<p>Description</p>
|
5718
|
+
<word id="tab-symdu_1_2_word_1">Description</word>
|
5719
|
+
</td>
|
5720
|
+
</tr>
|
5721
|
+
-->
|
5722
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if"/>
|
5723
|
+
|
5469
5724
|
</xsl:when>
|
5470
5725
|
<xsl:otherwise>
|
5471
|
-
<xsl:call-template name="insertTableColumnWidth">
|
5472
|
-
<xsl:with-param name="colwidths" select="$colwidths"/>
|
5473
|
-
</xsl:call-template>
|
5474
|
-
</xsl:otherwise>
|
5475
|
-
</xsl:choose>
|
5476
5726
|
|
5477
|
-
|
5478
|
-
|
5479
|
-
|
5480
|
-
|
5481
|
-
|
5482
|
-
|
5727
|
+
<xsl:choose>
|
5728
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
5729
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
5730
|
+
<fo:table-column column-width="{@width}"/>
|
5731
|
+
</xsl:for-each>
|
5732
|
+
</xsl:when>
|
5733
|
+
<xsl:otherwise>
|
5734
|
+
<xsl:call-template name="insertTableColumnWidth">
|
5735
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
5736
|
+
</xsl:call-template>
|
5737
|
+
</xsl:otherwise>
|
5738
|
+
</xsl:choose>
|
5739
|
+
|
5740
|
+
<xsl:choose>
|
5741
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
5742
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
5743
|
+
</xsl:when>
|
5744
|
+
<xsl:otherwise>
|
5745
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
|
5746
|
+
</xsl:otherwise>
|
5747
|
+
</xsl:choose>
|
5748
|
+
|
5483
5749
|
</xsl:otherwise>
|
5484
5750
|
</xsl:choose>
|
5485
5751
|
|
@@ -5554,30 +5820,36 @@
|
|
5554
5820
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
|
5555
5821
|
<xsl:param name="continued"/>
|
5556
5822
|
<xsl:if test="normalize-space() != ''">
|
5557
|
-
|
5558
|
-
|
5559
|
-
|
5560
|
-
<xsl:if test="not(*[local-name()='tab'])"> <!-- table without number -->
|
5561
|
-
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
5562
|
-
</xsl:if>
|
5563
|
-
<xsl:if test="not(../preceding-sibling::*) and ancestor::node()[@orientation]">
|
5564
|
-
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
5565
|
-
</xsl:if>
|
5566
|
-
|
5567
|
-
|
5568
|
-
|
5823
|
+
|
5824
|
+
|
5569
5825
|
|
5570
|
-
|
5571
|
-
|
5826
|
+
<fo:block xsl:use-attribute-sets="table-name-style">
|
5827
|
+
|
5572
5828
|
|
5573
|
-
|
5574
|
-
|
5575
|
-
|
5576
|
-
|
5577
|
-
|
5578
|
-
|
5829
|
+
<xsl:if test="not(*[local-name()='tab'])"> <!-- table without number -->
|
5830
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
5831
|
+
</xsl:if>
|
5832
|
+
<xsl:if test="not(../preceding-sibling::*) and ancestor::node()[@orientation]">
|
5833
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
5834
|
+
</xsl:if>
|
5835
|
+
|
5836
|
+
|
5837
|
+
|
5838
|
+
|
5839
|
+
<xsl:choose>
|
5840
|
+
<xsl:when test="$continued = 'true'">
|
5841
|
+
|
5842
|
+
</xsl:when>
|
5843
|
+
<xsl:otherwise>
|
5844
|
+
<xsl:apply-templates/>
|
5845
|
+
</xsl:otherwise>
|
5846
|
+
</xsl:choose>
|
5847
|
+
|
5848
|
+
|
5849
|
+
</fo:block>
|
5850
|
+
|
5579
5851
|
|
5580
|
-
|
5852
|
+
|
5581
5853
|
</xsl:if>
|
5582
5854
|
</xsl:template><xsl:template name="calculate-columns-numbers">
|
5583
5855
|
<xsl:param name="table-row"/>
|
@@ -5586,11 +5858,22 @@
|
|
5586
5858
|
<xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
|
5587
5859
|
<xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
|
5588
5860
|
</xsl:template><xsl:template name="calculate-column-widths">
|
5861
|
+
<xsl:param name="table"/>
|
5862
|
+
<xsl:param name="cols-count"/>
|
5863
|
+
|
5864
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
5865
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
5866
|
+
<xsl:with-param name="table" select="$table"/>
|
5867
|
+
</xsl:call-template>
|
5868
|
+
|
5869
|
+
</xsl:template><xsl:template name="calculate-column-widths-proportional">
|
5589
5870
|
<xsl:param name="table"/>
|
5590
5871
|
<xsl:param name="cols-count"/>
|
5591
5872
|
<xsl:param name="curr-col" select="1"/>
|
5592
5873
|
<xsl:param name="width" select="0"/>
|
5593
5874
|
|
5875
|
+
<!-- table=<xsl:copy-of select="$table"/> -->
|
5876
|
+
|
5594
5877
|
<xsl:if test="$curr-col <= $cols-count">
|
5595
5878
|
<xsl:variable name="widths">
|
5596
5879
|
<xsl:choose>
|
@@ -5628,10 +5911,15 @@
|
|
5628
5911
|
</xsl:for-each>
|
5629
5912
|
</xsl:when>
|
5630
5913
|
<xsl:otherwise>
|
5631
|
-
<xsl:
|
5914
|
+
<!-- <curr_col><xsl:value-of select="$curr-col"/></curr_col> -->
|
5915
|
+
|
5916
|
+
<!-- <table><xsl:copy-of select="$table"/></table>
|
5917
|
+
-->
|
5918
|
+
<xsl:for-each select="xalan:nodeset($table)/*/*[local-name()='tr']">
|
5632
5919
|
<xsl:variable name="td_text">
|
5633
5920
|
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
5634
5921
|
</xsl:variable>
|
5922
|
+
<!-- <td_text><xsl:value-of select="$td_text"/></td_text> -->
|
5635
5923
|
<xsl:variable name="words">
|
5636
5924
|
<xsl:variable name="string_with_added_zerospaces">
|
5637
5925
|
<xsl:call-template name="add-zero-spaces-java">
|
@@ -5646,6 +5934,7 @@
|
|
5646
5934
|
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
5647
5935
|
</xsl:call-template>
|
5648
5936
|
</xsl:variable>
|
5937
|
+
<!-- words=<xsl:copy-of select="$words"/> -->
|
5649
5938
|
<xsl:variable name="max_length">
|
5650
5939
|
<xsl:call-template name="max_length">
|
5651
5940
|
<xsl:with-param name="words" select="xalan:nodeset($words)"/>
|
@@ -5670,6 +5959,8 @@
|
|
5670
5959
|
</xsl:choose>
|
5671
5960
|
</xsl:variable>
|
5672
5961
|
|
5962
|
+
<!-- widths=<xsl:copy-of select="$widths"/> -->
|
5963
|
+
|
5673
5964
|
<column>
|
5674
5965
|
<xsl:for-each select="xalan:nodeset($widths)//width">
|
5675
5966
|
<xsl:sort select="." data-type="number" order="descending"/>
|
@@ -5678,34 +5969,272 @@
|
|
5678
5969
|
</xsl:if>
|
5679
5970
|
</xsl:for-each>
|
5680
5971
|
</column>
|
5681
|
-
<xsl:call-template name="calculate-column-widths">
|
5972
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
5682
5973
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
5683
5974
|
<xsl:with-param name="curr-col" select="$curr-col +1"/>
|
5684
5975
|
<xsl:with-param name="table" select="$table"/>
|
5685
5976
|
</xsl:call-template>
|
5686
5977
|
</xsl:if>
|
5687
|
-
</xsl:template><xsl:template match="*[@keep-together.within-line]/text()" priority="2" mode="td_text">
|
5978
|
+
</xsl:template><xsl:template match="*[@keep-together.within-line or local-name() = 'keep-together_within-line']/text()" priority="2" mode="td_text">
|
5688
5979
|
<!-- <xsl:message>DEBUG t1=<xsl:value-of select="."/></xsl:message>
|
5689
5980
|
<xsl:message>DEBUG t2=<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/></xsl:message> -->
|
5690
5981
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/>
|
5982
|
+
|
5983
|
+
<!-- if all capitals english letters or digits -->
|
5984
|
+
<xsl:if test="normalize-space(translate(., concat($upper,'0123456789'), '')) = ''">
|
5985
|
+
<xsl:call-template name="repeat">
|
5986
|
+
<xsl:with-param name="char" select="'X'"/>
|
5987
|
+
<xsl:with-param name="count" select="string-length(normalize-space(.)) * 0.5"/>
|
5988
|
+
</xsl:call-template>
|
5989
|
+
</xsl:if>
|
5691
5990
|
</xsl:template><xsl:template match="text()" mode="td_text">
|
5692
5991
|
<xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
|
5693
5992
|
</xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
|
5694
5993
|
<xsl:value-of select="*[local-name()='origin']/@citeas"/>
|
5695
5994
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
5696
5995
|
<xsl:value-of select="@target"/>
|
5697
|
-
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
5698
|
-
<xsl:
|
5699
|
-
<xsl:
|
5700
|
-
<xsl:
|
5701
|
-
<xsl:
|
5702
|
-
|
5703
|
-
|
5704
|
-
|
5996
|
+
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text" name="math_length">
|
5997
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
5998
|
+
<xsl:variable name="mathml_">
|
5999
|
+
<xsl:for-each select="*">
|
6000
|
+
<xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
|
6001
|
+
<xsl:copy-of select="."/>
|
6002
|
+
</xsl:if>
|
6003
|
+
</xsl:for-each>
|
6004
|
+
</xsl:variable>
|
6005
|
+
<xsl:variable name="mathml" select="xalan:nodeset($mathml_)"/>
|
6006
|
+
|
6007
|
+
<xsl:variable name="math_text">
|
6008
|
+
<xsl:value-of select="normalize-space($mathml)"/>
|
6009
|
+
<xsl:for-each select="$mathml//@open"><xsl:value-of select="."/></xsl:for-each>
|
6010
|
+
<xsl:for-each select="$mathml//@close"><xsl:value-of select="."/></xsl:for-each>
|
6011
|
+
</xsl:variable>
|
6012
|
+
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
6013
|
+
</xsl:if>
|
6014
|
+
</xsl:template><xsl:template name="calculate-column-widths-autolayout-algorithm">
|
6015
|
+
<xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
|
5705
6016
|
|
5706
|
-
|
5707
|
-
|
5708
|
-
|
6017
|
+
<!-- via intermediate format -->
|
6018
|
+
|
6019
|
+
<!-- The algorithm uses two passes through the table data and scales linearly with the size of the table -->
|
6020
|
+
|
6021
|
+
<!-- In the first pass, line wrapping is disabled, and the user agent keeps track of the minimum and maximum width of each cell. -->
|
6022
|
+
|
6023
|
+
<!-- Since line wrap has been disabled, paragraphs are treated as long lines unless broken by BR elements. -->
|
6024
|
+
|
6025
|
+
<!-- get current table id -->
|
6026
|
+
<xsl:variable name="table_id" select="@id"/>
|
6027
|
+
<!-- find table by id in the file 'table_widths' -->
|
6028
|
+
<!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
|
6029
|
+
<xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
|
6030
|
+
|
6031
|
+
<!-- table='<xsl:copy-of select="$table"/>' -->
|
6032
|
+
<!-- table_id='<xsl:value-of select="$table_id"/>\ -->
|
6033
|
+
<!-- table-if='<xsl:copy-of select="$table-if"/>' -->
|
6034
|
+
<!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
|
6035
|
+
|
6036
|
+
<xsl:variable name="table_with_cell_widths_">
|
6037
|
+
<xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
|
6038
|
+
</xsl:variable>
|
6039
|
+
<xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
|
6040
|
+
|
6041
|
+
<!-- <xsl:if test="$table_if_debug = 'true'">
|
6042
|
+
<xsl:copy-of select="$table_with_cell_widths"/>
|
6043
|
+
</xsl:if> -->
|
6044
|
+
|
6045
|
+
|
6046
|
+
<!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
|
6047
|
+
|
6048
|
+
<xsl:variable name="column_widths_">
|
6049
|
+
<!-- iteration of columns -->
|
6050
|
+
<xsl:for-each select="$table_with_cell_widths//tr[1]/td">
|
6051
|
+
<xsl:variable name="pos" select="position()"/>
|
6052
|
+
<column>
|
6053
|
+
<xsl:attribute name="width_max">
|
6054
|
+
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_max">
|
6055
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
6056
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
6057
|
+
</xsl:for-each>
|
6058
|
+
</xsl:attribute>
|
6059
|
+
<xsl:attribute name="width_min">
|
6060
|
+
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_min">
|
6061
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
6062
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
6063
|
+
</xsl:for-each>
|
6064
|
+
</xsl:attribute>
|
6065
|
+
</column>
|
6066
|
+
</xsl:for-each>
|
6067
|
+
</xsl:variable>
|
6068
|
+
<xsl:variable name="column_widths" select="xalan:nodeset($column_widths_)"/>
|
6069
|
+
|
6070
|
+
<!-- <column_widths>
|
6071
|
+
<xsl:copy-of select="$column_widths"/>
|
6072
|
+
</column_widths> -->
|
6073
|
+
|
6074
|
+
<!-- These in turn, are used to find the minimum and maximum width for the table. -->
|
6075
|
+
<xsl:variable name="table_widths_">
|
6076
|
+
<table>
|
6077
|
+
<xsl:attribute name="width_max">
|
6078
|
+
<xsl:value-of select="sum($column_widths/column/@width_max)"/>
|
6079
|
+
</xsl:attribute>
|
6080
|
+
<xsl:attribute name="width_min">
|
6081
|
+
<xsl:value-of select="sum($column_widths/column/@width_min)"/>
|
6082
|
+
</xsl:attribute>
|
6083
|
+
</table>
|
6084
|
+
</xsl:variable>
|
6085
|
+
<xsl:variable name="table_widths" select="xalan:nodeset($table_widths_)"/>
|
6086
|
+
|
6087
|
+
<xsl:variable name="page_width">
|
6088
|
+
<xsl:choose>
|
6089
|
+
<xsl:when test="$parent_table_page-width != ''">
|
6090
|
+
<xsl:value-of select="$parent_table_page-width"/>
|
6091
|
+
</xsl:when>
|
6092
|
+
<xsl:otherwise>
|
6093
|
+
<xsl:value-of select="@page-width"/>
|
6094
|
+
</xsl:otherwise>
|
6095
|
+
</xsl:choose>
|
6096
|
+
</xsl:variable>
|
6097
|
+
|
6098
|
+
<xsl:if test="$table_if_debug = 'true'">
|
6099
|
+
<table_width>
|
6100
|
+
<xsl:copy-of select="$table_widths"/>
|
6101
|
+
</table_width>
|
6102
|
+
<debug>$page_width=<xsl:value-of select="$page_width"/></debug>
|
6103
|
+
</xsl:if>
|
6104
|
+
|
6105
|
+
|
6106
|
+
<!-- There are three cases: -->
|
6107
|
+
<xsl:choose>
|
6108
|
+
<!-- 1. The minimum table width is equal to or wider than the available space -->
|
6109
|
+
<xsl:when test="$table_widths/table/@width_min >= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
|
6110
|
+
<!-- call old algorithm -->
|
6111
|
+
<case1/>
|
6112
|
+
<!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
|
6113
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
6114
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
6115
|
+
<xsl:with-param name="table" select="$table"/>
|
6116
|
+
</xsl:call-template> -->
|
6117
|
+
</xsl:when>
|
6118
|
+
<!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
|
6119
|
+
<xsl:when test="$table_widths/table/@width_max <= $page_width">
|
6120
|
+
<case2/>
|
6121
|
+
<autolayout/>
|
6122
|
+
<xsl:for-each select="$column_widths/column/@width_max">
|
6123
|
+
<column divider="100"><xsl:value-of select="."/></column>
|
6124
|
+
</xsl:for-each>
|
6125
|
+
</xsl:when>
|
6126
|
+
<!-- 3. The maximum width of the table is greater than the available space, but the minimum table width is smaller.
|
6127
|
+
In this case, find the difference between the available space and the minimum table width, lets call it W.
|
6128
|
+
Lets also call D the difference between maximum and minimum width of the table.
|
6129
|
+
For each column, let d be the difference between maximum and minimum width of that column.
|
6130
|
+
Now set the column's width to the minimum width plus d times W over D.
|
6131
|
+
This makes columns with large differences between minimum and maximum widths wider than columns with smaller differences. -->
|
6132
|
+
<xsl:when test="($table_widths/table/@width_max > $page_width and $table_widths/table/@width_min < $page_width) or ($table_widths/table/@width_min >= $page_width)">
|
6133
|
+
<!-- difference between the available space and the minimum table width -->
|
6134
|
+
<xsl:variable name="W" select="$page_width - $table_widths/table/@width_min"/>
|
6135
|
+
<W><xsl:value-of select="$W"/></W>
|
6136
|
+
<!-- difference between maximum and minimum width of the table -->
|
6137
|
+
<xsl:variable name="D" select="$table_widths/table/@width_max - $table_widths/table/@width_min"/>
|
6138
|
+
<D><xsl:value-of select="$D"/></D>
|
6139
|
+
<case3/>
|
6140
|
+
<autolayout/>
|
6141
|
+
<xsl:if test="$table_widths/table/@width_min >= $page_width">
|
6142
|
+
<split_keep-within-line>true</split_keep-within-line>
|
6143
|
+
</xsl:if>
|
6144
|
+
<xsl:for-each select="$column_widths/column">
|
6145
|
+
<!-- difference between maximum and minimum width of that column. -->
|
6146
|
+
<xsl:variable name="d" select="@width_max - @width_min"/>
|
6147
|
+
<d><xsl:value-of select="$d"/></d>
|
6148
|
+
<width_min><xsl:value-of select="@width_min"/></width_min>
|
6149
|
+
<e><xsl:value-of select="$d * $W div $D"/></e>
|
6150
|
+
<!-- set the column's width to the minimum width plus d times W over D. -->
|
6151
|
+
<column divider="100">
|
6152
|
+
<xsl:value-of select="round(@width_min + $d * $W div $D)"/> <!-- * 10 -->
|
6153
|
+
</column>
|
6154
|
+
</xsl:for-each>
|
6155
|
+
|
6156
|
+
</xsl:when>
|
6157
|
+
<xsl:otherwise><unknown_case/></xsl:otherwise>
|
6158
|
+
</xsl:choose>
|
6159
|
+
|
6160
|
+
</xsl:template><xsl:template name="get-calculated-column-widths-autolayout-algorithm">
|
6161
|
+
|
6162
|
+
<!-- if nested 'dl' or 'table' -->
|
6163
|
+
<xsl:variable name="parent_table_id" select="normalize-space(ancestor::*[local-name() = 'table' or local-name() = 'dl'][1]/@id)"/>
|
6164
|
+
<parent_table_id><xsl:value-of select="$parent_table_id"/></parent_table_id>
|
6165
|
+
|
6166
|
+
<parent_element><xsl:value-of select="local-name(..)"/></parent_element>
|
6167
|
+
|
6168
|
+
<xsl:variable name="parent_table_page-width_">
|
6169
|
+
<xsl:if test="$parent_table_id != ''">
|
6170
|
+
<!-- determine column number in the parent table -->
|
6171
|
+
<xsl:variable name="parent_table_column_number">
|
6172
|
+
<xsl:choose>
|
6173
|
+
<xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
|
6174
|
+
<xsl:otherwise> <!-- parent is table -->
|
6175
|
+
<xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
|
6176
|
+
</xsl:otherwise>
|
6177
|
+
</xsl:choose>
|
6178
|
+
</xsl:variable>
|
6179
|
+
<!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
|
6180
|
+
<xsl:value-of select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
|
6181
|
+
</xsl:if>
|
6182
|
+
</xsl:variable>
|
6183
|
+
<xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
|
6184
|
+
|
6185
|
+
<!-- get current table id -->
|
6186
|
+
<xsl:variable name="table_id" select="@id"/>
|
6187
|
+
|
6188
|
+
<xsl:choose>
|
6189
|
+
<xsl:when test="$parent_table_id = '' or $parent_table_page-width = ''">
|
6190
|
+
<!-- find table by id in the file 'table_widths' and get all `<column>...</column> -->
|
6191
|
+
<xsl:copy-of select="$table_widths_from_if_calculated//table[@id = $table_id]/node()"/>
|
6192
|
+
</xsl:when>
|
6193
|
+
<xsl:otherwise>
|
6194
|
+
<!-- recalculate columns width based on parent table width -->
|
6195
|
+
<xsl:for-each select="$table_widths_from_if//table[@id = $table_id]">
|
6196
|
+
<xsl:call-template name="calculate-column-widths-autolayout-algorithm">
|
6197
|
+
<xsl:with-param name="parent_table_page-width" select="$parent_table_page-width"/> <!-- padding-left = 2mm = 50000-->
|
6198
|
+
</xsl:call-template>
|
6199
|
+
</xsl:for-each>
|
6200
|
+
</xsl:otherwise>
|
6201
|
+
</xsl:choose>
|
6202
|
+
|
6203
|
+
</xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths-if">
|
6204
|
+
<xsl:copy>
|
6205
|
+
<xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
|
6206
|
+
</xsl:copy>
|
6207
|
+
</xsl:template><xsl:template match="td | th" mode="determine_cell_widths-if">
|
6208
|
+
<xsl:copy>
|
6209
|
+
<xsl:copy-of select="@*"/>
|
6210
|
+
|
6211
|
+
<!-- The maximum width is given by the widest line. -->
|
6212
|
+
<xsl:attribute name="width_max">
|
6213
|
+
<xsl:for-each select="p_len">
|
6214
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
6215
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
6216
|
+
</xsl:for-each>
|
6217
|
+
</xsl:attribute>
|
6218
|
+
|
6219
|
+
<!-- The minimum width is given by the widest text element (word, image, etc.) -->
|
6220
|
+
<xsl:variable name="width_min">
|
6221
|
+
<xsl:for-each select="word_len">
|
6222
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
6223
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
6224
|
+
</xsl:for-each>
|
6225
|
+
</xsl:variable>
|
6226
|
+
<xsl:attribute name="width_min">
|
6227
|
+
<xsl:value-of select="$width_min"/>
|
6228
|
+
</xsl:attribute>
|
6229
|
+
|
6230
|
+
<xsl:if test="$width_min = 0">
|
6231
|
+
<xsl:attribute name="width_min">1</xsl:attribute>
|
6232
|
+
</xsl:if>
|
6233
|
+
|
6234
|
+
<xsl:apply-templates select="node()" mode="determine_cell_widths-if"/>
|
6235
|
+
|
6236
|
+
</xsl:copy>
|
6237
|
+
</xsl:template><xsl:template match="*[local-name()='thead']">
|
5709
6238
|
<xsl:param name="cols-count"/>
|
5710
6239
|
<fo:table-header>
|
5711
6240
|
|
@@ -5718,12 +6247,18 @@
|
|
5718
6247
|
<fo:table-row>
|
5719
6248
|
<fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
|
5720
6249
|
|
5721
|
-
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
|
5722
|
-
<xsl:with-param name="continued">true</xsl:with-param>
|
5723
|
-
</xsl:apply-templates>
|
5724
6250
|
|
5725
6251
|
|
5726
6252
|
|
6253
|
+
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
|
6254
|
+
<xsl:with-param name="continued">true</xsl:with-param>
|
6255
|
+
</xsl:apply-templates>
|
6256
|
+
|
6257
|
+
|
6258
|
+
|
6259
|
+
|
6260
|
+
|
6261
|
+
|
5727
6262
|
</fo:table-cell>
|
5728
6263
|
</fo:table-row>
|
5729
6264
|
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
@@ -5789,6 +6324,7 @@
|
|
5789
6324
|
</xsl:for-each>
|
5790
6325
|
</xsl:when>
|
5791
6326
|
<xsl:otherwise>
|
6327
|
+
<!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
|
5792
6328
|
<xsl:call-template name="insertTableColumnWidth">
|
5793
6329
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
5794
6330
|
</xsl:call-template>
|
@@ -5833,7 +6369,10 @@
|
|
5833
6369
|
|
5834
6370
|
|
5835
6371
|
<!-- fn processing -->
|
5836
|
-
|
6372
|
+
|
6373
|
+
<xsl:call-template name="table_fn_display"/>
|
6374
|
+
|
6375
|
+
|
5837
6376
|
|
5838
6377
|
<!-- for PAS display Notes after footnotes -->
|
5839
6378
|
|
@@ -5843,6 +6382,9 @@
|
|
5843
6382
|
</fo:table-body>
|
5844
6383
|
|
5845
6384
|
</fo:table>
|
6385
|
+
|
6386
|
+
|
6387
|
+
|
5846
6388
|
</xsl:if>
|
5847
6389
|
</xsl:template><xsl:template match="*[local-name()='tbody']">
|
5848
6390
|
|
@@ -5878,6 +6420,52 @@
|
|
5878
6420
|
|
5879
6421
|
</fo:table-body>
|
5880
6422
|
|
6423
|
+
</xsl:template><xsl:template match="/" mode="process_table-if">
|
6424
|
+
<xsl:param name="table_or_dl">table</xsl:param>
|
6425
|
+
<xsl:apply-templates mode="process_table-if">
|
6426
|
+
<xsl:with-param name="table_or_dl" select="$table_or_dl"/>
|
6427
|
+
</xsl:apply-templates>
|
6428
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']" mode="process_table-if">
|
6429
|
+
<xsl:param name="table_or_dl">table</xsl:param>
|
6430
|
+
|
6431
|
+
<fo:table-body>
|
6432
|
+
<xsl:for-each select="*[local-name() = 'tr']">
|
6433
|
+
<xsl:variable name="col_count" select="count(*)"/>
|
6434
|
+
|
6435
|
+
<!-- iteration for each tr/td -->
|
6436
|
+
|
6437
|
+
<xsl:choose>
|
6438
|
+
<xsl:when test="$table_or_dl = 'table'">
|
6439
|
+
<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']/*">
|
6440
|
+
<fo:table-row number-columns-spanned="{$col_count}">
|
6441
|
+
<!-- <test_table><xsl:copy-of select="."/></test_table> -->
|
6442
|
+
<xsl:call-template name="td"/>
|
6443
|
+
</fo:table-row>
|
6444
|
+
</xsl:for-each>
|
6445
|
+
</xsl:when>
|
6446
|
+
<xsl:otherwise> <!-- $table_or_dl = 'dl' -->
|
6447
|
+
<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']">
|
6448
|
+
<xsl:variable name="is_dt" select="position() = 1"/>
|
6449
|
+
|
6450
|
+
<xsl:for-each select="*">
|
6451
|
+
<!-- <test><xsl:copy-of select="."/></test> -->
|
6452
|
+
<fo:table-row number-columns-spanned="{$col_count}">
|
6453
|
+
<xsl:choose>
|
6454
|
+
<xsl:when test="$is_dt">
|
6455
|
+
<xsl:call-template name="insert_dt_cell"/>
|
6456
|
+
</xsl:when>
|
6457
|
+
<xsl:otherwise>
|
6458
|
+
<xsl:call-template name="insert_dd_cell"/>
|
6459
|
+
</xsl:otherwise>
|
6460
|
+
</xsl:choose>
|
6461
|
+
</fo:table-row>
|
6462
|
+
</xsl:for-each>
|
6463
|
+
</xsl:for-each>
|
6464
|
+
</xsl:otherwise>
|
6465
|
+
</xsl:choose>
|
6466
|
+
|
6467
|
+
</xsl:for-each>
|
6468
|
+
</fo:table-body>
|
5881
6469
|
</xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
|
5882
6470
|
<fo:table-row xsl:use-attribute-sets="table-header-row-style">
|
5883
6471
|
|
@@ -5885,6 +6473,9 @@
|
|
5885
6473
|
|
5886
6474
|
|
5887
6475
|
|
6476
|
+
|
6477
|
+
|
6478
|
+
|
5888
6479
|
|
5889
6480
|
|
5890
6481
|
<xsl:call-template name="setTableRowAttributes"/>
|
@@ -5904,6 +6495,8 @@
|
|
5904
6495
|
|
5905
6496
|
|
5906
6497
|
|
6498
|
+
|
6499
|
+
|
5907
6500
|
<xsl:call-template name="setTableRowAttributes"/>
|
5908
6501
|
<xsl:apply-templates/>
|
5909
6502
|
</fo:table-row>
|
@@ -5982,7 +6575,7 @@
|
|
5982
6575
|
</xsl:choose>
|
5983
6576
|
</xsl:attribute>
|
5984
6577
|
</xsl:if>
|
5985
|
-
</xsl:template><xsl:template match="*[local-name()='td']">
|
6578
|
+
</xsl:template><xsl:template match="*[local-name()='td']" name="td">
|
5986
6579
|
<fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
|
5987
6580
|
<xsl:call-template name="setTextAlignment">
|
5988
6581
|
<xsl:with-param name="default">left</xsl:with-param>
|
@@ -6014,6 +6607,8 @@
|
|
6014
6607
|
|
6015
6608
|
|
6016
6609
|
|
6610
|
+
|
6611
|
+
|
6017
6612
|
|
6018
6613
|
|
6019
6614
|
|
@@ -6027,8 +6622,18 @@
|
|
6027
6622
|
|
6028
6623
|
<xsl:call-template name="setTableCellAttributes"/>
|
6029
6624
|
|
6625
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
6626
|
+
<xsl:attribute name="border">1pt solid black</xsl:attribute> <!-- border is mandatory, to determine page width -->
|
6627
|
+
<xsl:attribute name="text-align">left</xsl:attribute>
|
6628
|
+
</xsl:if>
|
6629
|
+
|
6030
6630
|
<fo:block>
|
6031
6631
|
|
6632
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
6633
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
6634
|
+
</xsl:if>
|
6635
|
+
|
6636
|
+
|
6032
6637
|
|
6033
6638
|
<xsl:if test="not(.//bipm:image)">
|
6034
6639
|
<xsl:attribute name="line-stacking-strategy">font-height</xsl:attribute>
|
@@ -6041,6 +6646,9 @@
|
|
6041
6646
|
|
6042
6647
|
|
6043
6648
|
<xsl:apply-templates/>
|
6649
|
+
|
6650
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
6651
|
+
|
6044
6652
|
</fo:block>
|
6045
6653
|
</fo:table-cell>
|
6046
6654
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
|
@@ -6094,7 +6702,11 @@
|
|
6094
6702
|
|
6095
6703
|
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
6096
6704
|
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
6097
|
-
<xsl:variable name="
|
6705
|
+
<xsl:variable name="reference_">
|
6706
|
+
<xsl:value-of select="@reference"/>
|
6707
|
+
<xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
|
6708
|
+
</xsl:variable>
|
6709
|
+
<xsl:variable name="reference" select="normalize-space($reference_)"/>
|
6098
6710
|
<!-- fn sequence number in document -->
|
6099
6711
|
<xsl:variable name="current_fn_number">
|
6100
6712
|
<xsl:choose>
|
@@ -6169,7 +6781,7 @@
|
|
6169
6781
|
<xsl:copy-of select="node()"/>
|
6170
6782
|
</fn>
|
6171
6783
|
</xsl:for-each>
|
6172
|
-
<xsl:for-each select="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']/*">
|
6784
|
+
<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']/*">
|
6173
6785
|
<xsl:sort select="@displayorder" data-type="number"/>
|
6174
6786
|
<xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[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])]">
|
6175
6787
|
<!-- copy unique fn -->
|
@@ -6254,9 +6866,9 @@
|
|
6254
6866
|
<!-- current hierarchy is 'figure' element -->
|
6255
6867
|
<xsl:variable name="following_dl_colwidths">
|
6256
6868
|
<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
|
6257
|
-
<xsl:variable name="
|
6258
|
-
<xsl:variable name="doc_ns">
|
6259
|
-
bipm
|
6869
|
+
<xsl:variable name="simple-table">
|
6870
|
+
<!-- <xsl:variable name="doc_ns">
|
6871
|
+
<xsl:if test="$namespace = 'bipm'">bipm</xsl:if>
|
6260
6872
|
</xsl:variable>
|
6261
6873
|
<xsl:variable name="ns">
|
6262
6874
|
<xsl:choose>
|
@@ -6267,7 +6879,7 @@
|
|
6267
6879
|
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
6268
6880
|
</xsl:otherwise>
|
6269
6881
|
</xsl:choose>
|
6270
|
-
</xsl:variable>
|
6882
|
+
</xsl:variable> -->
|
6271
6883
|
|
6272
6884
|
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
6273
6885
|
<tbody>
|
@@ -6278,7 +6890,7 @@
|
|
6278
6890
|
|
6279
6891
|
<xsl:call-template name="calculate-column-widths">
|
6280
6892
|
<xsl:with-param name="cols-count" select="2"/>
|
6281
|
-
<xsl:with-param name="table" select="$
|
6893
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
6282
6894
|
</xsl:call-template>
|
6283
6895
|
|
6284
6896
|
</xsl:if>
|
@@ -6458,12 +7070,31 @@
|
|
6458
7070
|
|
6459
7071
|
|
6460
7072
|
|
7073
|
+
|
7074
|
+
<xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
|
7075
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
7076
|
+
</xsl:if>
|
7077
|
+
|
6461
7078
|
<fo:block>
|
6462
7079
|
|
6463
7080
|
|
6464
7081
|
|
6465
7082
|
|
7083
|
+
<xsl:apply-templates select="*[local-name() = 'name']">
|
7084
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
7085
|
+
</xsl:apply-templates>
|
7086
|
+
|
7087
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
7088
|
+
<!-- to determine start of table -->
|
7089
|
+
<fo:block id="{concat('table_if_start_',@id)}" keep-with-next="always" font-size="1pt">Start table '<xsl:value-of select="@id"/>'.</fo:block>
|
7090
|
+
</xsl:if>
|
7091
|
+
|
6466
7092
|
<fo:table width="95%" table-layout="fixed">
|
7093
|
+
|
7094
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
7095
|
+
<xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
|
7096
|
+
</xsl:if>
|
7097
|
+
|
6467
7098
|
|
6468
7099
|
<xsl:choose>
|
6469
7100
|
<xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
|
@@ -6472,69 +7103,173 @@
|
|
6472
7103
|
|
6473
7104
|
</xsl:when>
|
6474
7105
|
</xsl:choose>
|
6475
|
-
<!-- create virtual html table for dl/[dt and dd] -->
|
6476
|
-
<xsl:variable name="html-table">
|
6477
|
-
<xsl:variable name="doc_ns">
|
6478
|
-
bipm
|
6479
|
-
</xsl:variable>
|
6480
|
-
<xsl:variable name="ns">
|
6481
|
-
<xsl:choose>
|
6482
|
-
<xsl:when test="normalize-space($doc_ns) != ''">
|
6483
|
-
<xsl:value-of select="normalize-space($doc_ns)"/>
|
6484
|
-
</xsl:when>
|
6485
|
-
<xsl:otherwise>
|
6486
|
-
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
6487
|
-
</xsl:otherwise>
|
6488
|
-
</xsl:choose>
|
6489
|
-
</xsl:variable>
|
6490
|
-
<tbody>
|
6491
|
-
<xsl:apply-templates mode="dl"/>
|
6492
|
-
</tbody>
|
6493
|
-
</xsl:variable>
|
6494
|
-
<!-- DEBUG: html-table<xsl:copy-of select="$html-table"/> -->
|
6495
|
-
<xsl:variable name="colwidths">
|
6496
|
-
<xsl:call-template name="calculate-column-widths">
|
6497
|
-
<xsl:with-param name="cols-count" select="2"/>
|
6498
|
-
<xsl:with-param name="table" select="$html-table"/>
|
6499
|
-
</xsl:call-template>
|
6500
|
-
</xsl:variable>
|
6501
|
-
<!-- DEBUG: colwidths=<xsl:copy-of select="$colwidths"/> -->
|
6502
|
-
<xsl:variable name="maxlength_dt">
|
6503
|
-
<xsl:call-template name="getMaxLength_dt"/>
|
6504
|
-
</xsl:variable>
|
6505
|
-
<xsl:variable name="isContainsKeepTogetherTag_">
|
6506
|
-
false
|
6507
|
-
</xsl:variable>
|
6508
|
-
<xsl:variable name="isContainsKeepTogetherTag" select="normalize-space($isContainsKeepTogetherTag_)"/>
|
6509
|
-
<!-- isContainsExpressReference=<xsl:value-of select="$isContainsExpressReference"/> -->
|
6510
|
-
<xsl:call-template name="setColumnWidth_dl">
|
6511
|
-
<xsl:with-param name="colwidths" select="$colwidths"/>
|
6512
|
-
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
6513
|
-
<xsl:with-param name="isContainsKeepTogetherTag" select="$isContainsKeepTogetherTag"/>
|
6514
|
-
</xsl:call-template>
|
6515
7106
|
|
6516
|
-
|
6517
|
-
|
6518
|
-
|
6519
|
-
|
6520
|
-
|
7107
|
+
|
7108
|
+
|
7109
|
+
<xsl:choose>
|
7110
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
7111
|
+
<!-- generate IF for table widths -->
|
7112
|
+
<!-- example:
|
7113
|
+
<tr>
|
7114
|
+
<td valign="top" align="left" id="tab-symdu_1_1">
|
7115
|
+
<p>Symbol</p>
|
7116
|
+
<word id="tab-symdu_1_1_word_1">Symbol</word>
|
7117
|
+
</td>
|
7118
|
+
<td valign="top" align="left" id="tab-symdu_1_2">
|
7119
|
+
<p>Description</p>
|
7120
|
+
<word id="tab-symdu_1_2_word_1">Description</word>
|
7121
|
+
</td>
|
7122
|
+
</tr>
|
7123
|
+
-->
|
7124
|
+
|
7125
|
+
<!-- create virtual html table for dl/[dt and dd] -->
|
7126
|
+
<xsl:variable name="simple-table">
|
7127
|
+
|
7128
|
+
<xsl:variable name="dl_table">
|
7129
|
+
<tbody>
|
7130
|
+
<xsl:apply-templates mode="dl_if">
|
7131
|
+
<xsl:with-param name="id" select="@id"/>
|
7132
|
+
</xsl:apply-templates>
|
7133
|
+
</tbody>
|
7134
|
+
</xsl:variable>
|
7135
|
+
|
7136
|
+
<!-- dl_table='<xsl:copy-of select="$dl_table"/>' -->
|
7137
|
+
|
7138
|
+
<!-- Step: replace <br/> to <p>...</p> -->
|
7139
|
+
<xsl:variable name="table_without_br">
|
7140
|
+
<xsl:apply-templates select="xalan:nodeset($dl_table)" mode="table-without-br"/>
|
7141
|
+
</xsl:variable>
|
7142
|
+
|
7143
|
+
<!-- table_without_br='<xsl:copy-of select="$table_without_br"/>' -->
|
7144
|
+
|
7145
|
+
<!-- Step: add id to each cell -->
|
7146
|
+
<!-- add <word>...</word> for each word, image, math -->
|
7147
|
+
<xsl:variable name="simple-table-id">
|
7148
|
+
<xsl:apply-templates select="xalan:nodeset($table_without_br)" mode="simple-table-id">
|
7149
|
+
<xsl:with-param name="id" select="@id"/>
|
7150
|
+
</xsl:apply-templates>
|
7151
|
+
</xsl:variable>
|
7152
|
+
|
7153
|
+
<!-- simple-table-id='<xsl:copy-of select="$simple-table-id"/>' -->
|
7154
|
+
|
7155
|
+
<xsl:copy-of select="xalan:nodeset($simple-table-id)"/>
|
7156
|
+
|
7157
|
+
</xsl:variable>
|
7158
|
+
|
7159
|
+
<!-- DEBUG: simple-table<xsl:copy-of select="$simple-table"/> -->
|
7160
|
+
|
7161
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if">
|
7162
|
+
<xsl:with-param name="table_or_dl">dl</xsl:with-param>
|
7163
|
+
</xsl:apply-templates>
|
7164
|
+
|
7165
|
+
</xsl:when>
|
7166
|
+
<xsl:otherwise>
|
7167
|
+
|
7168
|
+
<xsl:variable name="simple-table">
|
7169
|
+
|
7170
|
+
<xsl:variable name="dl_table">
|
7171
|
+
<tbody>
|
7172
|
+
<xsl:apply-templates mode="dl">
|
7173
|
+
<xsl:with-param name="id" select="@id"/>
|
7174
|
+
</xsl:apply-templates>
|
7175
|
+
</tbody>
|
7176
|
+
</xsl:variable>
|
7177
|
+
|
7178
|
+
<xsl:copy-of select="$dl_table"/>
|
7179
|
+
</xsl:variable>
|
7180
|
+
|
7181
|
+
<xsl:variable name="colwidths">
|
7182
|
+
<xsl:call-template name="calculate-column-widths">
|
7183
|
+
<xsl:with-param name="cols-count" select="2"/>
|
7184
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
7185
|
+
</xsl:call-template>
|
7186
|
+
</xsl:variable>
|
7187
|
+
|
7188
|
+
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
7189
|
+
DEBUG
|
7190
|
+
colwidths=<xsl:copy-of select="$colwidths"/>
|
7191
|
+
<xsl:text disable-output-escaping="yes">- -></xsl:text> -->
|
7192
|
+
|
7193
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
7194
|
+
|
7195
|
+
<xsl:variable name="maxlength_dt">
|
7196
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
7197
|
+
</xsl:variable>
|
7198
|
+
|
7199
|
+
<xsl:variable name="isContainsKeepTogetherTag_">
|
7200
|
+
false
|
7201
|
+
</xsl:variable>
|
7202
|
+
<xsl:variable name="isContainsKeepTogetherTag" select="normalize-space($isContainsKeepTogetherTag_)"/>
|
7203
|
+
<!-- isContainsExpressReference=<xsl:value-of select="$isContainsExpressReference"/> -->
|
7204
|
+
|
7205
|
+
|
7206
|
+
<xsl:call-template name="setColumnWidth_dl">
|
7207
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
7208
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
7209
|
+
<xsl:with-param name="isContainsKeepTogetherTag" select="$isContainsKeepTogetherTag"/>
|
7210
|
+
</xsl:call-template>
|
7211
|
+
|
7212
|
+
<fo:table-body>
|
7213
|
+
|
7214
|
+
<!-- DEBUG -->
|
7215
|
+
<xsl:if test="$table_if_debug = 'true'">
|
7216
|
+
<fo:table-row>
|
7217
|
+
<fo:table-cell number-columns-spanned="2" font-size="60%">
|
7218
|
+
<xsl:apply-templates select="xalan:nodeset($colwidths)" mode="print_as_xml"/>
|
7219
|
+
</fo:table-cell>
|
7220
|
+
</fo:table-row>
|
7221
|
+
</xsl:if>
|
7222
|
+
|
7223
|
+
<xsl:apply-templates>
|
7224
|
+
<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
|
7225
|
+
<xsl:with-param name="split_keep-within-line" select="xalan:nodeset($colwidths)/split_keep-within-line"/>
|
7226
|
+
</xsl:apply-templates>
|
7227
|
+
|
7228
|
+
</fo:table-body>
|
7229
|
+
</xsl:otherwise>
|
7230
|
+
</xsl:choose>
|
6521
7231
|
</fo:table>
|
6522
7232
|
</fo:block>
|
6523
7233
|
</fo:block>
|
6524
7234
|
</xsl:if> <!-- END: a few components -->
|
6525
7235
|
</fo:block-container>
|
6526
7236
|
</fo:block-container>
|
7237
|
+
|
7238
|
+
<xsl:if test="$isGenerateTableIF = 'true'"> <!-- process nested 'dl' -->
|
7239
|
+
<xsl:apply-templates select="*[local-name() = 'dd']/*[local-name() = 'dl']"/>
|
7240
|
+
</xsl:if>
|
7241
|
+
|
7242
|
+
</xsl:template><xsl:template match="*[local-name() = 'dl']/*[local-name() = 'name']">
|
7243
|
+
<xsl:param name="process">false</xsl:param>
|
7244
|
+
<xsl:if test="$process = 'true'">
|
7245
|
+
<fo:block xsl:use-attribute-sets="dl-name-style">
|
7246
|
+
<xsl:apply-templates/>
|
7247
|
+
</fo:block>
|
7248
|
+
</xsl:if>
|
6527
7249
|
</xsl:template><xsl:template name="setColumnWidth_dl">
|
6528
7250
|
<xsl:param name="colwidths"/>
|
6529
7251
|
<xsl:param name="maxlength_dt"/>
|
6530
7252
|
<xsl:param name="isContainsKeepTogetherTag"/>
|
7253
|
+
|
7254
|
+
<!-- <colwidths><xsl:copy-of select="$colwidths"/></colwidths> -->
|
7255
|
+
|
6531
7256
|
<xsl:choose>
|
7257
|
+
<xsl:when test="xalan:nodeset($colwidths)/autolayout">
|
7258
|
+
<xsl:call-template name="insertTableColumnWidth">
|
7259
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
7260
|
+
</xsl:call-template>
|
7261
|
+
</xsl:when>
|
6532
7262
|
<xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
|
6533
7263
|
<fo:table-column column-width="50%"/>
|
6534
7264
|
<fo:table-column column-width="50%"/>
|
6535
7265
|
</xsl:when>
|
6536
7266
|
<xsl:otherwise>
|
6537
7267
|
<xsl:choose>
|
7268
|
+
<xsl:when test="xalan:nodeset($colwidths)/autolayout">
|
7269
|
+
<xsl:call-template name="insertTableColumnWidth">
|
7270
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
7271
|
+
</xsl:call-template>
|
7272
|
+
</xsl:when>
|
6538
7273
|
<xsl:when test="$isContainsKeepTogetherTag">
|
6539
7274
|
<xsl:call-template name="insertTableColumnWidth">
|
6540
7275
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
@@ -6579,13 +7314,19 @@
|
|
6579
7314
|
</xsl:choose>
|
6580
7315
|
</xsl:template><xsl:template name="insertTableColumnWidth">
|
6581
7316
|
<xsl:param name="colwidths"/>
|
7317
|
+
|
6582
7318
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
6583
7319
|
<xsl:choose>
|
6584
7320
|
<xsl:when test=". = 1 or . = 0">
|
6585
7321
|
<fo:table-column column-width="proportional-column-width(2)"/>
|
6586
7322
|
</xsl:when>
|
6587
7323
|
<xsl:otherwise>
|
6588
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
7324
|
+
<!-- <fo:table-column column-width="proportional-column-width({.})"/> -->
|
7325
|
+
<xsl:variable name="divider">
|
7326
|
+
<xsl:value-of select="@divider"/>
|
7327
|
+
<xsl:if test="not(@divider)">1</xsl:if>
|
7328
|
+
</xsl:variable>
|
7329
|
+
<fo:table-column column-width="proportional-column-width({round(. div $divider)})"/>
|
6589
7330
|
</xsl:otherwise>
|
6590
7331
|
</xsl:choose>
|
6591
7332
|
</xsl:for-each>
|
@@ -6647,11 +7388,19 @@
|
|
6647
7388
|
</fo:table-cell>
|
6648
7389
|
</fo:table-row>
|
6649
7390
|
</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
|
7391
|
+
<xsl:param name="id"/>
|
7392
|
+
<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
|
6650
7393
|
<tr>
|
6651
7394
|
<td>
|
7395
|
+
<xsl:attribute name="id">
|
7396
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_1')"/>
|
7397
|
+
</xsl:attribute>
|
6652
7398
|
<xsl:apply-templates/>
|
6653
7399
|
</td>
|
6654
7400
|
<td>
|
7401
|
+
<xsl:attribute name="id">
|
7402
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_2')"/>
|
7403
|
+
</xsl:attribute>
|
6655
7404
|
|
6656
7405
|
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
|
6657
7406
|
<xsl:with-param name="process">true</xsl:with-param>
|
@@ -6662,50 +7411,134 @@
|
|
6662
7411
|
|
6663
7412
|
</xsl:template><xsl:template match="*[local-name()='dt']">
|
6664
7413
|
<xsl:param name="key_iso"/>
|
7414
|
+
<xsl:param name="split_keep-within-line"/>
|
6665
7415
|
|
6666
7416
|
<fo:table-row xsl:use-attribute-sets="dt-row-style">
|
6667
|
-
<
|
7417
|
+
<xsl:call-template name="insert_dt_cell">
|
7418
|
+
<xsl:with-param name="key_iso" select="$key_iso"/>
|
7419
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
7420
|
+
</xsl:call-template>
|
7421
|
+
<xsl:for-each select="following-sibling::*[local-name()='dd'][1]">
|
7422
|
+
<xsl:call-template name="insert_dd_cell">
|
7423
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
7424
|
+
</xsl:call-template>
|
7425
|
+
</xsl:for-each>
|
7426
|
+
</fo:table-row>
|
7427
|
+
</xsl:template><xsl:template name="insert_dt_cell">
|
7428
|
+
<xsl:param name="key_iso"/>
|
7429
|
+
<xsl:param name="split_keep-within-line"/>
|
7430
|
+
<fo:table-cell xsl:use-attribute-sets="dt-cell-style">
|
7431
|
+
|
7432
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
7433
|
+
<!-- border is mandatory, to calculate real width -->
|
7434
|
+
<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
|
7435
|
+
<xsl:attribute name="text-align">left</xsl:attribute>
|
7436
|
+
</xsl:if>
|
7437
|
+
|
7438
|
+
|
7439
|
+
<fo:block xsl:use-attribute-sets="dt-block-style">
|
7440
|
+
<xsl:copy-of select="@id"/>
|
7441
|
+
|
7442
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
7443
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
7444
|
+
</xsl:if>
|
7445
|
+
|
7446
|
+
|
7447
|
+
|
7448
|
+
<xsl:apply-templates>
|
7449
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
7450
|
+
</xsl:apply-templates>
|
7451
|
+
|
7452
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
7453
|
+
|
7454
|
+
</fo:block>
|
7455
|
+
</fo:table-cell>
|
7456
|
+
</xsl:template><xsl:template name="insert_dd_cell">
|
7457
|
+
<xsl:param name="split_keep-within-line"/>
|
7458
|
+
<fo:table-cell xsl:use-attribute-sets="dd-cell-style">
|
7459
|
+
|
7460
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
7461
|
+
<!-- border is mandatory, to calculate real width -->
|
7462
|
+
<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
|
7463
|
+
</xsl:if>
|
7464
|
+
|
7465
|
+
<fo:block>
|
7466
|
+
|
7467
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
7468
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
7469
|
+
</xsl:if>
|
7470
|
+
|
6668
7471
|
|
6669
|
-
<fo:block xsl:use-attribute-sets="dt-style">
|
6670
|
-
<xsl:copy-of select="@id"/>
|
6671
|
-
|
6672
|
-
<xsl:if test="normalize-space($key_iso) = 'true'">
|
6673
|
-
<xsl:attribute name="margin-top">0</xsl:attribute>
|
6674
|
-
</xsl:if>
|
6675
|
-
|
6676
|
-
|
6677
|
-
|
6678
|
-
<xsl:apply-templates/>
|
6679
|
-
</fo:block>
|
6680
|
-
</fo:table-cell>
|
6681
|
-
<fo:table-cell>
|
6682
|
-
<fo:block>
|
6683
|
-
|
6684
7472
|
|
6685
|
-
|
6686
|
-
|
6687
|
-
|
6688
|
-
|
6689
|
-
|
6690
|
-
|
7473
|
+
<xsl:choose>
|
7474
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
7475
|
+
<xsl:apply-templates> <!-- following-sibling::*[local-name()='dd'][1] -->
|
7476
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
7477
|
+
</xsl:apply-templates>
|
7478
|
+
</xsl:when>
|
7479
|
+
<xsl:otherwise>
|
7480
|
+
<xsl:apply-templates select="."> <!-- following-sibling::*[local-name()='dd'][1] -->
|
7481
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
7482
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
7483
|
+
</xsl:apply-templates>
|
7484
|
+
</xsl:otherwise>
|
7485
|
+
|
7486
|
+
</xsl:choose>
|
7487
|
+
|
7488
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
7489
|
+
|
7490
|
+
</fo:block>
|
7491
|
+
</fo:table-cell>
|
6691
7492
|
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
|
6692
7493
|
<xsl:apply-templates/>
|
6693
7494
|
</xsl:template><xsl:template match="*[local-name()='dd']">
|
6694
7495
|
<xsl:param name="process">false</xsl:param>
|
7496
|
+
<xsl:param name="split_keep-within-line"/>
|
6695
7497
|
<xsl:if test="$process = 'true'">
|
6696
7498
|
<xsl:apply-templates select="@language"/>
|
6697
|
-
<xsl:apply-templates
|
7499
|
+
<xsl:apply-templates>
|
7500
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
7501
|
+
</xsl:apply-templates>
|
6698
7502
|
</xsl:if>
|
6699
7503
|
</xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
|
6700
7504
|
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
6701
|
-
</xsl:template><xsl:template match="*[local-name()='
|
7505
|
+
</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl_if">
|
7506
|
+
<xsl:param name="id"/>
|
7507
|
+
<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
|
7508
|
+
<tr>
|
7509
|
+
<td>
|
7510
|
+
<xsl:copy-of select="node()"/>
|
7511
|
+
</td>
|
7512
|
+
<td>
|
7513
|
+
|
7514
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
|
7515
|
+
|
7516
|
+
<!-- get paragraphs from nested 'dl' -->
|
7517
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
|
7518
|
+
|
7519
|
+
|
7520
|
+
</td>
|
7521
|
+
</tr>
|
7522
|
+
|
7523
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
|
7524
|
+
<xsl:for-each select="*[local-name() = 'dt']">
|
7525
|
+
<p>
|
7526
|
+
<xsl:copy-of select="node()"/>
|
7527
|
+
<xsl:text> </xsl:text>
|
7528
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'p']/node()"/>
|
7529
|
+
</p>
|
7530
|
+
</xsl:for-each>
|
7531
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if_nested"/><xsl:template match="*[local-name()='em']">
|
6702
7532
|
<fo:inline font-style="italic">
|
6703
7533
|
<xsl:apply-templates/>
|
6704
7534
|
</fo:inline>
|
6705
7535
|
</xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
|
7536
|
+
<xsl:param name="split_keep-within-line"/>
|
6706
7537
|
<fo:inline font-weight="bold">
|
6707
7538
|
|
6708
|
-
<xsl:apply-templates
|
7539
|
+
<xsl:apply-templates>
|
7540
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
7541
|
+
</xsl:apply-templates>
|
6709
7542
|
</fo:inline>
|
6710
7543
|
</xsl:template><xsl:template match="*[local-name()='padding']">
|
6711
7544
|
<fo:inline padding-right="{@value}"> </fo:inline>
|
@@ -6726,7 +7559,7 @@
|
|
6726
7559
|
|
6727
7560
|
|
6728
7561
|
|
6729
|
-
|
7562
|
+
<!-- 10 -->
|
6730
7563
|
|
6731
7564
|
|
6732
7565
|
|
@@ -6906,6 +7739,10 @@
|
|
6906
7739
|
<xsl:param name="text"/>
|
6907
7740
|
<xsl:param name="separator" select="' '"/>
|
6908
7741
|
<xsl:choose>
|
7742
|
+
|
7743
|
+
<xsl:when test="$isGenerateTableIF = 'true' and not(contains($text, $separator))">
|
7744
|
+
<word><xsl:value-of select="normalize-space($text)"/></word>
|
7745
|
+
</xsl:when>
|
6909
7746
|
<xsl:when test="not(contains($text, $separator))">
|
6910
7747
|
<word>
|
6911
7748
|
<xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
|
@@ -6950,13 +7787,66 @@
|
|
6950
7787
|
</xsl:when>
|
6951
7788
|
<xsl:otherwise>
|
6952
7789
|
<word>
|
6953
|
-
<xsl:
|
7790
|
+
<xsl:variable name="word" select="normalize-space(substring-before($text, $separator))"/>
|
7791
|
+
<xsl:choose>
|
7792
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
7793
|
+
<xsl:value-of select="$word"/>
|
7794
|
+
</xsl:when>
|
7795
|
+
<xsl:otherwise>
|
7796
|
+
<xsl:value-of select="string-length($word)"/>
|
7797
|
+
</xsl:otherwise>
|
7798
|
+
</xsl:choose>
|
6954
7799
|
</word>
|
6955
7800
|
<xsl:call-template name="tokenize">
|
6956
7801
|
<xsl:with-param name="text" select="substring-after($text, $separator)"/>
|
6957
7802
|
</xsl:call-template>
|
6958
7803
|
</xsl:otherwise>
|
6959
7804
|
</xsl:choose>
|
7805
|
+
</xsl:template><xsl:template name="tokenize_with_tags">
|
7806
|
+
<xsl:param name="tags"/>
|
7807
|
+
<xsl:param name="text"/>
|
7808
|
+
<xsl:param name="separator" select="' '"/>
|
7809
|
+
<xsl:choose>
|
7810
|
+
|
7811
|
+
<xsl:when test="not(contains($text, $separator))">
|
7812
|
+
<word>
|
7813
|
+
<xsl:call-template name="enclose_text_in_tags">
|
7814
|
+
<xsl:with-param name="text" select="normalize-space($text)"/>
|
7815
|
+
<xsl:with-param name="tags" select="$tags"/>
|
7816
|
+
</xsl:call-template>
|
7817
|
+
</word>
|
7818
|
+
</xsl:when>
|
7819
|
+
<xsl:otherwise>
|
7820
|
+
<word>
|
7821
|
+
<xsl:call-template name="enclose_text_in_tags">
|
7822
|
+
<xsl:with-param name="text" select="normalize-space(substring-before($text, $separator))"/>
|
7823
|
+
<xsl:with-param name="tags" select="$tags"/>
|
7824
|
+
</xsl:call-template>
|
7825
|
+
</word>
|
7826
|
+
<xsl:call-template name="tokenize_with_tags">
|
7827
|
+
<xsl:with-param name="text" select="substring-after($text, $separator)"/>
|
7828
|
+
</xsl:call-template>
|
7829
|
+
</xsl:otherwise>
|
7830
|
+
</xsl:choose>
|
7831
|
+
</xsl:template><xsl:template name="enclose_text_in_tags">
|
7832
|
+
<xsl:param name="text"/>
|
7833
|
+
<xsl:param name="tags"/>
|
7834
|
+
<xsl:param name="num">1</xsl:param> <!-- default (start) value -->
|
7835
|
+
|
7836
|
+
<xsl:variable name="tag_name" select="normalize-space(xalan:nodeset($tags)//tag[$num])"/>
|
7837
|
+
|
7838
|
+
<xsl:choose>
|
7839
|
+
<xsl:when test="$tag_name = ''"><xsl:value-of select="$text"/></xsl:when>
|
7840
|
+
<xsl:otherwise>
|
7841
|
+
<xsl:element name="{$tag_name}">
|
7842
|
+
<xsl:call-template name="enclose_text_in_tags">
|
7843
|
+
<xsl:with-param name="text" select="$text"/>
|
7844
|
+
<xsl:with-param name="tags" select="$tags"/>
|
7845
|
+
<xsl:with-param name="num" select="$num + 1"/>
|
7846
|
+
</xsl:call-template>
|
7847
|
+
</xsl:element>
|
7848
|
+
</xsl:otherwise>
|
7849
|
+
</xsl:choose>
|
6960
7850
|
</xsl:template><xsl:template name="max_length">
|
6961
7851
|
<xsl:param name="words"/>
|
6962
7852
|
<xsl:for-each select="$words//word">
|
@@ -7057,12 +7947,19 @@
|
|
7057
7947
|
</xsl:otherwise>
|
7058
7948
|
</xsl:choose>
|
7059
7949
|
</xsl:template><xsl:template name="getSimpleTable">
|
7950
|
+
<xsl:param name="id"/>
|
7951
|
+
|
7060
7952
|
<xsl:variable name="simple-table">
|
7061
7953
|
|
7954
|
+
<!-- Step 0. replace <br/> to <p>...</p> -->
|
7955
|
+
<xsl:variable name="table_without_br">
|
7956
|
+
<xsl:apply-templates mode="table-without-br"/>
|
7957
|
+
</xsl:variable>
|
7958
|
+
|
7062
7959
|
<!-- Step 1. colspan processing -->
|
7063
7960
|
<xsl:variable name="simple-table-colspan">
|
7064
7961
|
<tbody>
|
7065
|
-
<xsl:apply-templates mode="simple-table-colspan"/>
|
7962
|
+
<xsl:apply-templates select="xalan:nodeset($table_without_br)" mode="simple-table-colspan"/>
|
7066
7963
|
</tbody>
|
7067
7964
|
</xsl:variable>
|
7068
7965
|
|
@@ -7071,10 +7968,67 @@
|
|
7071
7968
|
<xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
|
7072
7969
|
</xsl:variable>
|
7073
7970
|
|
7074
|
-
|
7075
|
-
|
7971
|
+
<!-- Step 3: add id to each cell -->
|
7972
|
+
<!-- add <word>...</word> for each word, image, math -->
|
7973
|
+
<xsl:variable name="simple-table-id">
|
7974
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table-rowspan)" mode="simple-table-id">
|
7975
|
+
<xsl:with-param name="id" select="$id"/>
|
7976
|
+
</xsl:apply-templates>
|
7977
|
+
</xsl:variable>
|
7978
|
+
|
7979
|
+
<xsl:copy-of select="xalan:nodeset($simple-table-id)"/>
|
7980
|
+
|
7076
7981
|
</xsl:variable>
|
7077
7982
|
<xsl:copy-of select="$simple-table"/>
|
7983
|
+
</xsl:template><xsl:template match="@*|node()" mode="table-without-br">
|
7984
|
+
<xsl:copy>
|
7985
|
+
<xsl:apply-templates select="@*|node()" mode="table-without-br"/>
|
7986
|
+
</xsl:copy>
|
7987
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p'])]" mode="table-without-br">
|
7988
|
+
<xsl:copy>
|
7989
|
+
<xsl:copy-of select="@*"/>
|
7990
|
+
<p>
|
7991
|
+
<xsl:copy-of select="node()"/>
|
7992
|
+
</p>
|
7993
|
+
</xsl:copy>
|
7994
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td'][*[local-name()='br']]" mode="table-without-br">
|
7995
|
+
<xsl:copy>
|
7996
|
+
<xsl:copy-of select="@*"/>
|
7997
|
+
<xsl:for-each select="*[local-name()='br']">
|
7998
|
+
<xsl:variable name="current_id" select="generate-id()"/>
|
7999
|
+
<p>
|
8000
|
+
<xsl:for-each select="preceding-sibling::node()[following-sibling::*[local-name() = 'br'][1][generate-id() = $current_id]][not(local-name() = 'br')]">
|
8001
|
+
<xsl:copy-of select="."/>
|
8002
|
+
</xsl:for-each>
|
8003
|
+
</p>
|
8004
|
+
<xsl:if test="not(following-sibling::*[local-name() = 'br'])">
|
8005
|
+
<p>
|
8006
|
+
<xsl:for-each select="following-sibling::node()">
|
8007
|
+
<xsl:copy-of select="."/>
|
8008
|
+
</xsl:for-each>
|
8009
|
+
</p>
|
8010
|
+
</xsl:if>
|
8011
|
+
</xsl:for-each>
|
8012
|
+
</xsl:copy>
|
8013
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'p'][*[local-name()='br']]" mode="table-without-br">
|
8014
|
+
<xsl:for-each select="*[local-name()='br']">
|
8015
|
+
<xsl:variable name="current_id" select="generate-id()"/>
|
8016
|
+
<p>
|
8017
|
+
<xsl:for-each select="preceding-sibling::node()[following-sibling::*[local-name() = 'br'][1][generate-id() = $current_id]][not(local-name() = 'br')]">
|
8018
|
+
<xsl:copy-of select="."/>
|
8019
|
+
</xsl:for-each>
|
8020
|
+
</p>
|
8021
|
+
<xsl:if test="not(following-sibling::*[local-name() = 'br'])">
|
8022
|
+
<p>
|
8023
|
+
<xsl:for-each select="following-sibling::node()">
|
8024
|
+
<xsl:copy-of select="."/>
|
8025
|
+
</xsl:for-each>
|
8026
|
+
</p>
|
8027
|
+
</xsl:if>
|
8028
|
+
</xsl:for-each>
|
8029
|
+
</xsl:template><xsl:template match="text()[not(ancestor::*[local-name() = 'sourcecode'])]" mode="table-without-br">
|
8030
|
+
<xsl:variable name="text" select="translate(.,'	 ','')"/>
|
8031
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),' {2,}',' ')"/>
|
7078
8032
|
</xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
|
7079
8033
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
7080
8034
|
</xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
|
@@ -7164,6 +8118,126 @@
|
|
7164
8118
|
<xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
|
7165
8119
|
<xsl:with-param name="previousRow" select="$newRow"/>
|
7166
8120
|
</xsl:apply-templates>
|
8121
|
+
</xsl:template><xsl:template match="/" mode="simple-table-id">
|
8122
|
+
<xsl:param name="id"/>
|
8123
|
+
<xsl:variable name="id_prefixed" select="concat('table_if_',$id)"/> <!-- table id prefixed by 'table_if_' to simple search in IF -->
|
8124
|
+
<xsl:apply-templates select="@*|node()" mode="simple-table-id">
|
8125
|
+
<xsl:with-param name="id" select="$id_prefixed"/>
|
8126
|
+
</xsl:apply-templates>
|
8127
|
+
</xsl:template><xsl:template match="@*|node()" mode="simple-table-id">
|
8128
|
+
<xsl:param name="id"/>
|
8129
|
+
<xsl:copy>
|
8130
|
+
<xsl:apply-templates select="@*|node()" mode="simple-table-id">
|
8131
|
+
<xsl:with-param name="id" select="$id"/>
|
8132
|
+
</xsl:apply-templates>
|
8133
|
+
</xsl:copy>
|
8134
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']" mode="simple-table-id">
|
8135
|
+
<xsl:param name="id"/>
|
8136
|
+
<xsl:copy>
|
8137
|
+
<xsl:copy-of select="@*"/>
|
8138
|
+
<xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
|
8139
|
+
<xsl:apply-templates select="node()" mode="simple-table-id">
|
8140
|
+
<xsl:with-param name="id" select="$id"/>
|
8141
|
+
</xsl:apply-templates>
|
8142
|
+
</xsl:copy>
|
8143
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
|
8144
|
+
<xsl:param name="id"/>
|
8145
|
+
<xsl:copy>
|
8146
|
+
<xsl:copy-of select="@*"/>
|
8147
|
+
<xsl:variable name="row_number" select="count(../preceding-sibling::*) + 1"/>
|
8148
|
+
<xsl:variable name="col_number" select="count(preceding-sibling::*) + 1"/>
|
8149
|
+
<xsl:attribute name="id">
|
8150
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number)"/>
|
8151
|
+
</xsl:attribute>
|
8152
|
+
|
8153
|
+
<xsl:for-each select="*[local-name() = 'p']">
|
8154
|
+
<xsl:copy>
|
8155
|
+
<xsl:copy-of select="@*"/>
|
8156
|
+
<xsl:variable name="p_num" select="count(preceding-sibling::*[local-name() = 'p']) + 1"/>
|
8157
|
+
<xsl:attribute name="id">
|
8158
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_p_',$p_num)"/>
|
8159
|
+
</xsl:attribute>
|
8160
|
+
|
8161
|
+
<xsl:copy-of select="node()"/>
|
8162
|
+
</xsl:copy>
|
8163
|
+
</xsl:for-each>
|
8164
|
+
|
8165
|
+
|
8166
|
+
<xsl:if test="$isGenerateTableIF = 'true'"> <!-- split each paragraph to words, image, math -->
|
8167
|
+
|
8168
|
+
<xsl:variable name="td_text">
|
8169
|
+
<xsl:apply-templates select="." mode="td_text_with_formatting"/>
|
8170
|
+
</xsl:variable>
|
8171
|
+
|
8172
|
+
<!-- td_text='<xsl:copy-of select="$td_text"/>' -->
|
8173
|
+
|
8174
|
+
<xsl:variable name="words">
|
8175
|
+
<xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
|
8176
|
+
<word>
|
8177
|
+
<xsl:copy-of select="."/>
|
8178
|
+
</word>
|
8179
|
+
</xsl:for-each>
|
8180
|
+
|
8181
|
+
<xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
|
8182
|
+
<xsl:copy-of select="."/>
|
8183
|
+
</xsl:for-each>
|
8184
|
+
|
8185
|
+
</xsl:variable>
|
8186
|
+
|
8187
|
+
<xsl:for-each select="xalan:nodeset($words)/word">
|
8188
|
+
<xsl:variable name="num" select="count(preceding-sibling::word) + 1"/>
|
8189
|
+
<xsl:copy>
|
8190
|
+
<xsl:attribute name="id">
|
8191
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_word_',$num)"/>
|
8192
|
+
</xsl:attribute>
|
8193
|
+
<xsl:copy-of select="node()"/>
|
8194
|
+
</xsl:copy>
|
8195
|
+
</xsl:for-each>
|
8196
|
+
</xsl:if>
|
8197
|
+
</xsl:copy>
|
8198
|
+
|
8199
|
+
</xsl:template><xsl:template match="@*|node()" mode="td_text_with_formatting">
|
8200
|
+
<xsl:copy>
|
8201
|
+
<xsl:apply-templates select="@*|node()" mode="td_text_with_formatting"/>
|
8202
|
+
</xsl:copy>
|
8203
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem' or local-name() = 'image']" mode="td_text_with_formatting"/><xsl:template match="*[local-name() = 'keep-together_within-line']/text()" mode="td_text_with_formatting">
|
8204
|
+
<xsl:variable name="formatting_tags">
|
8205
|
+
<xsl:call-template name="getFormattingTags"/>
|
8206
|
+
</xsl:variable>
|
8207
|
+
<word>
|
8208
|
+
<xsl:call-template name="enclose_text_in_tags">
|
8209
|
+
<xsl:with-param name="text" select="normalize-space(.)"/>
|
8210
|
+
<xsl:with-param name="tags" select="$formatting_tags"/>
|
8211
|
+
</xsl:call-template>
|
8212
|
+
</word>
|
8213
|
+
</xsl:template><xsl:template match="*[local-name() != 'keep-together_within-line']/text()" mode="td_text_with_formatting">
|
8214
|
+
|
8215
|
+
<xsl:variable name="td_text" select="."/>
|
8216
|
+
|
8217
|
+
<xsl:variable name="string_with_added_zerospaces">
|
8218
|
+
<xsl:call-template name="add-zero-spaces-java">
|
8219
|
+
<xsl:with-param name="text" select="$td_text"/>
|
8220
|
+
</xsl:call-template>
|
8221
|
+
</xsl:variable>
|
8222
|
+
|
8223
|
+
<xsl:variable name="formatting_tags">
|
8224
|
+
<xsl:call-template name="getFormattingTags"/>
|
8225
|
+
</xsl:variable>
|
8226
|
+
|
8227
|
+
<!-- <word>text</word> -->
|
8228
|
+
<xsl:call-template name="tokenize_with_tags">
|
8229
|
+
<xsl:with-param name="tags" select="$formatting_tags"/>
|
8230
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
8231
|
+
</xsl:call-template>
|
8232
|
+
</xsl:template><xsl:template name="getFormattingTags">
|
8233
|
+
<tags>
|
8234
|
+
<xsl:if test="ancestor::*[local-name() = 'strong']"><tag>strong</tag></xsl:if>
|
8235
|
+
<xsl:if test="ancestor::*[local-name() = 'em']"><tag>em</tag></xsl:if>
|
8236
|
+
<xsl:if test="ancestor::*[local-name() = 'sub']"><tag>sub</tag></xsl:if>
|
8237
|
+
<xsl:if test="ancestor::*[local-name() = 'sup']"><tag>sup</tag></xsl:if>
|
8238
|
+
<xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
|
8239
|
+
<xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
|
8240
|
+
</tags>
|
7167
8241
|
</xsl:template><xsl:template name="getLang">
|
7168
8242
|
<xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
7169
8243
|
<xsl:variable name="language">
|
@@ -7392,6 +8466,11 @@
|
|
7392
8466
|
</xsl:variable>
|
7393
8467
|
<fo:inline xsl:use-attribute-sets="link-style">
|
7394
8468
|
|
8469
|
+
<xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
|
8470
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
8471
|
+
</xsl:if>
|
8472
|
+
|
8473
|
+
|
7395
8474
|
|
7396
8475
|
|
7397
8476
|
|
@@ -7668,7 +8747,19 @@
|
|
7668
8747
|
<xsl:value-of select="$suffix"/>
|
7669
8748
|
</xsl:if>
|
7670
8749
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
|
7671
|
-
<
|
8750
|
+
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
8751
|
+
<xsl:choose>
|
8752
|
+
<xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
|
8753
|
+
<fo:inline xsl:use-attribute-sets="termnote-p-style">
|
8754
|
+
<xsl:apply-templates/>
|
8755
|
+
</fo:inline>
|
8756
|
+
</xsl:when>
|
8757
|
+
<xsl:otherwise>
|
8758
|
+
<fo:block xsl:use-attribute-sets="termnote-p-style">
|
8759
|
+
<xsl:apply-templates/>
|
8760
|
+
</fo:block>
|
8761
|
+
</xsl:otherwise>
|
8762
|
+
</xsl:choose>
|
7672
8763
|
</xsl:template><xsl:template match="*[local-name() = 'terms']">
|
7673
8764
|
<!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
|
7674
8765
|
<fo:block id="{@id}">
|
@@ -8503,7 +9594,7 @@
|
|
8503
9594
|
</xsl:choose>
|
8504
9595
|
</xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'xref']" mode="contents">
|
8505
9596
|
<xsl:value-of select="."/>
|
8506
|
-
</xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
9597
|
+
</xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
8507
9598
|
<xsl:text> </xsl:text>
|
8508
9599
|
</xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
|
8509
9600
|
<xsl:copy>
|
@@ -8574,7 +9665,7 @@
|
|
8574
9665
|
|
8575
9666
|
|
8576
9667
|
|
8577
|
-
|
9668
|
+
<!-- 9 -->
|
8578
9669
|
|
8579
9670
|
|
8580
9671
|
|
@@ -8658,7 +9749,7 @@
|
|
8658
9749
|
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
8659
9750
|
<xsl:choose>
|
8660
9751
|
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
8661
|
-
<xsl:call-template name="interspers">
|
9752
|
+
<xsl:call-template name="interspers-java">
|
8662
9753
|
<xsl:with-param name="str" select="."/>
|
8663
9754
|
</xsl:call-template>
|
8664
9755
|
</xsl:when>
|
@@ -8708,6 +9799,10 @@
|
|
8708
9799
|
<xsl:with-param name="char" select="$char"/>
|
8709
9800
|
</xsl:call-template>
|
8710
9801
|
</xsl:if>
|
9802
|
+
</xsl:template><xsl:template name="interspers-java">
|
9803
|
+
<xsl:param name="str"/>
|
9804
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
9805
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($str),'([^ -.:=_—])',concat('$1', $char))"/> <!-- insert $char after each char excep space, - . : = _ etc. -->
|
8711
9806
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
8712
9807
|
<xsl:apply-templates mode="syntax_highlight"/>
|
8713
9808
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -8920,7 +10015,9 @@
|
|
8920
10015
|
<!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
|
8921
10016
|
</xsl:if>
|
8922
10017
|
<xsl:variable name="simple-table">
|
8923
|
-
<xsl:call-template name="getSimpleTable"
|
10018
|
+
<xsl:call-template name="getSimpleTable">
|
10019
|
+
<xsl:with-param name="id" select="@id"/>
|
10020
|
+
</xsl:call-template>
|
8924
10021
|
</xsl:variable>
|
8925
10022
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
8926
10023
|
<xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
|
@@ -9356,6 +10453,7 @@
|
|
9356
10453
|
|
9357
10454
|
|
9358
10455
|
|
10456
|
+
|
9359
10457
|
<xsl:choose>
|
9360
10458
|
<xsl:when test="ancestor::bipm:annex">2</xsl:when>
|
9361
10459
|
<xsl:otherwise>8</xsl:otherwise>
|
@@ -9664,6 +10762,11 @@
|
|
9664
10762
|
</xsl:otherwise>
|
9665
10763
|
</xsl:choose>
|
9666
10764
|
</xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
|
10765
|
+
|
10766
|
+
<xsl:apply-templates select="*[local-name() = 'name']">
|
10767
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
10768
|
+
</xsl:apply-templates>
|
10769
|
+
|
9667
10770
|
<fo:list-block xsl:use-attribute-sets="list-style">
|
9668
10771
|
|
9669
10772
|
|
@@ -9674,12 +10777,23 @@
|
|
9674
10777
|
|
9675
10778
|
|
9676
10779
|
|
10780
|
+
<xsl:if test="*[local-name() = 'name']">
|
10781
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
10782
|
+
</xsl:if>
|
10783
|
+
|
9677
10784
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
9678
10785
|
</fo:list-block>
|
9679
10786
|
<!-- <xsl:for-each select="./iho:note">
|
9680
10787
|
<xsl:call-template name="note"/>
|
9681
10788
|
</xsl:for-each> -->
|
9682
10789
|
<xsl:apply-templates select="./*[local-name() = 'note']"/>
|
10790
|
+
</xsl:template><xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
|
10791
|
+
<xsl:param name="process">false</xsl:param>
|
10792
|
+
<xsl:if test="$process = 'true'">
|
10793
|
+
<fo:block xsl:use-attribute-sets="list-name-style">
|
10794
|
+
<xsl:apply-templates/>
|
10795
|
+
</fo:block>
|
10796
|
+
</xsl:if>
|
9683
10797
|
</xsl:template><xsl:template match="*[local-name()='li']">
|
9684
10798
|
<fo:list-item xsl:use-attribute-sets="list-item-style">
|
9685
10799
|
<xsl:copy-of select="@id"/>
|
@@ -9879,7 +10993,7 @@
|
|
9879
10993
|
<!-- <fo:inline id="{@id}" font-size="1pt"/> -->
|
9880
10994
|
<fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
|
9881
10995
|
<!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
|
9882
|
-
<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"> </xsl:if>
|
10996
|
+
<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
|
9883
10997
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
9884
10998
|
<!-- <row>
|
9885
10999
|
<date>05-07-2013</date>
|
@@ -9951,6 +11065,7 @@
|
|
9951
11065
|
</xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
|
9952
11066
|
|
9953
11067
|
|
11068
|
+
<!-- start BIPM bibitem processing -->
|
9954
11069
|
<fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
|
9955
11070
|
<fo:list-item>
|
9956
11071
|
<fo:list-item-label end-indent="label-end()">
|
@@ -9963,7 +11078,7 @@
|
|
9963
11078
|
<xsl:value-of select="bipm:docidentifier[@type='metanorma']"/>
|
9964
11079
|
</xsl:when>
|
9965
11080
|
<xsl:otherwise>
|
9966
|
-
<xsl:number format="[1]"/>
|
11081
|
+
<xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
|
9967
11082
|
</xsl:otherwise>
|
9968
11083
|
</xsl:choose>
|
9969
11084
|
</xsl:if>
|
@@ -9977,6 +11092,7 @@
|
|
9977
11092
|
</fo:list-item-body>
|
9978
11093
|
</fo:list-item>
|
9979
11094
|
</fo:list-block>
|
11095
|
+
<!-- END BIPM bibitem processing -->
|
9980
11096
|
|
9981
11097
|
|
9982
11098
|
</xsl:template><xsl:template name="processBibitem">
|
@@ -9986,32 +11102,12 @@
|
|
9986
11102
|
<xsl:if test=".//bipm:fn">
|
9987
11103
|
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
9988
11104
|
</xsl:if>
|
9989
|
-
|
9990
|
-
|
9991
|
-
|
9992
|
-
|
9993
|
-
|
9994
|
-
|
9995
|
-
|
9996
|
-
<xsl:value-of select="$docidentifier"/>
|
9997
|
-
<xsl:if test="$docidentifier != '' and *[local-name() = 'title']">, </xsl:if>
|
9998
|
-
|
9999
|
-
<xsl:variable name="curr_lang" select="ancestor::bipm:bipm-standard/bipm:bibdata/bipm:language"/>
|
10000
|
-
|
10001
|
-
<xsl:choose>
|
10002
|
-
<xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = $curr_lang]">
|
10003
|
-
<xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = $curr_lang]"/>
|
10004
|
-
</xsl:when>
|
10005
|
-
<xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
|
10006
|
-
<xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
|
10007
|
-
</xsl:when>
|
10008
|
-
<xsl:otherwise>
|
10009
|
-
<xsl:apply-templates select="*[local-name() = 'title']"/>
|
10010
|
-
</xsl:otherwise>
|
10011
|
-
</xsl:choose>
|
10012
|
-
|
10013
|
-
</xsl:otherwise>
|
10014
|
-
</xsl:choose>
|
11105
|
+
|
11106
|
+
<xsl:variable name="docidentifier" select="*[local-name() = 'docidentifier'][not(@type = 'URN' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'BIPM' or @type = 'ISBN' or @type = 'ISSN')]"/>
|
11107
|
+
<xsl:value-of select="$docidentifier"/>
|
11108
|
+
|
11109
|
+
<xsl:if test="$docidentifier != '' and *[local-name() = 'formattedref']">, </xsl:if>
|
11110
|
+
<xsl:apply-templates select="*[local-name() = 'formattedref']"/>
|
10015
11111
|
<!-- end BIPM bibitem processing-->
|
10016
11112
|
|
10017
11113
|
</xsl:template><xsl:template name="processBibitemDocId">
|
@@ -10321,12 +11417,16 @@
|
|
10321
11417
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
|
10322
11418
|
|
10323
11419
|
|
11420
|
+
|
11421
|
+
|
10324
11422
|
|
10325
11423
|
|
10326
11424
|
|
10327
11425
|
<fo:block-container xsl:use-attribute-sets="admonition-container-style">
|
10328
11426
|
|
10329
11427
|
|
11428
|
+
|
11429
|
+
|
10330
11430
|
<fo:block xsl:use-attribute-sets="admonition-name-style">
|
10331
11431
|
<xsl:call-template name="displayAdmonitionName"/>
|
10332
11432
|
</fo:block>
|
@@ -10339,25 +11439,32 @@
|
|
10339
11439
|
</fo:block-container>
|
10340
11440
|
|
10341
11441
|
</xsl:template><xsl:template name="displayAdmonitionName">
|
10342
|
-
|
11442
|
+
<xsl:param name="sep"/> <!-- Example: ' - ' -->
|
11443
|
+
<!-- <xsl:choose>
|
11444
|
+
<xsl:when test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
11445
|
+
<xsl:choose>
|
11446
|
+
<xsl:when test="@type='important'"><xsl:apply-templates select="@type"/></xsl:when>
|
11447
|
+
<xsl:otherwise>
|
11448
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
11449
|
+
</xsl:otherwise>
|
11450
|
+
</xsl:choose>
|
11451
|
+
</xsl:when>
|
11452
|
+
<xsl:otherwise>
|
10343
11453
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
10344
11454
|
<xsl:if test="not(*[local-name() = 'name'])">
|
10345
11455
|
<xsl:apply-templates select="@type"/>
|
10346
11456
|
</xsl:if>
|
10347
|
-
|
10348
|
-
|
10349
|
-
<xsl:
|
10350
|
-
|
10351
|
-
<xsl:variable name="admonition_type_">
|
10352
|
-
<xsl:call-template name="getLocalizedString">
|
10353
|
-
<xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
|
10354
|
-
</xsl:call-template>
|
11457
|
+
</xsl:otherwise>
|
11458
|
+
</xsl:choose> -->
|
11459
|
+
<xsl:variable name="name">
|
11460
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
10355
11461
|
</xsl:variable>
|
10356
|
-
<xsl:
|
10357
|
-
<xsl:
|
10358
|
-
|
10359
|
-
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
|
11462
|
+
<xsl:copy-of select="$name"/>
|
11463
|
+
<xsl:if test="normalize-space($name) != ''">
|
11464
|
+
<xsl:value-of select="$sep"/>
|
10360
11465
|
</xsl:if>
|
11466
|
+
</xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
|
11467
|
+
<xsl:apply-templates/>
|
10361
11468
|
</xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
|
10362
11469
|
|
10363
11470
|
<fo:block xsl:use-attribute-sets="admonition-p-style">
|
@@ -10528,6 +11635,8 @@
|
|
10528
11635
|
</xsl:when>
|
10529
11636
|
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
10530
11637
|
</xsl:choose>
|
11638
|
+
</xsl:template><xsl:template match="*[local-name() = 'lang_none']">
|
11639
|
+
<fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
|
10531
11640
|
</xsl:template><xsl:template name="printEdition">
|
10532
11641
|
<xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
|
10533
11642
|
<xsl:text> </xsl:text>
|
@@ -10634,6 +11743,27 @@
|
|
10634
11743
|
</xsl:when>
|
10635
11744
|
<xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
|
10636
11745
|
</xsl:choose>
|
11746
|
+
</xsl:template><xsl:template name="getMonthLocalizedByNum">
|
11747
|
+
<xsl:param name="num"/>
|
11748
|
+
<xsl:variable name="monthStr">
|
11749
|
+
<xsl:choose>
|
11750
|
+
<xsl:when test="$num = '01'">january</xsl:when>
|
11751
|
+
<xsl:when test="$num = '02'">february</xsl:when>
|
11752
|
+
<xsl:when test="$num = '03'">march</xsl:when>
|
11753
|
+
<xsl:when test="$num = '04'">april</xsl:when>
|
11754
|
+
<xsl:when test="$num = '05'">may</xsl:when>
|
11755
|
+
<xsl:when test="$num = '06'">june</xsl:when>
|
11756
|
+
<xsl:when test="$num = '07'">july</xsl:when>
|
11757
|
+
<xsl:when test="$num = '08'">august</xsl:when>
|
11758
|
+
<xsl:when test="$num = '09'">september</xsl:when>
|
11759
|
+
<xsl:when test="$num = '10'">october</xsl:when>
|
11760
|
+
<xsl:when test="$num = '11'">november</xsl:when>
|
11761
|
+
<xsl:when test="$num = '12'">december</xsl:when>
|
11762
|
+
</xsl:choose>
|
11763
|
+
</xsl:variable>
|
11764
|
+
<xsl:call-template name="getLocalizedString">
|
11765
|
+
<xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
|
11766
|
+
</xsl:call-template>
|
10637
11767
|
</xsl:template><xsl:template name="insertKeywords">
|
10638
11768
|
<xsl:param name="sorting" select="'true'"/>
|
10639
11769
|
<xsl:param name="charAtEnd" select="'.'"/>
|
@@ -10833,6 +11963,7 @@
|
|
10833
11963
|
|
10834
11964
|
|
10835
11965
|
|
11966
|
+
|
10836
11967
|
|
10837
11968
|
|
10838
11969
|
|
@@ -11240,4 +12371,40 @@
|
|
11240
12371
|
<xsl:value-of select="$value"/>
|
11241
12372
|
</xsl:otherwise>
|
11242
12373
|
</xsl:choose>
|
12374
|
+
</xsl:template><xsl:template match="*" mode="print_as_xml">
|
12375
|
+
<xsl:param name="level">0</xsl:param>
|
12376
|
+
|
12377
|
+
<fo:block margin-left="{2*$level}mm">
|
12378
|
+
<xsl:text>
|
12379
|
+
<</xsl:text>
|
12380
|
+
<xsl:value-of select="local-name()"/>
|
12381
|
+
<xsl:for-each select="@*">
|
12382
|
+
<xsl:text> </xsl:text>
|
12383
|
+
<xsl:value-of select="local-name()"/>
|
12384
|
+
<xsl:text>="</xsl:text>
|
12385
|
+
<xsl:value-of select="."/>
|
12386
|
+
<xsl:text>"</xsl:text>
|
12387
|
+
</xsl:for-each>
|
12388
|
+
<xsl:text>></xsl:text>
|
12389
|
+
|
12390
|
+
<xsl:if test="not(*)">
|
12391
|
+
<fo:inline font-weight="bold"><xsl:value-of select="."/></fo:inline>
|
12392
|
+
<xsl:text></</xsl:text>
|
12393
|
+
<xsl:value-of select="local-name()"/>
|
12394
|
+
<xsl:text>></xsl:text>
|
12395
|
+
</xsl:if>
|
12396
|
+
</fo:block>
|
12397
|
+
|
12398
|
+
<xsl:if test="*">
|
12399
|
+
<fo:block>
|
12400
|
+
<xsl:apply-templates mode="print_as_xml">
|
12401
|
+
<xsl:with-param name="level" select="$level + 1"/>
|
12402
|
+
</xsl:apply-templates>
|
12403
|
+
</fo:block>
|
12404
|
+
<fo:block margin-left="{2*$level}mm">
|
12405
|
+
<xsl:text></</xsl:text>
|
12406
|
+
<xsl:value-of select="local-name()"/>
|
12407
|
+
<xsl:text>></xsl:text>
|
12408
|
+
</fo:block>
|
12409
|
+
</xsl:if>
|
11243
12410
|
</xsl:template></xsl:stylesheet>
|