metanorma-un 0.10.6 → 0.10.8
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/un/base_convert.rb +5 -0
- data/lib/isodoc/un/html/html_unece_intro.html +0 -1
- data/lib/isodoc/un/html/word_unece_intro.html +0 -5
- data/lib/isodoc/un/html_convert.rb +9 -16
- data/lib/isodoc/un/presentation_xml_convert.rb +5 -0
- data/lib/isodoc/un/un.plenary-attachment.xsl +310 -94
- data/lib/isodoc/un/un.plenary.xsl +310 -94
- data/lib/isodoc/un/un.recommendation.xsl +309 -93
- data/lib/isodoc/un/word_convert.rb +18 -26
- data/lib/metanorma/un/isodoc.rng +41 -14
- data/lib/metanorma/un/un.rng +3 -8
- data/lib/metanorma/un/version.rb +1 -1
- data/metanorma-un.gemspec +1 -1
- metadata +4 -4
@@ -1464,11 +1464,17 @@
|
|
1464
1464
|
<!-- ========================== -->
|
1465
1465
|
<!-- Definition's list styles -->
|
1466
1466
|
<!-- ========================== -->
|
1467
|
+
|
1468
|
+
<xsl:attribute-set name="dl-block-style">
|
1469
|
+
|
1470
|
+
</xsl:attribute-set>
|
1471
|
+
|
1467
1472
|
<xsl:attribute-set name="dt-row-style">
|
1468
1473
|
|
1469
1474
|
</xsl:attribute-set>
|
1470
1475
|
|
1471
1476
|
<xsl:attribute-set name="dt-cell-style">
|
1477
|
+
|
1472
1478
|
</xsl:attribute-set>
|
1473
1479
|
|
1474
1480
|
<xsl:attribute-set name="dt-block-style">
|
@@ -1486,6 +1492,7 @@
|
|
1486
1492
|
|
1487
1493
|
<xsl:attribute-set name="dd-cell-style">
|
1488
1494
|
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
1495
|
+
|
1489
1496
|
</xsl:attribute-set>
|
1490
1497
|
|
1491
1498
|
<!-- ========================== -->
|
@@ -1501,6 +1508,7 @@
|
|
1501
1508
|
</xsl:attribute-set>
|
1502
1509
|
|
1503
1510
|
<xsl:attribute-set name="xref-style">
|
1511
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
1504
1512
|
|
1505
1513
|
</xsl:attribute-set>
|
1506
1514
|
|
@@ -1605,6 +1613,10 @@
|
|
1605
1613
|
|
1606
1614
|
</xsl:attribute-set>
|
1607
1615
|
|
1616
|
+
<xsl:attribute-set name="figure-source-style">
|
1617
|
+
|
1618
|
+
</xsl:attribute-set>
|
1619
|
+
|
1608
1620
|
<!-- Formula's styles -->
|
1609
1621
|
<xsl:attribute-set name="formula-style">
|
1610
1622
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
@@ -2140,7 +2152,7 @@
|
|
2140
2152
|
|
2141
2153
|
<xsl:template name="processTables_Contents">
|
2142
2154
|
<tables>
|
2143
|
-
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
2155
|
+
<xsl:for-each select="//*[local-name() = 'table'][not(ancestor::*[local-name() = 'metanorma-extension'])][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
2144
2156
|
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
2145
2157
|
<xsl:copy-of select="*[local-name() = 'name']"/>
|
2146
2158
|
</table>
|
@@ -2507,7 +2519,7 @@
|
|
2507
2519
|
</xsl:attribute>
|
2508
2520
|
</xsl:for-each>
|
2509
2521
|
|
2510
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2522
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
2511
2523
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2512
2524
|
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
2513
2525
|
</xsl:if>
|
@@ -2551,7 +2563,7 @@
|
|
2551
2563
|
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
2552
2564
|
</xsl:when>
|
2553
2565
|
<xsl:otherwise>
|
2554
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note and dl which render separaterely -->
|
2566
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
|
2555
2567
|
</xsl:otherwise>
|
2556
2568
|
</xsl:choose>
|
2557
2569
|
|
@@ -2652,6 +2664,11 @@
|
|
2652
2664
|
</xsl:if>
|
2653
2665
|
</xsl:template> <!-- table/name -->
|
2654
2666
|
|
2667
|
+
<!-- SOURCE: ... -->
|
2668
|
+
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
|
2669
|
+
<xsl:call-template name="termsource"/>
|
2670
|
+
</xsl:template>
|
2671
|
+
|
2655
2672
|
<xsl:template name="calculate-columns-numbers">
|
2656
2673
|
<xsl:param name="table-row"/>
|
2657
2674
|
<xsl:variable name="columns-count" select="count($table-row/*)"/>
|
@@ -3008,7 +3025,7 @@
|
|
3008
3025
|
</fo:table-header>
|
3009
3026
|
</xsl:template> <!-- thead -->
|
3010
3027
|
|
3011
|
-
<!-- template is using for iso, jcgm, bsi only -->
|
3028
|
+
<!-- template is using for iec, iso, jcgm, bsi only -->
|
3012
3029
|
<xsl:template name="table-header-title">
|
3013
3030
|
<xsl:param name="cols-count"/>
|
3014
3031
|
<!-- row for title -->
|
@@ -3051,7 +3068,7 @@
|
|
3051
3068
|
<xsl:param name="colwidths"/>
|
3052
3069
|
<xsl:param name="colgroup"/>
|
3053
3070
|
|
3054
|
-
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
3071
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source']"/>
|
3055
3072
|
|
3056
3073
|
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
3057
3074
|
|
@@ -3121,6 +3138,7 @@
|
|
3121
3138
|
|
3122
3139
|
<xsl:apply-templates select="../*[local-name()='dl']"/>
|
3123
3140
|
<xsl:apply-templates select="../*[local-name()='note']"/>
|
3141
|
+
<xsl:apply-templates select="../*[local-name()='source']"/>
|
3124
3142
|
|
3125
3143
|
<xsl:variable name="isDisplayRowSeparator">
|
3126
3144
|
|
@@ -3503,9 +3521,13 @@
|
|
3503
3521
|
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
3504
3522
|
</xsl:if>
|
3505
3523
|
|
3506
|
-
<
|
3507
|
-
<xsl:
|
3508
|
-
|
3524
|
+
<xsl:call-template name="insert_basic_link">
|
3525
|
+
<xsl:with-param name="element">
|
3526
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
3527
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
3528
|
+
</fo:basic-link>
|
3529
|
+
</xsl:with-param>
|
3530
|
+
</xsl:call-template>
|
3509
3531
|
</fo:inline>
|
3510
3532
|
</xsl:variable>
|
3511
3533
|
|
@@ -3777,7 +3799,7 @@
|
|
3777
3799
|
<xsl:variable name="isAdded" select="@added"/>
|
3778
3800
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
3779
3801
|
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
3780
|
-
<fo:block-container>
|
3802
|
+
<fo:block-container xsl:use-attribute-sets="dl-block-style">
|
3781
3803
|
|
3782
3804
|
<xsl:call-template name="setBlockSpanAll"/>
|
3783
3805
|
|
@@ -3785,6 +3807,18 @@
|
|
3785
3807
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
3786
3808
|
</xsl:if>
|
3787
3809
|
|
3810
|
+
<xsl:if test="ancestor::*[local-name() = 'sourcecode']">
|
3811
|
+
<!-- set font-size as sourcecode font-size -->
|
3812
|
+
<xsl:variable name="sourcecode_attributes">
|
3813
|
+
<xsl:call-template name="get_sourcecode_attributes"/>
|
3814
|
+
</xsl:variable>
|
3815
|
+
<xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@font-size">
|
3816
|
+
<xsl:attribute name="{local-name()}">
|
3817
|
+
<xsl:value-of select="."/>
|
3818
|
+
</xsl:attribute>
|
3819
|
+
</xsl:for-each>
|
3820
|
+
</xsl:if>
|
3821
|
+
|
3788
3822
|
<xsl:if test="parent::*[local-name() = 'note']">
|
3789
3823
|
<xsl:attribute name="margin-left">
|
3790
3824
|
<xsl:choose>
|
@@ -3826,8 +3860,10 @@
|
|
3826
3860
|
<xsl:apply-templates select="preceding-sibling::*[1][local-name() = 'p' and @keep-with-next = 'true']/node()"/>
|
3827
3861
|
<xsl:text> </xsl:text>
|
3828
3862
|
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
3829
|
-
<xsl:text
|
3830
|
-
|
3863
|
+
<xsl:if test="*[local-name()='dd']/node()[normalize-space() != ''][1][self::text()]">
|
3864
|
+
<xsl:text> </xsl:text>
|
3865
|
+
</xsl:if>
|
3866
|
+
<xsl:apply-templates select="*[local-name()='dd']/node()" mode="inline"/>
|
3831
3867
|
</fo:block>
|
3832
3868
|
|
3833
3869
|
</xsl:when> <!-- END: only one component -->
|
@@ -4218,6 +4254,7 @@
|
|
4218
4254
|
<xsl:param name="split_keep-within-line"/>
|
4219
4255
|
|
4220
4256
|
<fo:table-row xsl:use-attribute-sets="dt-row-style">
|
4257
|
+
|
4221
4258
|
<xsl:call-template name="insert_dt_cell">
|
4222
4259
|
<xsl:with-param name="key_iso" select="$key_iso"/>
|
4223
4260
|
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
@@ -4239,6 +4276,7 @@
|
|
4239
4276
|
<!-- border is mandatory, to calculate real width -->
|
4240
4277
|
<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
|
4241
4278
|
<xsl:attribute name="text-align">left</xsl:attribute>
|
4279
|
+
|
4242
4280
|
</xsl:if>
|
4243
4281
|
|
4244
4282
|
<fo:block xsl:use-attribute-sets="dt-block-style">
|
@@ -4312,8 +4350,18 @@
|
|
4312
4350
|
</xsl:if>
|
4313
4351
|
</xsl:template>
|
4314
4352
|
|
4315
|
-
<xsl:template match="*[local-name()='dd']/*
|
4316
|
-
<
|
4353
|
+
<xsl:template match="*[local-name()='dd']/*" mode="inline">
|
4354
|
+
<xsl:variable name="is_inline_element_after_where">
|
4355
|
+
<xsl:if test="(local-name() = 'p') and not(preceding-sibling::node()[normalize-space() != ''])">true</xsl:if>
|
4356
|
+
</xsl:variable>
|
4357
|
+
<xsl:choose>
|
4358
|
+
<xsl:when test="$is_inline_element_after_where = 'true'">
|
4359
|
+
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
4360
|
+
</xsl:when>
|
4361
|
+
<xsl:otherwise>
|
4362
|
+
<xsl:apply-templates select="."/>
|
4363
|
+
</xsl:otherwise>
|
4364
|
+
</xsl:choose>
|
4317
4365
|
</xsl:template>
|
4318
4366
|
|
4319
4367
|
<!-- virtual html table for dl/[dt and dd] for IF (Intermediate Format) -->
|
@@ -4681,6 +4729,7 @@
|
|
4681
4729
|
<fo:inline>
|
4682
4730
|
<xsl:for-each select="$styles/style">
|
4683
4731
|
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
4732
|
+
|
4684
4733
|
</xsl:for-each>
|
4685
4734
|
<xsl:apply-templates/>
|
4686
4735
|
</fo:inline>
|
@@ -5740,6 +5789,79 @@
|
|
5740
5789
|
<xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
|
5741
5790
|
</xsl:template>
|
5742
5791
|
|
5792
|
+
<!-- special case for:
|
5793
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
5794
|
+
<mstyle displaystyle="true">
|
5795
|
+
<msup>
|
5796
|
+
<mi color="#00000000">C</mi>
|
5797
|
+
<mtext>R</mtext>
|
5798
|
+
</msup>
|
5799
|
+
<msubsup>
|
5800
|
+
<mtext>C</mtext>
|
5801
|
+
<mi>n</mi>
|
5802
|
+
<mi>k</mi>
|
5803
|
+
</msubsup>
|
5804
|
+
</mstyle>
|
5805
|
+
</math>
|
5806
|
+
-->
|
5807
|
+
<xsl:template match="mathml:msup/mathml:mi[. = '' or . = ''][not(preceding-sibling::*)][following-sibling::mathml:mtext]" mode="mathml">
|
5808
|
+
<xsl:copy>
|
5809
|
+
<xsl:copy-of select="@*"/>
|
5810
|
+
<xsl:variable name="next_mtext" select="ancestor::mathml:msup/following-sibling::*[1][self::mathml:msubsup or self::mathml:msub or self::mathml:msup]/mathml:mtext"/>
|
5811
|
+
<xsl:if test="string-length($next_mtext) != ''">
|
5812
|
+
<xsl:attribute name="color">#00000000</xsl:attribute>
|
5813
|
+
</xsl:if>
|
5814
|
+
<xsl:apply-templates/>
|
5815
|
+
<xsl:value-of select="$next_mtext"/>
|
5816
|
+
</xsl:copy>
|
5817
|
+
</xsl:template>
|
5818
|
+
|
5819
|
+
<!-- special case for:
|
5820
|
+
<msup>
|
5821
|
+
<mtext/>
|
5822
|
+
<mn>1</mn>
|
5823
|
+
</msup>
|
5824
|
+
convert to (add mspace after mtext and enclose them into mrow):
|
5825
|
+
<msup>
|
5826
|
+
<mrow>
|
5827
|
+
<mtext/>
|
5828
|
+
<mspace height="1.47ex"/>
|
5829
|
+
</mrow>
|
5830
|
+
<mn>1</mn>
|
5831
|
+
</msup>
|
5832
|
+
-->
|
5833
|
+
<xsl:template match="mathml:msup/mathml:mtext[not(preceding-sibling::*)]" mode="mathml">
|
5834
|
+
<mathml:mrow>
|
5835
|
+
<xsl:copy-of select="."/>
|
5836
|
+
<mathml:mspace height="1.47ex"/>
|
5837
|
+
</mathml:mrow>
|
5838
|
+
</xsl:template>
|
5839
|
+
|
5840
|
+
<!-- add space around vertical line -->
|
5841
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '|']" mode="mathml">
|
5842
|
+
<xsl:copy>
|
5843
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
5844
|
+
<xsl:if test="not(@lspace)">
|
5845
|
+
<xsl:attribute name="lspace">0.4em</xsl:attribute>
|
5846
|
+
</xsl:if>
|
5847
|
+
<xsl:if test="not(@rspace)">
|
5848
|
+
<xsl:attribute name="rspace">0.4em</xsl:attribute>
|
5849
|
+
</xsl:if>
|
5850
|
+
<xsl:apply-templates mode="mathml"/>
|
5851
|
+
</xsl:copy>
|
5852
|
+
</xsl:template>
|
5853
|
+
|
5854
|
+
<!-- decrease fontsize for 'Circled Times' char -->
|
5855
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '⊗']" mode="mathml">
|
5856
|
+
<xsl:copy>
|
5857
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
5858
|
+
<xsl:if test="not(@fontsize)">
|
5859
|
+
<xsl:attribute name="fontsize">55%</xsl:attribute>
|
5860
|
+
</xsl:if>
|
5861
|
+
<xsl:apply-templates mode="mathml"/>
|
5862
|
+
</xsl:copy>
|
5863
|
+
</xsl:template>
|
5864
|
+
|
5743
5865
|
<!-- Examples:
|
5744
5866
|
<stem type="AsciiMath">x = 1</stem>
|
5745
5867
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
@@ -5797,19 +5919,23 @@
|
|
5797
5919
|
<xsl:apply-templates/>
|
5798
5920
|
</xsl:when>
|
5799
5921
|
<xsl:otherwise>
|
5800
|
-
<
|
5801
|
-
<xsl:
|
5802
|
-
<
|
5803
|
-
<xsl:
|
5804
|
-
<xsl:
|
5805
|
-
|
5806
|
-
|
5807
|
-
|
5808
|
-
|
5809
|
-
|
5810
|
-
|
5811
|
-
|
5812
|
-
|
5922
|
+
<xsl:call-template name="insert_basic_link">
|
5923
|
+
<xsl:with-param name="element">
|
5924
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
|
5925
|
+
<xsl:choose>
|
5926
|
+
<xsl:when test="normalize-space(.) = ''">
|
5927
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
5928
|
+
<xsl:with-param name="text" select="$target_text"/>
|
5929
|
+
</xsl:call-template>
|
5930
|
+
</xsl:when>
|
5931
|
+
<xsl:otherwise>
|
5932
|
+
<!-- output text from <link>text</link> -->
|
5933
|
+
<xsl:apply-templates/>
|
5934
|
+
</xsl:otherwise>
|
5935
|
+
</xsl:choose>
|
5936
|
+
</fo:basic-link>
|
5937
|
+
</xsl:with-param>
|
5938
|
+
</xsl:call-template>
|
5813
5939
|
</xsl:otherwise>
|
5814
5940
|
</xsl:choose>
|
5815
5941
|
</fo:inline>
|
@@ -5872,12 +5998,16 @@
|
|
5872
5998
|
</xsl:template>
|
5873
5999
|
|
5874
6000
|
<xsl:template match="*[local-name() = 'xref']">
|
5875
|
-
<
|
5876
|
-
<xsl:
|
5877
|
-
<
|
5878
|
-
|
5879
|
-
|
5880
|
-
|
6001
|
+
<xsl:call-template name="insert_basic_link">
|
6002
|
+
<xsl:with-param name="element">
|
6003
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
6004
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
6005
|
+
<xsl:call-template name="append_add-style"/>
|
6006
|
+
</xsl:if>
|
6007
|
+
<xsl:apply-templates/>
|
6008
|
+
</fo:basic-link>
|
6009
|
+
</xsl:with-param>
|
6010
|
+
</xsl:call-template>
|
5881
6011
|
</xsl:template>
|
5882
6012
|
|
5883
6013
|
<!-- ====== -->
|
@@ -6200,6 +6330,13 @@
|
|
6200
6330
|
</fo:block>
|
6201
6331
|
</xsl:template>
|
6202
6332
|
|
6333
|
+
<!-- SOURCE: ... -->
|
6334
|
+
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'source']" priority="2">
|
6335
|
+
|
6336
|
+
<xsl:call-template name="termsource"/>
|
6337
|
+
|
6338
|
+
</xsl:template>
|
6339
|
+
|
6203
6340
|
<xsl:template match="*[local-name() = 'image']">
|
6204
6341
|
<xsl:variable name="isAdded" select="../@added"/>
|
6205
6342
|
<xsl:variable name="isDeleted" select="../@deleted"/>
|
@@ -6278,7 +6415,7 @@
|
|
6278
6415
|
<xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
|
6279
6416
|
</xsl:when>
|
6280
6417
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
6281
|
-
<xsl:value-of select="concat('url(file
|
6418
|
+
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
6282
6419
|
</xsl:when>
|
6283
6420
|
<xsl:otherwise>
|
6284
6421
|
<xsl:value-of select="@src"/>
|
@@ -6300,7 +6437,7 @@
|
|
6300
6437
|
</xsl:when>
|
6301
6438
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
6302
6439
|
<xsl:variable name="src">
|
6303
|
-
<xsl:value-of select="concat('url(file
|
6440
|
+
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
6304
6441
|
</xsl:variable>
|
6305
6442
|
<xsl:variable name="file" select="java:java.io.File.new(@src)"/>
|
6306
6443
|
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
|
@@ -6686,15 +6823,19 @@
|
|
6686
6823
|
<xsl:param name="dest"/>
|
6687
6824
|
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
6688
6825
|
<fo:block font-size="1pt">
|
6689
|
-
<
|
6690
|
-
<
|
6691
|
-
<fo:
|
6692
|
-
|
6693
|
-
<
|
6694
|
-
|
6695
|
-
|
6696
|
-
|
6697
|
-
|
6826
|
+
<xsl:call-template name="insert_basic_link">
|
6827
|
+
<xsl:with-param name="element">
|
6828
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
6829
|
+
<fo:inline-container inline-progression-dimension="100%">
|
6830
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
6831
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
6832
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
6833
|
+
</xsl:if> -->
|
6834
|
+
<fo:block> </fo:block></fo:block-container>
|
6835
|
+
</fo:inline-container>
|
6836
|
+
</fo:basic-link>
|
6837
|
+
</xsl:with-param>
|
6838
|
+
</xsl:call-template>
|
6698
6839
|
</fo:block>
|
6699
6840
|
</fo:block-container>
|
6700
6841
|
</xsl:template>
|
@@ -7335,9 +7476,11 @@
|
|
7335
7476
|
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
7336
7477
|
</xsl:if>
|
7337
7478
|
|
7338
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
7479
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name' or local-name() = 'dl')]"/>
|
7339
7480
|
</fo:block>
|
7340
7481
|
|
7482
|
+
<xsl:apply-templates select="*[local-name() = 'dl']"/> <!-- Key table -->
|
7483
|
+
|
7341
7484
|
<xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
|
7342
7485
|
|
7343
7486
|
</fo:block-container>
|
@@ -7369,11 +7512,22 @@
|
|
7369
7512
|
<!-- add sourcecode highlighting -->
|
7370
7513
|
<xsl:template match="*[local-name()='sourcecode']//*[local-name()='span'][@class]" priority="2">
|
7371
7514
|
<xsl:variable name="class" select="@class"/>
|
7515
|
+
|
7516
|
+
<!-- Example: <1> -->
|
7517
|
+
<xsl:variable name="is_callout">
|
7518
|
+
<xsl:if test="parent::*[local-name() = 'dt']">
|
7519
|
+
<xsl:variable name="dt_id" select="../@id"/>
|
7520
|
+
<xsl:if test="ancestor::*[local-name() = 'sourcecode']//*[local-name() = 'callout'][@target = $dt_id]">true</xsl:if>
|
7521
|
+
</xsl:if>
|
7522
|
+
</xsl:variable>
|
7523
|
+
|
7372
7524
|
<xsl:choose>
|
7373
7525
|
<xsl:when test="$sourcecode_css//class[@name = $class]">
|
7374
7526
|
<fo:inline>
|
7375
7527
|
<xsl:apply-templates select="$sourcecode_css//class[@name = $class]" mode="css"/>
|
7528
|
+
<xsl:if test="$is_callout = 'true'"><</xsl:if>
|
7376
7529
|
<xsl:apply-templates/>
|
7530
|
+
<xsl:if test="$is_callout = 'true'">></xsl:if>
|
7377
7531
|
</fo:inline>
|
7378
7532
|
</xsl:when>
|
7379
7533
|
<xsl:otherwise>
|
@@ -7797,6 +7951,10 @@
|
|
7797
7951
|
</fo:block>
|
7798
7952
|
</xsl:template>
|
7799
7953
|
|
7954
|
+
<xsl:template match="*[local-name() = 'div']">
|
7955
|
+
<fo:block><xsl:apply-templates/></fo:block>
|
7956
|
+
</xsl:template>
|
7957
|
+
|
7800
7958
|
<xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
|
7801
7959
|
<fo:block xsl:use-attribute-sets="inherit-style">
|
7802
7960
|
<xsl:text>Dependency </xsl:text><xsl:apply-templates/>
|
@@ -8226,14 +8384,18 @@
|
|
8226
8384
|
</xsl:template>
|
8227
8385
|
|
8228
8386
|
<xsl:template match="*[local-name() = 'origin']">
|
8229
|
-
<
|
8230
|
-
<xsl:
|
8231
|
-
<
|
8232
|
-
|
8233
|
-
|
8234
|
-
|
8235
|
-
|
8236
|
-
|
8387
|
+
<xsl:call-template name="insert_basic_link">
|
8388
|
+
<xsl:with-param name="element">
|
8389
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
8390
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
8391
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
8392
|
+
</xsl:if>
|
8393
|
+
<fo:inline xsl:use-attribute-sets="origin-style">
|
8394
|
+
<xsl:apply-templates/>
|
8395
|
+
</fo:inline>
|
8396
|
+
</fo:basic-link>
|
8397
|
+
</xsl:with-param>
|
8398
|
+
</xsl:call-template>
|
8237
8399
|
</xsl:template>
|
8238
8400
|
|
8239
8401
|
<!-- not using, see https://github.com/glossarist/iev-document/issues/23 -->
|
@@ -8307,9 +8469,13 @@
|
|
8307
8469
|
<xsl:if test="../*[local-name() = 'author']">
|
8308
8470
|
<xsl:text>, </xsl:text>
|
8309
8471
|
</xsl:if>
|
8310
|
-
<
|
8311
|
-
<xsl:
|
8312
|
-
|
8472
|
+
<xsl:call-template name="insert_basic_link">
|
8473
|
+
<xsl:with-param name="element">
|
8474
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
8475
|
+
<xsl:apply-templates/>
|
8476
|
+
</fo:basic-link>
|
8477
|
+
</xsl:with-param>
|
8478
|
+
</xsl:call-template>
|
8313
8479
|
</xsl:template>
|
8314
8480
|
|
8315
8481
|
<xsl:template match="*[local-name() = 'author']">
|
@@ -8358,25 +8524,29 @@
|
|
8358
8524
|
<xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
|
8359
8525
|
<xsl:variable name="text" select="normalize-space()"/>
|
8360
8526
|
|
8361
|
-
<
|
8362
|
-
<xsl:
|
8363
|
-
<
|
8364
|
-
|
8365
|
-
|
8527
|
+
<xsl:call-template name="insert_basic_link">
|
8528
|
+
<xsl:with-param name="element">
|
8529
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
8530
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
8531
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
8532
|
+
</xsl:if>
|
8533
|
+
<xsl:if test="@type = 'inline'">
|
8366
8534
|
|
8367
|
-
|
8535
|
+
</xsl:if>
|
8368
8536
|
|
8369
|
-
|
8370
|
-
|
8371
|
-
|
8372
|
-
|
8373
|
-
|
8374
|
-
|
8375
|
-
|
8376
|
-
|
8537
|
+
<xsl:choose>
|
8538
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
8539
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
8540
|
+
</xsl:when>
|
8541
|
+
<xsl:otherwise>
|
8542
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
8543
|
+
</xsl:otherwise>
|
8544
|
+
</xsl:choose>
|
8377
8545
|
|
8378
|
-
|
8379
|
-
|
8546
|
+
<xsl:apply-templates/>
|
8547
|
+
</fo:basic-link>
|
8548
|
+
</xsl:with-param>
|
8549
|
+
</xsl:call-template>
|
8380
8550
|
|
8381
8551
|
</fo:inline>
|
8382
8552
|
</xsl:when>
|
@@ -8492,13 +8662,8 @@
|
|
8492
8662
|
</xsl:template>
|
8493
8663
|
|
8494
8664
|
<xsl:template match="*[local-name() = 'deprecates']">
|
8495
|
-
<xsl:variable name="title-deprecated">
|
8496
|
-
<xsl:call-template name="getLocalizedString">
|
8497
|
-
<xsl:with-param name="key">deprecated</xsl:with-param>
|
8498
|
-
</xsl:call-template>
|
8499
|
-
</xsl:variable>
|
8500
8665
|
<fo:block xsl:use-attribute-sets="deprecates-style">
|
8501
|
-
<xsl:
|
8666
|
+
<xsl:apply-templates/>
|
8502
8667
|
</fo:block>
|
8503
8668
|
</xsl:template>
|
8504
8669
|
|
@@ -8628,7 +8793,10 @@
|
|
8628
8793
|
<xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/>
|
8629
8794
|
|
8630
8795
|
<xsl:template name="setULLabel">
|
8631
|
-
<xsl:variable name="
|
8796
|
+
<xsl:variable name="list_level__">
|
8797
|
+
<xsl:value-of select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
|
8798
|
+
</xsl:variable>
|
8799
|
+
<xsl:variable name="list_level_" select="number($list_level__)"/>
|
8632
8800
|
<xsl:variable name="list_level">
|
8633
8801
|
<xsl:choose>
|
8634
8802
|
<xsl:when test="$list_level_ <= 3"><xsl:value-of select="$list_level_"/></xsl:when>
|
@@ -8761,9 +8929,11 @@
|
|
8761
8929
|
</fo:block-container>
|
8762
8930
|
</xsl:when>
|
8763
8931
|
<xsl:otherwise>
|
8764
|
-
|
8765
|
-
|
8766
|
-
|
8932
|
+
|
8933
|
+
<fo:block>
|
8934
|
+
<xsl:apply-templates select="." mode="list"/>
|
8935
|
+
</fo:block>
|
8936
|
+
|
8767
8937
|
</xsl:otherwise>
|
8768
8938
|
</xsl:choose>
|
8769
8939
|
</xsl:template>
|
@@ -9430,24 +9600,32 @@
|
|
9430
9600
|
<xsl:for-each select="*[local-name() = 'tab']">
|
9431
9601
|
<xsl:variable name="current_id" select="generate-id()"/>
|
9432
9602
|
<fo:table-cell>
|
9433
|
-
<fo:block>
|
9434
|
-
<
|
9435
|
-
<xsl:
|
9436
|
-
<
|
9437
|
-
<xsl:
|
9438
|
-
|
9439
|
-
|
9440
|
-
|
9441
|
-
|
9603
|
+
<fo:block line-height-shift-adjustment="disregard-shifts">
|
9604
|
+
<xsl:call-template name="insert_basic_link">
|
9605
|
+
<xsl:with-param name="element">
|
9606
|
+
<fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
|
9607
|
+
<xsl:for-each select="following-sibling::node()[not(self::*[local-name() = 'tab']) and preceding-sibling::*[local-name() = 'tab'][1][generate-id() = $current_id]]">
|
9608
|
+
<xsl:choose>
|
9609
|
+
<xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
|
9610
|
+
<xsl:otherwise><xsl:apply-templates select="."/></xsl:otherwise>
|
9611
|
+
</xsl:choose>
|
9612
|
+
</xsl:for-each>
|
9613
|
+
</fo:basic-link>
|
9614
|
+
</xsl:with-param>
|
9615
|
+
</xsl:call-template>
|
9442
9616
|
</fo:block>
|
9443
9617
|
</fo:table-cell>
|
9444
9618
|
</xsl:for-each>
|
9445
9619
|
<!-- last column - for page numbers -->
|
9446
9620
|
<fo:table-cell text-align="right" font-size="10pt" font-weight="bold" font-family="Arial">
|
9447
9621
|
<fo:block>
|
9448
|
-
<
|
9449
|
-
<
|
9450
|
-
|
9622
|
+
<xsl:call-template name="insert_basic_link">
|
9623
|
+
<xsl:with-param name="element">
|
9624
|
+
<fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
|
9625
|
+
<fo:page-number-citation ref-id="{$target}"/>
|
9626
|
+
</fo:basic-link>
|
9627
|
+
</xsl:with-param>
|
9628
|
+
</xsl:call-template>
|
9451
9629
|
</fo:block>
|
9452
9630
|
</fo:table-cell>
|
9453
9631
|
</xsl:template>
|
@@ -9489,6 +9667,27 @@
|
|
9489
9667
|
<!-- End Table of Contents (ToC) processing -->
|
9490
9668
|
<!-- =================== -->
|
9491
9669
|
|
9670
|
+
<!-- insert fo:basic-link, if external-destination or internal-destination is non-empty, otherwise insert fo:inline -->
|
9671
|
+
<xsl:template name="insert_basic_link">
|
9672
|
+
<xsl:param name="element"/>
|
9673
|
+
<xsl:variable name="element_node" select="xalan:nodeset($element)"/>
|
9674
|
+
<xsl:variable name="external-destination" select="normalize-space(count($element_node/fo:basic-link/@external-destination[. != '']) = 1)"/>
|
9675
|
+
<xsl:variable name="internal-destination" select="normalize-space(count($element_node/fo:basic-link/@internal-destination[. != '']) = 1)"/>
|
9676
|
+
<xsl:choose>
|
9677
|
+
<xsl:when test="$external-destination = 'true' or $internal-destination = 'true'">
|
9678
|
+
<xsl:copy-of select="$element_node"/>
|
9679
|
+
</xsl:when>
|
9680
|
+
<xsl:otherwise>
|
9681
|
+
<fo:inline>
|
9682
|
+
<xsl:for-each select="$element_node/fo:basic-link/@*[local-name() != 'external-destination' and local-name() != 'internal-destination' and local-name() != 'alt-text']">
|
9683
|
+
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
|
9684
|
+
</xsl:for-each>
|
9685
|
+
<xsl:copy-of select="$element_node/fo:basic-link/node()"/>
|
9686
|
+
</fo:inline>
|
9687
|
+
</xsl:otherwise>
|
9688
|
+
</xsl:choose>
|
9689
|
+
</xsl:template>
|
9690
|
+
|
9492
9691
|
<xsl:template match="*[local-name() = 'variant-title']"/> <!-- [@type = 'sub'] -->
|
9493
9692
|
<xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
|
9494
9693
|
<fo:inline padding-right="5mm"> </fo:inline>
|
@@ -9716,6 +9915,23 @@
|
|
9716
9915
|
<xsl:template match="*[local-name() = 'stem'] | *[local-name() = 'image']" mode="update_xml_step1">
|
9717
9916
|
<xsl:copy-of select="."/>
|
9718
9917
|
</xsl:template>
|
9918
|
+
|
9919
|
+
<!-- add @id, redundant for table auto-layout algorithm -->
|
9920
|
+
<xsl:template match="*[local-name() = 'dl' or local-name() = 'table'][not(@id)]" mode="update_xml_step1">
|
9921
|
+
<xsl:copy>
|
9922
|
+
<xsl:copy-of select="@*"/>
|
9923
|
+
<xsl:call-template name="add_id"/>
|
9924
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
9925
|
+
</xsl:copy>
|
9926
|
+
</xsl:template>
|
9927
|
+
|
9928
|
+
<xsl:template name="add_id">
|
9929
|
+
<xsl:if test="not(@id)">
|
9930
|
+
<!-- add @id - first element with @id plus '_element_name' -->
|
9931
|
+
<xsl:attribute name="id"><xsl:value-of select="(.//*[@id])[1]/@id"/>_<xsl:value-of select="local-name()"/></xsl:attribute>
|
9932
|
+
</xsl:if>
|
9933
|
+
</xsl:template>
|
9934
|
+
|
9719
9935
|
<!-- =========================================================================== -->
|
9720
9936
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
9721
9937
|
<!-- =========================================================================== -->
|