metanorma-jis 0.2.10 → 0.2.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/jis/jis.international-standard.xsl +415 -146
- data/lib/metanorma/jis/version.rb +1 -1
- data/metanorma-jis.gemspec +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fd45b34656e8ad9ca11060ef7bd5de64e5d8140f56122d65a9b1a2c211d9f2f
|
4
|
+
data.tar.gz: f98c49a2d90f36fb4f9b408e2ce48f9d34c83c28ddc8e265746458bfa54b1ae2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 338dac9a6839cf63f0b97c1d5d3d571ef230a73da1622f0fd2fb5cc54d7d799de9566dc31d9b3786a584499f55e58ddd40f2ee2344cfea89fe1772054b388a3e
|
7
|
+
data.tar.gz: 4cc95fc4ffc266b99695f45ae325645fdf176a0aab739dc2f60db983d4d1a02659f36f2e4f8c08f3fefde9beac8fa9a553f7e5934a6fbe89a42c52473eb3ae1e
|
@@ -1619,6 +1619,8 @@
|
|
1619
1619
|
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="namespace_full" select="namespace-uri(/*)"/> <!-- example: https://www.metanorma.org/ns/iso -->
|
1620
1620
|
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="root_element" select="local-name(/*)"/> <!-- example: iso-standard -->
|
1621
1621
|
|
1622
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="document_scheme" select="normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'document-scheme']/*[local-name() = 'value'])"/>
|
1623
|
+
|
1622
1624
|
<!-- external parameters -->
|
1623
1625
|
|
1624
1626
|
<xsl:param xmlns:redirect="http://xml.apache.org/xalan/redirect" name="svg_images"/> <!-- svg images array -->
|
@@ -3296,56 +3298,9 @@
|
|
3296
3298
|
</xsl:for-each>
|
3297
3299
|
</xsl:template>
|
3298
3300
|
|
3299
|
-
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="processPrefaceSectionsDefault_items">
|
3300
|
-
|
3301
|
-
<xsl:variable name="updated_xml_step_move_pagebreak">
|
3302
|
-
|
3303
|
-
<xsl:element name="{$root_element}" namespace="{$namespace_full}">
|
3304
|
-
|
3305
|
-
<xsl:call-template name="copyCommonElements"/>
|
3306
|
-
|
3307
|
-
<xsl:element name="preface" namespace="{$namespace_full}"> <!-- save context element -->
|
3308
|
-
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3309
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3310
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
3311
|
-
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3312
|
-
</xsl:for-each>
|
3313
|
-
</xsl:element>
|
3314
|
-
</xsl:element>
|
3315
|
-
</xsl:element>
|
3316
|
-
</xsl:variable>
|
3317
|
-
|
3318
|
-
<xsl:variable name="updated_xml_step_move_pagebreak_filename" select="concat($output_path,'_preface_', java:getTime(java:java.util.Date.new()), '.xml')"/>
|
3319
|
-
<!-- <xsl:message>updated_xml_step_move_pagebreak_filename=<xsl:value-of select="$updated_xml_step_move_pagebreak_filename"/></xsl:message>
|
3320
|
-
<xsl:message>start write updated_xml_step_move_pagebreak_filename</xsl:message> -->
|
3321
|
-
<redirect:write file="{$updated_xml_step_move_pagebreak_filename}">
|
3322
|
-
<xsl:copy-of select="$updated_xml_step_move_pagebreak"/>
|
3323
|
-
</redirect:write>
|
3324
|
-
<!-- <xsl:message>end write updated_xml_step_move_pagebreak_filename</xsl:message> -->
|
3325
|
-
|
3326
|
-
<xsl:copy-of select="document($updated_xml_step_move_pagebreak_filename)"/>
|
3327
|
-
|
3328
|
-
<!-- TODO: instead of
|
3329
|
-
<xsl:for-each select=".//*[local-name() = 'page_sequence'][normalize-space() != '' or .//image or .//svg]">
|
3330
|
-
in each template, add removing empty page_sequence here
|
3331
|
-
-->
|
3332
|
-
|
3333
|
-
<xsl:if test="$debug = 'true'">
|
3334
|
-
<redirect:write file="page_sequence_preface.xml">
|
3335
|
-
<xsl:copy-of select="document($updated_xml_step_move_pagebreak_filename)"/>
|
3336
|
-
</redirect:write>
|
3337
|
-
</xsl:if>
|
3338
|
-
|
3339
|
-
<!-- <xsl:message>start delete updated_xml_step_move_pagebreak_filename</xsl:message> -->
|
3340
|
-
<xsl:call-template name="deleteFile">
|
3341
|
-
<xsl:with-param name="filepath" select="$updated_xml_step_move_pagebreak_filename"/>
|
3342
|
-
</xsl:call-template>
|
3343
|
-
<!-- <xsl:message>end delete updated_xml_step_move_pagebreak_filename</xsl:message> -->
|
3344
|
-
</xsl:template> <!-- END: processPrefaceSectionsDefault_items -->
|
3345
|
-
|
3346
3301
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="copyCommonElements">
|
3347
3302
|
<!-- copy bibdata, localized-strings, metanorma-extension and boilerplate -->
|
3348
|
-
<xsl:copy-of select="/*/*[local-name() != 'preface' and local-name() != 'sections' and local-name() != 'annex' and local-name() != 'bibliography']"/>
|
3303
|
+
<xsl:copy-of select="/*/*[local-name() != 'preface' and local-name() != 'sections' and local-name() != 'annex' and local-name() != 'bibliography' and local-name() != 'indexsect']"/>
|
3349
3304
|
</xsl:template>
|
3350
3305
|
|
3351
3306
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="processMainSectionsDefault">
|
@@ -3366,8 +3321,16 @@
|
|
3366
3321
|
</xsl:for-each>
|
3367
3322
|
</xsl:template><!-- END: processMainSectionsDefault -->
|
3368
3323
|
|
3369
|
-
|
3324
|
+
<!-- Example:
|
3370
3325
|
<iso-standard>
|
3326
|
+
<preface>
|
3327
|
+
<page_sequence>
|
3328
|
+
<clause...
|
3329
|
+
</page_sequence>
|
3330
|
+
<page_sequence>
|
3331
|
+
<clause...
|
3332
|
+
</page_sequence>
|
3333
|
+
</preface>
|
3371
3334
|
<sections>
|
3372
3335
|
<page_sequence>
|
3373
3336
|
<clause...
|
@@ -3384,60 +3347,200 @@
|
|
3384
3347
|
</page_sequence>
|
3385
3348
|
</iso-standard>
|
3386
3349
|
-->
|
3387
|
-
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="
|
3350
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="processPrefaceAndMainSectionsDefault_items">
|
3388
3351
|
|
3389
3352
|
<xsl:variable name="updated_xml_step_move_pagebreak">
|
3390
|
-
|
3391
3353
|
<xsl:element name="{$root_element}" namespace="{$namespace_full}">
|
3392
|
-
|
3393
3354
|
<xsl:call-template name="copyCommonElements"/>
|
3355
|
+
<xsl:call-template name="insertPrefaceSectionsPageSequences"/>
|
3356
|
+
<xsl:call-template name="insertMainSectionsPageSequences"/>
|
3357
|
+
</xsl:element>
|
3358
|
+
</xsl:variable>
|
3394
3359
|
|
3395
|
-
|
3396
|
-
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3397
|
-
<xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
|
3398
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
3399
|
-
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3360
|
+
<xsl:variable name="updated_xml_step_move_pagebreak_filename" select="concat($output_path,'_main_', java:getTime(java:java.util.Date.new()), '.xml')"/>
|
3400
3361
|
|
3401
|
-
|
3402
|
-
|
3362
|
+
<redirect:write file="{$updated_xml_step_move_pagebreak_filename}">
|
3363
|
+
<xsl:copy-of select="$updated_xml_step_move_pagebreak"/>
|
3364
|
+
</redirect:write>
|
3365
|
+
|
3366
|
+
<xsl:copy-of select="document($updated_xml_step_move_pagebreak_filename)"/>
|
3367
|
+
|
3368
|
+
<xsl:if test="$debug = 'true'">
|
3369
|
+
<redirect:write file="page_sequence_preface_and_main.xml">
|
3370
|
+
<xsl:copy-of select="$updated_xml_step_move_pagebreak"/>
|
3371
|
+
</redirect:write>
|
3372
|
+
</xsl:if>
|
3373
|
+
|
3374
|
+
<xsl:call-template name="deleteFile">
|
3375
|
+
<xsl:with-param name="filepath" select="$updated_xml_step_move_pagebreak_filename"/>
|
3376
|
+
</xsl:call-template>
|
3377
|
+
</xsl:template> <!-- END: processPrefaceAndMainSectionsDefault_items -->
|
3378
|
+
|
3379
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertPrefaceSectionsPageSequences">
|
3380
|
+
<xsl:element name="preface" namespace="{$namespace_full}"> <!-- save context element -->
|
3381
|
+
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3382
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3383
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3384
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3385
|
+
</xsl:for-each>
|
3386
|
+
</xsl:element>
|
3387
|
+
</xsl:element>
|
3388
|
+
</xsl:template> <!-- END: insertPrefaceSectionsPageSequences -->
|
3389
|
+
|
3390
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertMainSectionsPageSequences">
|
3391
|
+
<xsl:element name="sections" namespace="{$namespace_full}"> <!-- save context element -->
|
3392
|
+
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3393
|
+
<xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
|
3394
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3395
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3396
|
+
|
3397
|
+
</xsl:for-each>
|
3398
|
+
</xsl:element>
|
3399
|
+
</xsl:element>
|
3400
|
+
|
3401
|
+
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3402
|
+
<xsl:for-each select="/*/*[local-name()='annex']">
|
3403
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3404
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3405
|
+
</xsl:for-each>
|
3406
|
+
</xsl:element>
|
3407
|
+
|
3408
|
+
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3409
|
+
<xsl:element name="bibliography" namespace="{$namespace_full}"> <!-- save context element -->
|
3410
|
+
<xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
|
3411
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3412
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3413
|
+
</xsl:for-each>
|
3414
|
+
</xsl:element>
|
3415
|
+
</xsl:element>
|
3416
|
+
</xsl:template> <!-- END: insertMainSectionsPageSequences -->
|
3417
|
+
|
3418
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertMainSectionsInSeparatePageSequences">
|
3419
|
+
<xsl:element name="sections" namespace="{$namespace_full}"> <!-- save context element -->
|
3420
|
+
<xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
|
3421
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3422
|
+
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3423
|
+
<xsl:attribute name="main_page_sequence"/>
|
3424
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3403
3425
|
</xsl:element>
|
3426
|
+
</xsl:for-each>
|
3427
|
+
</xsl:element>
|
3428
|
+
|
3429
|
+
<xsl:call-template name="insertAnnexInSeparatePageSequences"/>
|
3404
3430
|
|
3431
|
+
<xsl:call-template name="insertBibliographyInSeparatePageSequences"/>
|
3432
|
+
|
3433
|
+
<!-- <xsl:call-template name="insertIndexInSeparatePageSequences"/> -->
|
3434
|
+
</xsl:template> <!-- END: insertMainSectionsInSeparatePageSequences -->
|
3435
|
+
|
3436
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertAnnexInSeparatePageSequences">
|
3437
|
+
<xsl:for-each select="/*/*[local-name()='annex']">
|
3438
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3439
|
+
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3440
|
+
<xsl:attribute name="main_page_sequence"/>
|
3441
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3442
|
+
</xsl:element>
|
3443
|
+
</xsl:for-each>
|
3444
|
+
</xsl:template>
|
3445
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertBibliographyInSeparatePageSequences">
|
3446
|
+
<xsl:element name="bibliography" namespace="{$namespace_full}"> <!-- save context element -->
|
3447
|
+
<xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
|
3448
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3405
3449
|
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3406
|
-
<xsl:
|
3407
|
-
|
3408
|
-
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3409
|
-
</xsl:for-each>
|
3450
|
+
<xsl:attribute name="main_page_sequence"/>
|
3451
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3410
3452
|
</xsl:element>
|
3453
|
+
</xsl:for-each>
|
3454
|
+
</xsl:element>
|
3455
|
+
</xsl:template>
|
3456
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertIndexInSeparatePageSequences">
|
3457
|
+
<xsl:for-each select="/*/*[local-name()='indexsect']">
|
3458
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3459
|
+
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3460
|
+
<xsl:attribute name="main_page_sequence"/>
|
3461
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3462
|
+
</xsl:element>
|
3463
|
+
</xsl:for-each>
|
3464
|
+
</xsl:template>
|
3411
3465
|
|
3466
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="processAllSectionsDefault_items">
|
3467
|
+
<xsl:variable name="updated_xml_step_move_pagebreak">
|
3468
|
+
<xsl:element name="{$root_element}" namespace="{$namespace_full}">
|
3469
|
+
<xsl:call-template name="copyCommonElements"/>
|
3412
3470
|
<xsl:element name="page_sequence" namespace="{$namespace_full}">
|
3413
|
-
<xsl:
|
3414
|
-
|
3415
|
-
<xsl:sort select="@displayorder" data-type="number"/>
|
3416
|
-
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak"/>
|
3417
|
-
</xsl:for-each>
|
3418
|
-
</xsl:element>
|
3471
|
+
<xsl:call-template name="insertPrefaceSections"/>
|
3472
|
+
<xsl:call-template name="insertMainSections"/>
|
3419
3473
|
</xsl:element>
|
3420
3474
|
</xsl:element>
|
3421
3475
|
</xsl:variable>
|
3422
3476
|
|
3423
|
-
<xsl:variable name="updated_xml_step_move_pagebreak_filename" select="concat($output_path,'
|
3424
|
-
|
3477
|
+
<xsl:variable name="updated_xml_step_move_pagebreak_filename" select="concat($output_path,'_preface_and_main_', java:getTime(java:java.util.Date.new()), '.xml')"/>
|
3478
|
+
<!-- <xsl:message>updated_xml_step_move_pagebreak_filename=<xsl:value-of select="$updated_xml_step_move_pagebreak_filename"/></xsl:message>
|
3479
|
+
<xsl:message>start write updated_xml_step_move_pagebreak_filename</xsl:message> -->
|
3425
3480
|
<redirect:write file="{$updated_xml_step_move_pagebreak_filename}">
|
3426
3481
|
<xsl:copy-of select="$updated_xml_step_move_pagebreak"/>
|
3427
3482
|
</redirect:write>
|
3483
|
+
<!-- <xsl:message>end write updated_xml_step_move_pagebreak_filename</xsl:message> -->
|
3428
3484
|
|
3429
3485
|
<xsl:copy-of select="document($updated_xml_step_move_pagebreak_filename)"/>
|
3430
3486
|
|
3487
|
+
<!-- TODO: instead of
|
3488
|
+
<xsl:for-each select=".//*[local-name() = 'page_sequence'][normalize-space() != '' or .//image or .//svg]">
|
3489
|
+
in each template, add removing empty page_sequence here
|
3490
|
+
-->
|
3491
|
+
|
3431
3492
|
<xsl:if test="$debug = 'true'">
|
3432
|
-
<redirect:write file="
|
3433
|
-
<xsl:copy-of select="
|
3493
|
+
<redirect:write file="page_sequence_preface_and_main.xml">
|
3494
|
+
<xsl:copy-of select="$updated_xml_step_move_pagebreak"/>
|
3434
3495
|
</redirect:write>
|
3435
3496
|
</xsl:if>
|
3436
3497
|
|
3498
|
+
<!-- <xsl:message>start delete updated_xml_step_move_pagebreak_filename</xsl:message> -->
|
3437
3499
|
<xsl:call-template name="deleteFile">
|
3438
3500
|
<xsl:with-param name="filepath" select="$updated_xml_step_move_pagebreak_filename"/>
|
3439
3501
|
</xsl:call-template>
|
3440
|
-
|
3502
|
+
<!-- <xsl:message>end delete updated_xml_step_move_pagebreak_filename</xsl:message> -->
|
3503
|
+
</xsl:template> <!-- END: processAllSectionsDefault_items -->
|
3504
|
+
|
3505
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertPrefaceSections">
|
3506
|
+
<xsl:element name="preface" namespace="{$namespace_full}"> <!-- save context element -->
|
3507
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3508
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3509
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak">
|
3510
|
+
<xsl:with-param name="page_sequence_at_top">true</xsl:with-param>
|
3511
|
+
</xsl:apply-templates>
|
3512
|
+
</xsl:for-each>
|
3513
|
+
</xsl:element>
|
3514
|
+
</xsl:template>
|
3515
|
+
|
3516
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertMainSections">
|
3517
|
+
<xsl:element name="sections" namespace="{$namespace_full}"> <!-- save context element -->
|
3518
|
+
|
3519
|
+
<xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
|
3520
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3521
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak">
|
3522
|
+
<xsl:with-param name="page_sequence_at_top">true</xsl:with-param>
|
3523
|
+
</xsl:apply-templates>
|
3524
|
+
|
3525
|
+
</xsl:for-each>
|
3526
|
+
</xsl:element>
|
3527
|
+
|
3528
|
+
<xsl:for-each select="/*/*[local-name()='annex']">
|
3529
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3530
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak">
|
3531
|
+
<xsl:with-param name="page_sequence_at_top">true</xsl:with-param>
|
3532
|
+
</xsl:apply-templates>
|
3533
|
+
</xsl:for-each>
|
3534
|
+
|
3535
|
+
<xsl:element name="bibliography" namespace="{$namespace_full}"> <!-- save context element -->
|
3536
|
+
<xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
|
3537
|
+
<xsl:sort select="@displayorder" data-type="number"/>
|
3538
|
+
<xsl:apply-templates select="." mode="update_xml_step_move_pagebreak">
|
3539
|
+
<xsl:with-param name="page_sequence_at_top">true</xsl:with-param>
|
3540
|
+
</xsl:apply-templates>
|
3541
|
+
</xsl:for-each>
|
3542
|
+
</xsl:element>
|
3543
|
+
</xsl:template>
|
3441
3544
|
|
3442
3545
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="deleteFile">
|
3443
3546
|
<xsl:param name="filepath"/>
|
@@ -3482,9 +3585,16 @@
|
|
3482
3585
|
<xsl:value-of select="substring-before($text, $tag_open)"/>
|
3483
3586
|
<!-- <xsl:text disable-output-escaping="yes"><fo:inline keep-together.within-line="always"></xsl:text> -->
|
3484
3587
|
<xsl:variable name="text_after" select="substring-after($text, $tag_open)"/>
|
3485
|
-
<
|
3486
|
-
<xsl:
|
3487
|
-
|
3588
|
+
<xsl:choose>
|
3589
|
+
<xsl:when test="local-name(..) = 'keep-together_within-line'"> <!-- prevent two nested <fo:inline keep-together.within-line="always"><fo:inline keep-together.within-line="always" -->
|
3590
|
+
<xsl:value-of select="substring-before($text_after, $tag_close)"/>
|
3591
|
+
</xsl:when>
|
3592
|
+
<xsl:otherwise>
|
3593
|
+
<fo:inline keep-together.within-line="always" role="SKIP">
|
3594
|
+
<xsl:value-of select="substring-before($text_after, $tag_close)"/>
|
3595
|
+
</fo:inline>
|
3596
|
+
</xsl:otherwise>
|
3597
|
+
</xsl:choose>
|
3488
3598
|
<!-- <xsl:text disable-output-escaping="yes"></fo:inline></xsl:text> -->
|
3489
3599
|
<xsl:call-template name="replace_fo_inline_tags">
|
3490
3600
|
<xsl:with-param name="tag_open" select="$tag_open"/>
|
@@ -4647,6 +4757,8 @@
|
|
4647
4757
|
<xsl:with-param name="default">center</xsl:with-param>
|
4648
4758
|
</xsl:call-template>
|
4649
4759
|
|
4760
|
+
<xsl:copy-of select="@keep-together.within-line"/>
|
4761
|
+
|
4650
4762
|
<xsl:call-template name="refine_table-header-cell-style"/>
|
4651
4763
|
|
4652
4764
|
<!-- experimental feature, see https://github.com/metanorma/metanorma-plateau/issues/30#issuecomment-2145461828 -->
|
@@ -4705,6 +4817,8 @@
|
|
4705
4817
|
<xsl:with-param name="default">left</xsl:with-param>
|
4706
4818
|
</xsl:call-template>
|
4707
4819
|
|
4820
|
+
<xsl:copy-of select="@keep-together.within-line"/>
|
4821
|
+
|
4708
4822
|
<xsl:call-template name="refine_table-cell-style"/>
|
4709
4823
|
|
4710
4824
|
<xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
|
@@ -4830,7 +4944,7 @@
|
|
4830
4944
|
<xsl:copy-of select="."/>
|
4831
4945
|
</xsl:for-each>
|
4832
4946
|
|
4833
|
-
<xsl:if test="following-sibling
|
4947
|
+
<xsl:if test="following-sibling::node()[normalize-space() != ''][1][local-name() = 'fn']">
|
4834
4948
|
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
4835
4949
|
</xsl:if>
|
4836
4950
|
|
@@ -4897,7 +5011,7 @@
|
|
4897
5011
|
<xsl:copy-of select="node()"/>
|
4898
5012
|
</fn>
|
4899
5013
|
</xsl:for-each>
|
4900
|
-
<xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='boilerplate']/* | ancestor::*[contains(local-name(), '-standard')]
|
5014
|
+
<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']/*">
|
4901
5015
|
<xsl:sort select="@displayorder" data-type="number"/>
|
4902
5016
|
<!-- commented:
|
4903
5017
|
.//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] |
|
@@ -4982,6 +5096,11 @@
|
|
4982
5096
|
|
4983
5097
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="create_fn">
|
4984
5098
|
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
5099
|
+
<xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
|
5100
|
+
<xsl:attribute name="id">
|
5101
|
+
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
5102
|
+
</xsl:attribute>
|
5103
|
+
</xsl:if>
|
4985
5104
|
|
4986
5105
|
<xsl:apply-templates/>
|
4987
5106
|
</fn>
|
@@ -5125,6 +5244,11 @@
|
|
5125
5244
|
<xsl:call-template name="refine_fn-reference-style"/>
|
5126
5245
|
|
5127
5246
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
5247
|
+
<xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
|
5248
|
+
<xsl:attribute name="internal-destination">
|
5249
|
+
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
5250
|
+
</xsl:attribute>
|
5251
|
+
</xsl:if>
|
5128
5252
|
|
5129
5253
|
<xsl:value-of select="@reference"/>
|
5130
5254
|
|
@@ -6170,7 +6294,7 @@
|
|
6170
6294
|
|
6171
6295
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="recursiveSmallCaps">
|
6172
6296
|
<xsl:param name="text"/>
|
6173
|
-
<xsl:param name="ratio"
|
6297
|
+
<xsl:param name="ratio">0.75</xsl:param>
|
6174
6298
|
<xsl:variable name="char" select="substring($text,1,1)"/>
|
6175
6299
|
<!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> -->
|
6176
6300
|
<xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
|
@@ -8269,6 +8393,8 @@
|
|
8269
8393
|
</xsl:choose>
|
8270
8394
|
</xsl:variable>
|
8271
8395
|
|
8396
|
+
<xsl:variable name="isPrecedingTitle" select="normalize-space(ancestor::*[local-name() = 'figure']/preceding-sibling::*[1][local-name() = 'title'] and 1 = 1)"/>
|
8397
|
+
|
8272
8398
|
<xsl:choose>
|
8273
8399
|
<xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
|
8274
8400
|
<fo:block>
|
@@ -8415,7 +8541,14 @@
|
|
8415
8541
|
<xsl:variable name="scale_y">
|
8416
8542
|
<xsl:choose>
|
8417
8543
|
<xsl:when test="$svg_height * $scale_x > $height_effective_px">
|
8418
|
-
<xsl:
|
8544
|
+
<xsl:variable name="height_effective_px_">
|
8545
|
+
<xsl:choose>
|
8546
|
+
<!-- title is 'keep-with-next' with following figure -->
|
8547
|
+
<xsl:when test="$isPrecedingTitle = 'true'"><xsl:value-of select="$height_effective_px - 80"/></xsl:when>
|
8548
|
+
<xsl:otherwise><xsl:value-of select="$height_effective_px"/></xsl:otherwise>
|
8549
|
+
</xsl:choose>
|
8550
|
+
</xsl:variable>
|
8551
|
+
<xsl:value-of select="$height_effective_px_ div ($svg_height * $scale_x)"/>
|
8419
8552
|
</xsl:when>
|
8420
8553
|
<xsl:otherwise>1</xsl:otherwise>
|
8421
8554
|
</xsl:choose>
|
@@ -8834,7 +8967,7 @@
|
|
8834
8967
|
</xsl:if>
|
8835
8968
|
|
8836
8969
|
<xsl:for-each select="$contents_nodes/doc">
|
8837
|
-
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
8970
|
+
<fo:bookmark internal-destination="{contents/item[@display = 'true'][1]/@id}" starting-state="hide">
|
8838
8971
|
<xsl:if test="@bundle = 'true'">
|
8839
8972
|
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
8840
8973
|
</xsl:if>
|
@@ -10044,9 +10177,17 @@
|
|
10044
10177
|
|
10045
10178
|
<fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
|
10046
10179
|
<fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
|
10047
|
-
<xsl:
|
10048
|
-
<xsl:
|
10049
|
-
|
10180
|
+
<xsl:variable name="example_body">
|
10181
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name')]">
|
10182
|
+
<xsl:with-param name="fo_element" select="$fo_element"/>
|
10183
|
+
</xsl:apply-templates>
|
10184
|
+
</xsl:variable>
|
10185
|
+
<xsl:choose>
|
10186
|
+
<xsl:when test="xalan:nodeset($example_body)/*">
|
10187
|
+
<xsl:copy-of select="$example_body"/>
|
10188
|
+
</xsl:when>
|
10189
|
+
<xsl:otherwise><fo:block/><!-- prevent empty block-container --></xsl:otherwise>
|
10190
|
+
</xsl:choose>
|
10050
10191
|
</fo:block-container>
|
10051
10192
|
</fo:block-container>
|
10052
10193
|
</xsl:when> <!-- end block -->
|
@@ -10581,7 +10722,22 @@
|
|
10581
10722
|
|
10582
10723
|
<!-- note: @top-level added in mode=" update_xml_step_move_pagebreak" -->
|
10583
10724
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'sections']/*[local-name() = 'page_sequence']/*[not(@top-level)]" priority="2">
|
10584
|
-
<xsl:
|
10725
|
+
<xsl:choose>
|
10726
|
+
<xsl:when test="local-name() = 'clause' and normalize-space() = '' and count(*) = 0"/>
|
10727
|
+
<xsl:otherwise>
|
10728
|
+
<xsl:call-template name="sections_node"/>
|
10729
|
+
</xsl:otherwise>
|
10730
|
+
</xsl:choose>
|
10731
|
+
</xsl:template>
|
10732
|
+
|
10733
|
+
<!-- page_sequence/sections/clause -->
|
10734
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'page_sequence']/*[local-name() = 'sections']/*[not(@top-level)]" priority="2">
|
10735
|
+
<xsl:choose>
|
10736
|
+
<xsl:when test="local-name() = 'clause' and normalize-space() = '' and count(*) = 0"/>
|
10737
|
+
<xsl:otherwise>
|
10738
|
+
<xsl:call-template name="sections_node"/>
|
10739
|
+
</xsl:otherwise>
|
10740
|
+
</xsl:choose>
|
10585
10741
|
</xsl:template>
|
10586
10742
|
|
10587
10743
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="sections_element_style">
|
@@ -10598,8 +10754,24 @@
|
|
10598
10754
|
</fo:block>
|
10599
10755
|
</xsl:template>
|
10600
10756
|
|
10601
|
-
|
10602
|
-
|
10757
|
+
<!-- preface/ page_sequence/clause -->
|
10758
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'preface']/*[local-name() = 'page_sequence']/*[not(@top-level)]" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
10759
|
+
<xsl:choose>
|
10760
|
+
<xsl:when test="local-name() = 'clause' and normalize-space() = '' and count(*) = 0"/>
|
10761
|
+
<xsl:otherwise>
|
10762
|
+
<xsl:call-template name="preface_node"/>
|
10763
|
+
</xsl:otherwise>
|
10764
|
+
</xsl:choose>
|
10765
|
+
</xsl:template>
|
10766
|
+
|
10767
|
+
<!-- page_sequence/preface/clause -->
|
10768
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'page_sequence']/*[local-name() = 'preface']/*[not(@top-level)]" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
10769
|
+
<xsl:choose>
|
10770
|
+
<xsl:when test="local-name() = 'clause' and normalize-space() = '' and count(*) = 0"/>
|
10771
|
+
<xsl:otherwise>
|
10772
|
+
<xsl:call-template name="preface_node"/>
|
10773
|
+
</xsl:otherwise>
|
10774
|
+
</xsl:choose>
|
10603
10775
|
</xsl:template>
|
10604
10776
|
|
10605
10777
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'clause'][normalize-space() != '' or *[local-name() = 'figure'] or @id]" name="template_clause"> <!-- if clause isn't empty -->
|
@@ -11924,7 +12096,14 @@
|
|
11924
12096
|
</redirect:write> -->
|
11925
12097
|
</xsl:if>
|
11926
12098
|
|
12099
|
+
<!-- <xsl:if test="$debug = 'true'"><xsl:message>START copying updated_xml_step3</xsl:message></xsl:if>
|
12100
|
+
<xsl:variable name="startTime4" select="java:getTime(java:java.util.Date.new())"/> -->
|
11927
12101
|
<xsl:copy-of select="$updated_xml_step3"/>
|
12102
|
+
<!-- <xsl:variable name="endTime4" select="java:getTime(java:java.util.Date.new())"/>
|
12103
|
+
<xsl:if test="$debug = 'true'">
|
12104
|
+
<xsl:message>DEBUG: processing time <xsl:value-of select="$endTime4 - $startTime4"/> msec.</xsl:message>
|
12105
|
+
<xsl:message>END copying updated_xml_step3</xsl:message>
|
12106
|
+
</xsl:if> -->
|
11928
12107
|
|
11929
12108
|
</xsl:template>
|
11930
12109
|
|
@@ -12106,14 +12285,17 @@
|
|
12106
12285
|
<!-- STEP MOVE PAGEBREAK: move <pagebreak/> at top level under 'preface' and 'sections' -->
|
12107
12286
|
<!-- =========================================================================== -->
|
12108
12287
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="@*|node()" mode="update_xml_step_move_pagebreak">
|
12288
|
+
<xsl:param name="page_sequence_at_top">false</xsl:param>
|
12109
12289
|
<xsl:copy>
|
12110
|
-
<xsl:apply-templates select="@*|node()" mode="update_xml_step_move_pagebreak"
|
12290
|
+
<xsl:apply-templates select="@*|node()" mode="update_xml_step_move_pagebreak">
|
12291
|
+
<xsl:with-param name="page_sequence_at_top" select="$page_sequence_at_top"/>
|
12292
|
+
</xsl:apply-templates>
|
12111
12293
|
</xsl:copy>
|
12112
12294
|
</xsl:template>
|
12113
12295
|
|
12114
12296
|
<!-- replace 'pagebreak' by closing tags + page_sequence and opening page_sequence + tags -->
|
12115
12297
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'pagebreak'][not(following-sibling::*[1][local-name() = 'pagebreak'])]" mode="update_xml_step_move_pagebreak">
|
12116
|
-
|
12298
|
+
<xsl:param name="page_sequence_at_top"/>
|
12117
12299
|
<!-- <xsl:choose>
|
12118
12300
|
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
12119
12301
|
|
@@ -12137,7 +12319,9 @@
|
|
12137
12319
|
<xsl:variable name="orientation" select="normalize-space(@orientation)"/>
|
12138
12320
|
|
12139
12321
|
<xsl:variable name="tree_">
|
12140
|
-
<xsl:call-template name="makeAncestorsElementsTree"
|
12322
|
+
<xsl:call-template name="makeAncestorsElementsTree">
|
12323
|
+
<xsl:with-param name="page_sequence_at_top" select="$page_sequence_at_top"/>
|
12324
|
+
</xsl:call-template>
|
12141
12325
|
</xsl:variable>
|
12142
12326
|
<xsl:variable name="tree" select="xalan:nodeset($tree_)"/>
|
12143
12327
|
|
@@ -12159,12 +12343,26 @@
|
|
12159
12343
|
</xsl:template>
|
12160
12344
|
|
12161
12345
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="makeAncestorsElementsTree">
|
12162
|
-
<xsl:
|
12163
|
-
|
12164
|
-
|
12165
|
-
|
12166
|
-
|
12167
|
-
|
12346
|
+
<xsl:param name="page_sequence_at_top"/>
|
12347
|
+
|
12348
|
+
<xsl:choose>
|
12349
|
+
<xsl:when test="$page_sequence_at_top = 'true'">
|
12350
|
+
<xsl:for-each select="ancestor::*[ancestor::*[contains(local-name(), '-standard')]]">
|
12351
|
+
<element pos="{position()}">
|
12352
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/>
|
12353
|
+
<xsl:value-of select="name()"/>
|
12354
|
+
</element>
|
12355
|
+
</xsl:for-each>
|
12356
|
+
</xsl:when>
|
12357
|
+
<xsl:otherwise>
|
12358
|
+
<xsl:for-each select="ancestor::*[ancestor::*[local-name() = 'preface'] or ancestor::*[local-name() = 'sections'] or ancestor-or-self::*[local-name() = 'annex']]">
|
12359
|
+
<element pos="{position()}">
|
12360
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/>
|
12361
|
+
<xsl:value-of select="name()"/>
|
12362
|
+
</element>
|
12363
|
+
</xsl:for-each>
|
12364
|
+
</xsl:otherwise>
|
12365
|
+
</xsl:choose>
|
12168
12366
|
</xsl:template>
|
12169
12367
|
|
12170
12368
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="insertClosingElements">
|
@@ -12202,11 +12400,14 @@
|
|
12202
12400
|
|
12203
12401
|
<!-- move full page width figures, tables at top level -->
|
12204
12402
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'figure' or local-name() = 'table'][normalize-space(@width) != 'text-width']" mode="update_xml_step_move_pagebreak">
|
12403
|
+
<xsl:param name="page_sequence_at_top">false</xsl:param>
|
12205
12404
|
<xsl:choose>
|
12206
12405
|
<xsl:when test="$layout_columns != 1">
|
12207
12406
|
|
12208
12407
|
<xsl:variable name="tree_">
|
12209
|
-
|
12408
|
+
<xsl:call-template name="makeAncestorsElementsTree">
|
12409
|
+
<xsl:with-param name="page_sequence_at_top" select="$page_sequence_at_top"/>
|
12410
|
+
</xsl:call-template>
|
12210
12411
|
</xsl:variable>
|
12211
12412
|
<xsl:variable name="tree" select="xalan:nodeset($tree_)"/>
|
12212
12413
|
|
@@ -12354,81 +12555,140 @@
|
|
12354
12555
|
|
12355
12556
|
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="express_reference_separators">_.\</xsl:variable>
|
12356
12557
|
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="express_reference_characters" select="concat($upper,$lower,'1234567890',$express_reference_separators)"/>
|
12558
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="regex_express_reference">(^([A-Za-z0-9_.\\]+)$)</xsl:variable>
|
12357
12559
|
|
12358
12560
|
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="element_name_keep-together_within-line">keep-together_within-line</xsl:variable>
|
12561
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="tag_keep-together_within-line_open">###<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
|
12562
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="tag_keep-together_within-line_close">###/<xsl:value-of select="$element_name_keep-together_within-line"/>###</xsl:variable>
|
12359
12563
|
|
12360
|
-
|
12564
|
+
<!-- \S matches any non-whitespace character (equivalent to [^\r\n\t\f\v ]) -->
|
12565
|
+
<!-- <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable> -->
|
12566
|
+
<!-- add < and > to \S -->
|
12567
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="regex_S">[^\r\n\t\f\v \<>\u3000-\u9FFF]</xsl:variable>
|
12568
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="regex_solidus_units">((\b((<xsl:value-of select="$regex_S"/>{1,3}\/<xsl:value-of select="$regex_S"/>+)|(<xsl:value-of select="$regex_S"/>+\/<xsl:value-of select="$regex_S"/>{1,3}))\b)|(\/<xsl:value-of select="$regex_S"/>{1,3})\b)</xsl:variable>
|
12361
12569
|
|
12362
|
-
|
12363
|
-
|
12364
|
-
|
12365
|
-
|
12366
|
-
|
12367
|
-
|
12368
|
-
|
12369
|
-
|
12370
|
-
|
12371
|
-
|
12372
|
-
|
12570
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="non_white_space">[^\s\u3000-\u9FFF]</xsl:variable>
|
12571
|
+
<xsl:variable xmlns:redirect="http://xml.apache.org/xalan/redirect" name="regex_dots_units">((\b((<xsl:value-of select="$non_white_space"/>{1,3}\.<xsl:value-of select="$non_white_space"/>+)|(<xsl:value-of select="$non_white_space"/>+\.<xsl:value-of select="$non_white_space"/>{1,3}))\b)|(\.<xsl:value-of select="$non_white_space"/>{1,3})\b)</xsl:variable>
|
12572
|
+
|
12573
|
+
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="text()[not(ancestor::*[local-name() = 'bibdata'] or ancestor::*[local-name() = 'link'][not(contains(.,' '))] or ancestor::*[local-name() = 'sourcecode'] or ancestor::*[local-name() = 'math'] or ancestor::*[local-name() = 'svg'] or starts-with(., 'http://') or starts-with(., 'https://') or starts-with(., 'www.') or normalize-space() = '' )]" name="keep_together_standard_number" mode="update_xml_enclose_keep-together_within-line">
|
12574
|
+
|
12575
|
+
<xsl:variable name="parent" select="local-name(..)"/>
|
12576
|
+
|
12577
|
+
<xsl:if test="1 = 2"> <!-- alternative variant -->
|
12578
|
+
|
12579
|
+
<xsl:variable name="regexs">
|
12580
|
+
<!-- enclose standard's number into tag 'keep-together_within-line' -->
|
12581
|
+
<xsl:if test="not(ancestor::*[local-name() = 'table'])"><regex><xsl:value-of select="$regex_standard_reference"/></regex></xsl:if>
|
12582
|
+
<!-- if EXPRESS reference -->
|
12583
|
+
|
12584
|
+
<!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
|
12585
|
+
<regex><xsl:value-of select="$regex_solidus_units"/></regex>
|
12586
|
+
<!-- keep-together_within-line for: a.b, aaa.b, a.bbb, .b in table's cell ONLY -->
|
12587
|
+
<xsl:if test="ancestor::*[local-name() = 'td' or local-name() = 'th']">
|
12588
|
+
<regex><xsl:value-of select="$regex_dots_units"/></regex>
|
12589
|
+
</xsl:if>
|
12590
|
+
</xsl:variable>
|
12591
|
+
|
12592
|
+
<xsl:variable name="regex_replacement"><xsl:text>(</xsl:text>
|
12593
|
+
<xsl:for-each select="xalan:nodeset($regexs)/regex">
|
12594
|
+
<xsl:value-of select="."/>
|
12595
|
+
<xsl:if test="position() != last()">|</xsl:if>
|
12596
|
+
</xsl:for-each>
|
12597
|
+
<xsl:text>)</xsl:text>
|
12598
|
+
</xsl:variable>
|
12599
|
+
|
12600
|
+
<!-- regex_replacement='<xsl:value-of select="$regex_replacement"/>' -->
|
12601
|
+
|
12602
|
+
<xsl:variable name="text_replaced" select="java:replaceAll(java:java.lang.String.new(.), $regex_replacement, concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
|
12603
|
+
|
12604
|
+
<!-- text_replaced='<xsl:value-of select="$text_replaced"/>' -->
|
12605
|
+
|
12606
|
+
<xsl:call-template name="replace_text_tags">
|
12373
12607
|
<xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
|
12374
12608
|
<xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
|
12375
|
-
<xsl:with-param name="text" select="$
|
12376
|
-
</xsl:call-template
|
12609
|
+
<xsl:with-param name="text" select="$text_replaced"/>
|
12610
|
+
</xsl:call-template>
|
12611
|
+
</xsl:if>
|
12377
12612
|
|
12378
|
-
<xsl:
|
12613
|
+
<xsl:if test="1 = 1">
|
12614
|
+
|
12615
|
+
<!-- enclose standard's number into tag 'keep-together_within-line' -->
|
12616
|
+
<xsl:variable name="text">
|
12617
|
+
<xsl:element name="text" namespace="{$namespace_full}">
|
12618
|
+
<xsl:choose>
|
12619
|
+
<xsl:when test="ancestor::*[local-name() = 'table']"><xsl:value-of select="."/></xsl:when> <!-- no need enclose standard's number into tag 'keep-together_within-line' in table cells -->
|
12620
|
+
<xsl:otherwise>
|
12621
|
+
<xsl:variable name="text_" select="java:replaceAll(java:java.lang.String.new(.), $regex_standard_reference, concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
|
12622
|
+
<!-- <xsl:value-of select="$text__"/> -->
|
12623
|
+
|
12624
|
+
<xsl:call-template name="replace_text_tags">
|
12625
|
+
<xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
|
12626
|
+
<xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
|
12627
|
+
<xsl:with-param name="text" select="$text_"/>
|
12628
|
+
</xsl:call-template>
|
12629
|
+
|
12630
|
+
</xsl:otherwise>
|
12631
|
+
</xsl:choose>
|
12632
|
+
</xsl:element>
|
12633
|
+
</xsl:variable>
|
12379
12634
|
|
12380
12635
|
<xsl:variable name="text2">
|
12381
|
-
<
|
12636
|
+
<xsl:element name="text" namespace="{$namespace_full}">
|
12637
|
+
<xsl:for-each select="xalan:nodeset($text)/*[local-name() = 'text']/node()">
|
12382
12638
|
<xsl:copy-of select="."/>
|
12383
|
-
</xsl:for-each
|
12639
|
+
</xsl:for-each>
|
12640
|
+
</xsl:element>
|
12384
12641
|
</xsl:variable>
|
12385
12642
|
|
12386
12643
|
<!-- keep-together_within-line for: a/b, aaa/b, a/bbb, /b -->
|
12387
|
-
<!-- \S matches any non-whitespace character (equivalent to [^\r\n\t\f\v ]) -->
|
12388
|
-
<!-- <xsl:variable name="regex_solidus_units">((\b((\S{1,3}\/\S+)|(\S+\/\S{1,3}))\b)|(\/\S{1,3})\b)</xsl:variable> -->
|
12389
|
-
<!-- add < and > to \S -->
|
12390
|
-
<xsl:variable name="regex_S">[^\r\n\t\f\v \<>\u3000-\u9FFF]</xsl:variable>
|
12391
|
-
<xsl:variable name="regex_solidus_units">((\b((<xsl:value-of select="$regex_S"/>{1,3}\/<xsl:value-of select="$regex_S"/>+)|(<xsl:value-of select="$regex_S"/>+\/<xsl:value-of select="$regex_S"/>{1,3}))\b)|(\/<xsl:value-of select="$regex_S"/>{1,3})\b)</xsl:variable>
|
12392
12644
|
<xsl:variable name="text3">
|
12393
|
-
<
|
12394
|
-
<xsl:
|
12395
|
-
<xsl:
|
12396
|
-
<xsl:
|
12397
|
-
|
12398
|
-
<xsl:
|
12399
|
-
|
12400
|
-
|
12401
|
-
|
12402
|
-
|
12403
|
-
|
12404
|
-
|
12405
|
-
|
12406
|
-
|
12645
|
+
<xsl:element name="text" namespace="{$namespace_full}">
|
12646
|
+
<xsl:for-each select="xalan:nodeset($text2)/*[local-name() = 'text']/node()">
|
12647
|
+
<xsl:choose>
|
12648
|
+
<xsl:when test="self::text()">
|
12649
|
+
<xsl:variable name="text_units" select="java:replaceAll(java:java.lang.String.new(.),$regex_solidus_units,concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
|
12650
|
+
<!-- <xsl:variable name="text_units">
|
12651
|
+
<xsl:element name="text" namespace="{$namespace_full}"> -->
|
12652
|
+
<xsl:call-template name="replace_text_tags">
|
12653
|
+
<xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
|
12654
|
+
<xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
|
12655
|
+
<xsl:with-param name="text" select="$text_units"/>
|
12656
|
+
</xsl:call-template>
|
12657
|
+
<!-- </xsl:element>
|
12658
|
+
</xsl:variable>
|
12659
|
+
<xsl:copy-of select="xalan:nodeset($text_units)/*[local-name() = 'text']/node()"/> -->
|
12660
|
+
</xsl:when>
|
12661
|
+
<xsl:otherwise><xsl:copy-of select="."/></xsl:otherwise> <!-- copy 'as-is' for <fo:inline keep-together.within-line="always" ... -->
|
12662
|
+
</xsl:choose>
|
12663
|
+
</xsl:for-each>
|
12664
|
+
</xsl:element>
|
12407
12665
|
</xsl:variable>
|
12408
12666
|
|
12409
12667
|
<xsl:choose>
|
12410
12668
|
<xsl:when test="ancestor::*[local-name() = 'td' or local-name() = 'th']">
|
12411
12669
|
<!-- keep-together_within-line for: a.b, aaa.b, a.bbb, .b in table's cell ONLY -->
|
12412
|
-
<xsl:
|
12413
|
-
<xsl:variable name="regex_dots_units">((\b((<xsl:value-of select="$non_white_space"/>{1,3}\.<xsl:value-of select="$non_white_space"/>+)|(<xsl:value-of select="$non_white_space"/>+\.<xsl:value-of select="$non_white_space"/>{1,3}))\b)|(\.<xsl:value-of select="$non_white_space"/>{1,3})\b)</xsl:variable>
|
12414
|
-
<xsl:for-each select="xalan:nodeset($text3)/text/node()">
|
12670
|
+
<xsl:for-each select="xalan:nodeset($text3)/*[local-name() = 'text']/node()">
|
12415
12671
|
<xsl:choose>
|
12416
12672
|
<xsl:when test="self::text()">
|
12417
|
-
<xsl:variable name="
|
12418
|
-
<xsl:variable name="text_dots"
|
12419
|
-
<xsl:
|
12420
|
-
|
12421
|
-
|
12422
|
-
|
12423
|
-
|
12673
|
+
<xsl:variable name="text_dots" select="java:replaceAll(java:java.lang.String.new(.),$regex_dots_units,concat($tag_keep-together_within-line_open,'$1',$tag_keep-together_within-line_close))"/>
|
12674
|
+
<!-- <xsl:variable name="text_dots">
|
12675
|
+
<xsl:element name="text" namespace="{$namespace_full}"> -->
|
12676
|
+
<xsl:call-template name="replace_text_tags">
|
12677
|
+
<xsl:with-param name="tag_open" select="$tag_keep-together_within-line_open"/>
|
12678
|
+
<xsl:with-param name="tag_close" select="$tag_keep-together_within-line_close"/>
|
12679
|
+
<xsl:with-param name="text" select="$text_dots"/>
|
12680
|
+
</xsl:call-template>
|
12681
|
+
<!-- </xsl:element>
|
12682
|
+
</xsl:variable>
|
12683
|
+
<xsl:copy-of select="xalan:nodeset($text_dots)/*[local-name() = 'text']/node()"/> -->
|
12424
12684
|
</xsl:when>
|
12425
12685
|
<xsl:otherwise><xsl:copy-of select="."/></xsl:otherwise> <!-- copy 'as-is' for <fo:inline keep-together.within-line="always" ... -->
|
12426
12686
|
</xsl:choose>
|
12427
12687
|
</xsl:for-each>
|
12428
12688
|
</xsl:when>
|
12429
|
-
<xsl:otherwise><xsl:copy-of select="xalan:nodeset($text3)
|
12689
|
+
<xsl:otherwise><xsl:copy-of select="xalan:nodeset($text3)/*[local-name() = 'text']/node()"/></xsl:otherwise>
|
12430
12690
|
</xsl:choose>
|
12431
|
-
|
12691
|
+
</xsl:if>
|
12432
12692
|
</xsl:template>
|
12433
12693
|
|
12434
12694
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" match="*[local-name() = 'stem'] | *[local-name() = 'image']" mode="update_xml_enclose_keep-together_within-line">
|
@@ -12954,6 +13214,15 @@
|
|
12954
13214
|
</xsl:otherwise>
|
12955
13215
|
</xsl:choose>
|
12956
13216
|
</xsl:for-each>
|
13217
|
+
<!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
|
13218
|
+
<xsl:if test="not(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment'])">
|
13219
|
+
<xsl:for-each select="//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment']]">
|
13220
|
+
<xsl:variable name="attachment_path" select="*[local-name() = 'uri'][@type = 'attachment']"/>
|
13221
|
+
<xsl:variable name="url" select="concat('url(file:///',$inputxml_basepath, $attachment_path, ')')"/>
|
13222
|
+
<xsl:variable name="filename_embedded" select="substring-after($attachment_path, concat('_', $inputxml_filename_prefix, '_attachments', '/'))"/>
|
13223
|
+
<pdf:embedded-file src="{$url}" filename="{$filename_embedded}"/>
|
13224
|
+
</xsl:for-each>
|
13225
|
+
</xsl:if>
|
12957
13226
|
</xsl:template> <!-- addPDFUAmeta -->
|
12958
13227
|
|
12959
13228
|
<xsl:template xmlns:redirect="http://xml.apache.org/xalan/redirect" name="getId">
|
data/metanorma-jis.gemspec
CHANGED
@@ -28,10 +28,10 @@ Gem::Specification.new do |spec|
|
|
28
28
|
|| f.match(%r{Rakefile|bin/rspec})
|
29
29
|
end
|
30
30
|
spec.test_files = `git ls-files -- {spec}/*`.split("\n")
|
31
|
-
spec.required_ruby_version = Gem::Requirement.new(">=
|
31
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 3.1.0")
|
32
32
|
|
33
33
|
spec.add_dependency "japanese_calendar", "~> 0"
|
34
|
-
spec.add_dependency "metanorma-iso", "~> 2.
|
34
|
+
spec.add_dependency "metanorma-iso", "~> 2.8.0"
|
35
35
|
spec.add_dependency "pubid"
|
36
36
|
|
37
37
|
spec.add_development_dependency "debug"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-jis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: japanese_calendar
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.
|
33
|
+
version: 2.8.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.
|
40
|
+
version: 2.8.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: pubid
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -313,7 +313,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
313
313
|
requirements:
|
314
314
|
- - ">="
|
315
315
|
- !ruby/object:Gem::Version
|
316
|
-
version:
|
316
|
+
version: 3.1.0
|
317
317
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
318
318
|
requirements:
|
319
319
|
- - ">="
|