metanorma-itu 2.2.9 → 2.2.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/itu/base_convert.rb +19 -11
- data/lib/isodoc/itu/html/html_itu_intro.html +0 -1
- data/lib/isodoc/itu/html/word_itu_intro.html +0 -15
- data/lib/isodoc/itu/html_convert.rb +1 -3
- data/lib/isodoc/itu/itu.implementers-guide.xsl +245 -93
- data/lib/isodoc/itu/itu.in-force.xsl +245 -93
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +245 -93
- data/lib/isodoc/itu/itu.recommendation-supplement.xsl +245 -93
- data/lib/isodoc/itu/itu.recommendation.xsl +245 -93
- data/lib/isodoc/itu/itu.resolution.xsl +245 -93
- data/lib/isodoc/itu/itu.service-publication.xsl +245 -93
- data/lib/isodoc/itu/itu.technical-paper.xsl +245 -93
- data/lib/isodoc/itu/itu.technical-report.xsl +245 -93
- data/lib/isodoc/itu/presentation_xml_convert.rb +6 -0
- data/lib/isodoc/itu/word_convert.rb +33 -11
- data/lib/metanorma/itu/isodoc.rng +12 -7
- data/lib/metanorma/itu/itu.rng +3 -8
- data/lib/metanorma/itu/version.rb +1 -1
- metadata +2 -2
@@ -1644,19 +1644,23 @@
|
|
1644
1644
|
<xsl:variable name="bibitemid" select="../itu:termsource/itu:origin/@bibitemid"/>
|
1645
1645
|
<xsl:variable name="origin_text" select="normalize-space(../itu:termsource/itu:origin/text())"/>
|
1646
1646
|
|
1647
|
-
<
|
1648
|
-
<xsl:
|
1649
|
-
<
|
1650
|
-
<xsl:
|
1651
|
-
|
1652
|
-
|
1653
|
-
|
1654
|
-
|
1655
|
-
|
1656
|
-
|
1657
|
-
|
1658
|
-
|
1659
|
-
|
1647
|
+
<xsl:call-template name="insert_basic_link">
|
1648
|
+
<xsl:with-param name="element">
|
1649
|
+
<fo:basic-link internal-destination="{$bibitemid}" fox:alt-text="{$citeas}">
|
1650
|
+
<xsl:choose>
|
1651
|
+
<xsl:when test="$origin_text != ''">
|
1652
|
+
<xsl:text> </xsl:text><xsl:apply-templates select="../itu:termsource/itu:origin/node()"/>
|
1653
|
+
</xsl:when>
|
1654
|
+
<xsl:when test="contains($citeas, '[')">
|
1655
|
+
<xsl:text> </xsl:text><xsl:value-of select="$citeas"/> <!-- disable-output-escaping="yes" -->
|
1656
|
+
</xsl:when>
|
1657
|
+
<xsl:otherwise>
|
1658
|
+
<xsl:text> [</xsl:text><xsl:value-of select="$citeas"/><xsl:text>]</xsl:text>
|
1659
|
+
</xsl:otherwise>
|
1660
|
+
</xsl:choose>
|
1661
|
+
</fo:basic-link>
|
1662
|
+
</xsl:with-param>
|
1663
|
+
</xsl:call-template>
|
1660
1664
|
</xsl:if>
|
1661
1665
|
<xsl:if test="following-sibling::itu:definition/node()">
|
1662
1666
|
<xsl:text>: </xsl:text>
|
@@ -2809,6 +2813,7 @@
|
|
2809
2813
|
</xsl:attribute-set>
|
2810
2814
|
|
2811
2815
|
<xsl:attribute-set name="xref-style">
|
2816
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
2812
2817
|
|
2813
2818
|
<xsl:attribute name="color">blue</xsl:attribute>
|
2814
2819
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
@@ -4860,9 +4865,13 @@
|
|
4860
4865
|
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
4861
4866
|
</xsl:if>
|
4862
4867
|
|
4863
|
-
<
|
4864
|
-
<xsl:
|
4865
|
-
|
4868
|
+
<xsl:call-template name="insert_basic_link">
|
4869
|
+
<xsl:with-param name="element">
|
4870
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
4871
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
4872
|
+
</fo:basic-link>
|
4873
|
+
</xsl:with-param>
|
4874
|
+
</xsl:call-template>
|
4866
4875
|
</fo:inline>
|
4867
4876
|
</xsl:variable>
|
4868
4877
|
|
@@ -5205,8 +5214,10 @@
|
|
5205
5214
|
<xsl:apply-templates select="preceding-sibling::*[1][local-name() = 'p' and @keep-with-next = 'true']/node()"/>
|
5206
5215
|
<xsl:text> </xsl:text>
|
5207
5216
|
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
5208
|
-
<xsl:text
|
5209
|
-
|
5217
|
+
<xsl:if test="*[local-name()='dd']/node()[normalize-space() != ''][1][self::text()]">
|
5218
|
+
<xsl:text> </xsl:text>
|
5219
|
+
</xsl:if>
|
5220
|
+
<xsl:apply-templates select="*[local-name()='dd']/node()" mode="inline"/>
|
5210
5221
|
</fo:block>
|
5211
5222
|
|
5212
5223
|
</xsl:when> <!-- END: only one component -->
|
@@ -5709,8 +5720,18 @@
|
|
5709
5720
|
</xsl:if>
|
5710
5721
|
</xsl:template>
|
5711
5722
|
|
5712
|
-
<xsl:template match="*[local-name()='dd']/*
|
5713
|
-
<
|
5723
|
+
<xsl:template match="*[local-name()='dd']/*" mode="inline">
|
5724
|
+
<xsl:variable name="is_inline_element_after_where">
|
5725
|
+
<xsl:if test="(local-name() = 'p') and not(preceding-sibling::node()[normalize-space() != ''])">true</xsl:if>
|
5726
|
+
</xsl:variable>
|
5727
|
+
<xsl:choose>
|
5728
|
+
<xsl:when test="$is_inline_element_after_where = 'true'">
|
5729
|
+
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
5730
|
+
</xsl:when>
|
5731
|
+
<xsl:otherwise>
|
5732
|
+
<xsl:apply-templates select="."/>
|
5733
|
+
</xsl:otherwise>
|
5734
|
+
</xsl:choose>
|
5714
5735
|
</xsl:template>
|
5715
5736
|
|
5716
5737
|
<!-- virtual html table for dl/[dt and dd] for IF (Intermediate Format) -->
|
@@ -7138,6 +7159,79 @@
|
|
7138
7159
|
<xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
|
7139
7160
|
</xsl:template>
|
7140
7161
|
|
7162
|
+
<!-- special case for:
|
7163
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
7164
|
+
<mstyle displaystyle="true">
|
7165
|
+
<msup>
|
7166
|
+
<mi color="#00000000">C</mi>
|
7167
|
+
<mtext>R</mtext>
|
7168
|
+
</msup>
|
7169
|
+
<msubsup>
|
7170
|
+
<mtext>C</mtext>
|
7171
|
+
<mi>n</mi>
|
7172
|
+
<mi>k</mi>
|
7173
|
+
</msubsup>
|
7174
|
+
</mstyle>
|
7175
|
+
</math>
|
7176
|
+
-->
|
7177
|
+
<xsl:template match="mathml:msup/mathml:mi[. = '' or . = ''][not(preceding-sibling::*)][following-sibling::mathml:mtext]" mode="mathml">
|
7178
|
+
<xsl:copy>
|
7179
|
+
<xsl:copy-of select="@*"/>
|
7180
|
+
<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"/>
|
7181
|
+
<xsl:if test="string-length($next_mtext) != ''">
|
7182
|
+
<xsl:attribute name="color">#00000000</xsl:attribute>
|
7183
|
+
</xsl:if>
|
7184
|
+
<xsl:apply-templates/>
|
7185
|
+
<xsl:value-of select="$next_mtext"/>
|
7186
|
+
</xsl:copy>
|
7187
|
+
</xsl:template>
|
7188
|
+
|
7189
|
+
<!-- special case for:
|
7190
|
+
<msup>
|
7191
|
+
<mtext/>
|
7192
|
+
<mn>1</mn>
|
7193
|
+
</msup>
|
7194
|
+
convert to (add mspace after mtext and enclose them into mrow):
|
7195
|
+
<msup>
|
7196
|
+
<mrow>
|
7197
|
+
<mtext/>
|
7198
|
+
<mspace height="1.47ex"/>
|
7199
|
+
</mrow>
|
7200
|
+
<mn>1</mn>
|
7201
|
+
</msup>
|
7202
|
+
-->
|
7203
|
+
<xsl:template match="mathml:msup/mathml:mtext[not(preceding-sibling::*)]" mode="mathml">
|
7204
|
+
<mathml:mrow>
|
7205
|
+
<xsl:copy-of select="."/>
|
7206
|
+
<mathml:mspace height="1.47ex"/>
|
7207
|
+
</mathml:mrow>
|
7208
|
+
</xsl:template>
|
7209
|
+
|
7210
|
+
<!-- add space around vertical line -->
|
7211
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '|']" mode="mathml">
|
7212
|
+
<xsl:copy>
|
7213
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
7214
|
+
<xsl:if test="not(@lspace)">
|
7215
|
+
<xsl:attribute name="lspace">0.4em</xsl:attribute>
|
7216
|
+
</xsl:if>
|
7217
|
+
<xsl:if test="not(@rspace)">
|
7218
|
+
<xsl:attribute name="rspace">0.4em</xsl:attribute>
|
7219
|
+
</xsl:if>
|
7220
|
+
<xsl:apply-templates mode="mathml"/>
|
7221
|
+
</xsl:copy>
|
7222
|
+
</xsl:template>
|
7223
|
+
|
7224
|
+
<!-- decrease fontsize for 'Circled Times' char -->
|
7225
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '⊗']" mode="mathml">
|
7226
|
+
<xsl:copy>
|
7227
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
7228
|
+
<xsl:if test="not(@fontsize)">
|
7229
|
+
<xsl:attribute name="fontsize">55%</xsl:attribute>
|
7230
|
+
</xsl:if>
|
7231
|
+
<xsl:apply-templates mode="mathml"/>
|
7232
|
+
</xsl:copy>
|
7233
|
+
</xsl:template>
|
7234
|
+
|
7141
7235
|
<!-- Examples:
|
7142
7236
|
<stem type="AsciiMath">x = 1</stem>
|
7143
7237
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
@@ -7195,19 +7289,23 @@
|
|
7195
7289
|
<xsl:apply-templates/>
|
7196
7290
|
</xsl:when>
|
7197
7291
|
<xsl:otherwise>
|
7198
|
-
<
|
7199
|
-
<xsl:
|
7200
|
-
<
|
7201
|
-
<xsl:
|
7202
|
-
<xsl:
|
7203
|
-
|
7204
|
-
|
7205
|
-
|
7206
|
-
|
7207
|
-
|
7208
|
-
|
7209
|
-
|
7210
|
-
|
7292
|
+
<xsl:call-template name="insert_basic_link">
|
7293
|
+
<xsl:with-param name="element">
|
7294
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
|
7295
|
+
<xsl:choose>
|
7296
|
+
<xsl:when test="normalize-space(.) = ''">
|
7297
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
7298
|
+
<xsl:with-param name="text" select="$target_text"/>
|
7299
|
+
</xsl:call-template>
|
7300
|
+
</xsl:when>
|
7301
|
+
<xsl:otherwise>
|
7302
|
+
<!-- output text from <link>text</link> -->
|
7303
|
+
<xsl:apply-templates/>
|
7304
|
+
</xsl:otherwise>
|
7305
|
+
</xsl:choose>
|
7306
|
+
</fo:basic-link>
|
7307
|
+
</xsl:with-param>
|
7308
|
+
</xsl:call-template>
|
7211
7309
|
</xsl:otherwise>
|
7212
7310
|
</xsl:choose>
|
7213
7311
|
</fo:inline>
|
@@ -7270,12 +7368,16 @@
|
|
7270
7368
|
</xsl:template>
|
7271
7369
|
|
7272
7370
|
<xsl:template match="*[local-name() = 'xref']">
|
7273
|
-
<
|
7274
|
-
<xsl:
|
7275
|
-
<
|
7276
|
-
|
7277
|
-
|
7278
|
-
|
7371
|
+
<xsl:call-template name="insert_basic_link">
|
7372
|
+
<xsl:with-param name="element">
|
7373
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
7374
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
7375
|
+
<xsl:call-template name="append_add-style"/>
|
7376
|
+
</xsl:if>
|
7377
|
+
<xsl:apply-templates/>
|
7378
|
+
</fo:basic-link>
|
7379
|
+
</xsl:with-param>
|
7380
|
+
</xsl:call-template>
|
7279
7381
|
</xsl:template>
|
7280
7382
|
|
7281
7383
|
<!-- ====== -->
|
@@ -7664,7 +7766,7 @@
|
|
7664
7766
|
<xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
|
7665
7767
|
</xsl:when>
|
7666
7768
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7667
|
-
<xsl:value-of select="concat('url(file
|
7769
|
+
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
7668
7770
|
</xsl:when>
|
7669
7771
|
<xsl:otherwise>
|
7670
7772
|
<xsl:value-of select="@src"/>
|
@@ -7686,7 +7788,7 @@
|
|
7686
7788
|
</xsl:when>
|
7687
7789
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7688
7790
|
<xsl:variable name="src">
|
7689
|
-
<xsl:value-of select="concat('url(file
|
7791
|
+
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
7690
7792
|
</xsl:variable>
|
7691
7793
|
<xsl:variable name="file" select="java:java.io.File.new(@src)"/>
|
7692
7794
|
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
|
@@ -8072,15 +8174,19 @@
|
|
8072
8174
|
<xsl:param name="dest"/>
|
8073
8175
|
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
8074
8176
|
<fo:block font-size="1pt">
|
8075
|
-
<
|
8076
|
-
<
|
8077
|
-
<fo:
|
8078
|
-
|
8079
|
-
<
|
8080
|
-
|
8081
|
-
|
8082
|
-
|
8083
|
-
|
8177
|
+
<xsl:call-template name="insert_basic_link">
|
8178
|
+
<xsl:with-param name="element">
|
8179
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
8180
|
+
<fo:inline-container inline-progression-dimension="100%">
|
8181
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
8182
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
8183
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
8184
|
+
</xsl:if> -->
|
8185
|
+
<fo:block> </fo:block></fo:block-container>
|
8186
|
+
</fo:inline-container>
|
8187
|
+
</fo:basic-link>
|
8188
|
+
</xsl:with-param>
|
8189
|
+
</xsl:call-template>
|
8084
8190
|
</fo:block>
|
8085
8191
|
</fo:block-container>
|
8086
8192
|
</xsl:template>
|
@@ -9626,14 +9732,18 @@
|
|
9626
9732
|
</xsl:template>
|
9627
9733
|
|
9628
9734
|
<xsl:template match="*[local-name() = 'origin']">
|
9629
|
-
<
|
9630
|
-
<xsl:
|
9631
|
-
<
|
9632
|
-
|
9633
|
-
|
9634
|
-
|
9635
|
-
|
9636
|
-
|
9735
|
+
<xsl:call-template name="insert_basic_link">
|
9736
|
+
<xsl:with-param name="element">
|
9737
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
9738
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
9739
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
9740
|
+
</xsl:if>
|
9741
|
+
<fo:inline xsl:use-attribute-sets="origin-style">
|
9742
|
+
<xsl:apply-templates/>
|
9743
|
+
</fo:inline>
|
9744
|
+
</fo:basic-link>
|
9745
|
+
</xsl:with-param>
|
9746
|
+
</xsl:call-template>
|
9637
9747
|
</xsl:template>
|
9638
9748
|
|
9639
9749
|
<!-- not using, see https://github.com/glossarist/iev-document/issues/23 -->
|
@@ -9707,9 +9817,13 @@
|
|
9707
9817
|
<xsl:if test="../*[local-name() = 'author']">
|
9708
9818
|
<xsl:text>, </xsl:text>
|
9709
9819
|
</xsl:if>
|
9710
|
-
<
|
9711
|
-
<xsl:
|
9712
|
-
|
9820
|
+
<xsl:call-template name="insert_basic_link">
|
9821
|
+
<xsl:with-param name="element">
|
9822
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
9823
|
+
<xsl:apply-templates/>
|
9824
|
+
</fo:basic-link>
|
9825
|
+
</xsl:with-param>
|
9826
|
+
</xsl:call-template>
|
9713
9827
|
</xsl:template>
|
9714
9828
|
|
9715
9829
|
<xsl:template match="*[local-name() = 'author']">
|
@@ -9758,25 +9872,29 @@
|
|
9758
9872
|
<xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
|
9759
9873
|
<xsl:variable name="text" select="normalize-space()"/>
|
9760
9874
|
|
9761
|
-
<
|
9762
|
-
<xsl:
|
9763
|
-
<
|
9764
|
-
|
9765
|
-
|
9875
|
+
<xsl:call-template name="insert_basic_link">
|
9876
|
+
<xsl:with-param name="element">
|
9877
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
9878
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
9879
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
9880
|
+
</xsl:if>
|
9881
|
+
<xsl:if test="@type = 'inline'">
|
9766
9882
|
|
9767
|
-
|
9883
|
+
</xsl:if>
|
9768
9884
|
|
9769
|
-
|
9770
|
-
|
9771
|
-
|
9772
|
-
|
9773
|
-
|
9774
|
-
|
9775
|
-
|
9776
|
-
|
9885
|
+
<xsl:choose>
|
9886
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
9887
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
9888
|
+
</xsl:when>
|
9889
|
+
<xsl:otherwise>
|
9890
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
9891
|
+
</xsl:otherwise>
|
9892
|
+
</xsl:choose>
|
9777
9893
|
|
9778
|
-
|
9779
|
-
|
9894
|
+
<xsl:apply-templates/>
|
9895
|
+
</fo:basic-link>
|
9896
|
+
</xsl:with-param>
|
9897
|
+
</xsl:call-template>
|
9780
9898
|
|
9781
9899
|
</fo:inline>
|
9782
9900
|
</xsl:when>
|
@@ -10027,7 +10145,10 @@
|
|
10027
10145
|
<xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/>
|
10028
10146
|
|
10029
10147
|
<xsl:template name="setULLabel">
|
10030
|
-
<xsl:variable name="
|
10148
|
+
<xsl:variable name="list_level__">
|
10149
|
+
<xsl:value-of select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
|
10150
|
+
</xsl:variable>
|
10151
|
+
<xsl:variable name="list_level_" select="number($list_level__)"/>
|
10031
10152
|
<xsl:variable name="list_level">
|
10032
10153
|
<xsl:choose>
|
10033
10154
|
<xsl:when test="$list_level_ <= 3"><xsl:value-of select="$list_level_"/></xsl:when>
|
@@ -10160,9 +10281,11 @@
|
|
10160
10281
|
</fo:block-container>
|
10161
10282
|
</xsl:when>
|
10162
10283
|
<xsl:otherwise>
|
10163
|
-
|
10164
|
-
|
10165
|
-
|
10284
|
+
|
10285
|
+
<fo:block>
|
10286
|
+
<xsl:apply-templates select="." mode="list"/>
|
10287
|
+
</fo:block>
|
10288
|
+
|
10166
10289
|
</xsl:otherwise>
|
10167
10290
|
</xsl:choose>
|
10168
10291
|
</xsl:template>
|
@@ -10874,24 +10997,32 @@
|
|
10874
10997
|
<xsl:for-each select="*[local-name() = 'tab']">
|
10875
10998
|
<xsl:variable name="current_id" select="generate-id()"/>
|
10876
10999
|
<fo:table-cell>
|
10877
|
-
<fo:block>
|
10878
|
-
<
|
10879
|
-
<xsl:
|
10880
|
-
<
|
10881
|
-
<xsl:
|
10882
|
-
|
10883
|
-
|
10884
|
-
|
10885
|
-
|
11000
|
+
<fo:block line-height-shift-adjustment="disregard-shifts">
|
11001
|
+
<xsl:call-template name="insert_basic_link">
|
11002
|
+
<xsl:with-param name="element">
|
11003
|
+
<fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
|
11004
|
+
<xsl:for-each select="following-sibling::node()[not(self::*[local-name() = 'tab']) and preceding-sibling::*[local-name() = 'tab'][1][generate-id() = $current_id]]">
|
11005
|
+
<xsl:choose>
|
11006
|
+
<xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
|
11007
|
+
<xsl:otherwise><xsl:apply-templates select="."/></xsl:otherwise>
|
11008
|
+
</xsl:choose>
|
11009
|
+
</xsl:for-each>
|
11010
|
+
</fo:basic-link>
|
11011
|
+
</xsl:with-param>
|
11012
|
+
</xsl:call-template>
|
10886
11013
|
</fo:block>
|
10887
11014
|
</fo:table-cell>
|
10888
11015
|
</xsl:for-each>
|
10889
11016
|
<!-- last column - for page numbers -->
|
10890
11017
|
<fo:table-cell text-align="right" font-size="10pt" font-weight="bold" font-family="Arial">
|
10891
11018
|
<fo:block>
|
10892
|
-
<
|
10893
|
-
<
|
10894
|
-
|
11019
|
+
<xsl:call-template name="insert_basic_link">
|
11020
|
+
<xsl:with-param name="element">
|
11021
|
+
<fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
|
11022
|
+
<fo:page-number-citation ref-id="{$target}"/>
|
11023
|
+
</fo:basic-link>
|
11024
|
+
</xsl:with-param>
|
11025
|
+
</xsl:call-template>
|
10895
11026
|
</fo:block>
|
10896
11027
|
</fo:table-cell>
|
10897
11028
|
</xsl:template>
|
@@ -10933,6 +11064,27 @@
|
|
10933
11064
|
<!-- End Table of Contents (ToC) processing -->
|
10934
11065
|
<!-- =================== -->
|
10935
11066
|
|
11067
|
+
<!-- insert fo:basic-link, if external-destination or internal-destination is non-empty, otherwise insert fo:inline -->
|
11068
|
+
<xsl:template name="insert_basic_link">
|
11069
|
+
<xsl:param name="element"/>
|
11070
|
+
<xsl:variable name="element_node" select="xalan:nodeset($element)"/>
|
11071
|
+
<xsl:variable name="external-destination" select="normalize-space(count($element_node/fo:basic-link/@external-destination[. != '']) = 1)"/>
|
11072
|
+
<xsl:variable name="internal-destination" select="normalize-space(count($element_node/fo:basic-link/@internal-destination[. != '']) = 1)"/>
|
11073
|
+
<xsl:choose>
|
11074
|
+
<xsl:when test="$external-destination = 'true' or $internal-destination = 'true'">
|
11075
|
+
<xsl:copy-of select="$element_node"/>
|
11076
|
+
</xsl:when>
|
11077
|
+
<xsl:otherwise>
|
11078
|
+
<fo:inline>
|
11079
|
+
<xsl:for-each select="$element_node/fo:basic-link/@*[local-name() != 'external-destination' and local-name() != 'internal-destination' and local-name() != 'alt-text']">
|
11080
|
+
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
|
11081
|
+
</xsl:for-each>
|
11082
|
+
<xsl:copy-of select="$element_node/fo:basic-link/node()"/>
|
11083
|
+
</fo:inline>
|
11084
|
+
</xsl:otherwise>
|
11085
|
+
</xsl:choose>
|
11086
|
+
</xsl:template>
|
11087
|
+
|
10936
11088
|
<xsl:template match="*[local-name() = 'variant-title']"/> <!-- [@type = 'sub'] -->
|
10937
11089
|
<xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
|
10938
11090
|
<fo:inline padding-right="5mm"> </fo:inline>
|
@@ -195,6 +195,12 @@ module IsoDoc
|
|
195
195
|
ret.gsub(/-/, "‑").gsub(/ /, " ")
|
196
196
|
end
|
197
197
|
|
198
|
+
def toc_title(docxml)
|
199
|
+
doctype = docxml.at(ns("//bibdata/ext/doctype"))
|
200
|
+
doctype&.text == "resolution" and return
|
201
|
+
super
|
202
|
+
end
|
203
|
+
|
198
204
|
include Init
|
199
205
|
end
|
200
206
|
end
|
@@ -22,24 +22,28 @@ module IsoDoc
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def make_body2(body, docxml)
|
25
|
-
body.div
|
25
|
+
body.div class: "WordSection2" do |div2|
|
26
26
|
info docxml, div2
|
27
27
|
boilerplate docxml, div2
|
28
|
-
|
29
|
-
abstract docxml, div2
|
30
|
-
keywords docxml, div2
|
31
|
-
preface docxml, div2
|
28
|
+
front docxml, div2
|
32
29
|
div2.p { |p| p << " " } # placeholder
|
33
30
|
end
|
34
31
|
section_break(body)
|
35
32
|
end
|
36
33
|
|
37
|
-
def
|
38
|
-
|
39
|
-
|
40
|
-
clause_name(f, "Summary", s, class: "AbstractTitle")
|
41
|
-
f.elements.each { |e| parse(e, s) unless e.name == "title" }
|
34
|
+
def front(isoxml, out)
|
35
|
+
if !isoxml.at(ns("//preface/abstract"))
|
36
|
+
keywords(isoxml, out)
|
42
37
|
end
|
38
|
+
super # do keyword with abstract
|
39
|
+
end
|
40
|
+
|
41
|
+
def abstract(clause, out)
|
42
|
+
out.div **attr_code(id: clause["id"], class: "Abstract") do |s|
|
43
|
+
clause_name(clause, "Summary", s, class: "AbstractTitle")
|
44
|
+
clause.elements.each { |e| parse(e, s) unless e.name == "title" }
|
45
|
+
end
|
46
|
+
keywords(nil, out)
|
43
47
|
end
|
44
48
|
|
45
49
|
def keywords(_docxml, out)
|
@@ -47,7 +51,7 @@ module IsoDoc
|
|
47
51
|
kw.nil? || kw.empty? and return
|
48
52
|
out.div **attr_code(class: "Keyword") do |div|
|
49
53
|
clause_name(nil, "Keywords", div, class: "IntroTitle")
|
50
|
-
div.p kw.join(
|
54
|
+
div.p "#{kw.join(', ')}."
|
51
55
|
end
|
52
56
|
end
|
53
57
|
|
@@ -127,6 +131,24 @@ module IsoDoc
|
|
127
131
|
super.merge(ret)
|
128
132
|
end
|
129
133
|
|
134
|
+
def table_of_contents(clause, out)
|
135
|
+
page_break(out)
|
136
|
+
out.div **attr_code(preface_attrs(clause)) do |div|
|
137
|
+
div.p class: "zzContents" do |p|
|
138
|
+
clause.at(ns("./title"))&.children&.each do |c|
|
139
|
+
parse(c, p)
|
140
|
+
end
|
141
|
+
end
|
142
|
+
div.p style: "tab-stops:right 17.0cm" do |p|
|
143
|
+
insert_tab(p, 1)
|
144
|
+
p << "<b>#{@i18n.page}</b>"
|
145
|
+
end
|
146
|
+
clause.elements.each do |e|
|
147
|
+
parse(e, div) unless e.name == "title"
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
130
152
|
include BaseConvert
|
131
153
|
include Init
|
132
154
|
end
|
@@ -17,6 +17,7 @@
|
|
17
17
|
these elements; we just want one namespace for any child grammars
|
18
18
|
of this.
|
19
19
|
-->
|
20
|
+
<!-- VERSION v1.2.1 -->
|
20
21
|
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
21
22
|
<include href="reqt.rng"/>
|
22
23
|
<include href="basicdoc.rng">
|
@@ -1349,15 +1350,19 @@
|
|
1349
1350
|
</choice>
|
1350
1351
|
</element>
|
1351
1352
|
</define>
|
1353
|
+
<define name="Root-Attributes">
|
1354
|
+
<attribute name="version"/>
|
1355
|
+
<attribute name="schema-version"/>
|
1356
|
+
<attribute name="type">
|
1357
|
+
<choice>
|
1358
|
+
<value>semantic</value>
|
1359
|
+
<value>presentation</value>
|
1360
|
+
</choice>
|
1361
|
+
</attribute>
|
1362
|
+
</define>
|
1352
1363
|
<define name="standard-document">
|
1353
1364
|
<element name="standard-document">
|
1354
|
-
<
|
1355
|
-
<attribute name="type">
|
1356
|
-
<choice>
|
1357
|
-
<value>semantic</value>
|
1358
|
-
<value>presentation</value>
|
1359
|
-
</choice>
|
1360
|
-
</attribute>
|
1365
|
+
<ref name="Root-Attributes"/>
|
1361
1366
|
<ref name="bibdata"/>
|
1362
1367
|
<optional>
|
1363
1368
|
<ref name="misccontainer"/>
|
data/lib/metanorma/itu/itu.rng
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar ns=
|
2
|
+
<grammar ns='https://www.metanorma.org/ns/itu' xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
3
|
<!--
|
4
|
+
VERSION v1.2.1
|
4
5
|
Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
|
5
6
|
we cannot have a new default namespace: we will end up with a grammar with two different
|
6
7
|
namespaces, one for isostandard and one for csand additions. And we do not want that.
|
@@ -101,13 +102,7 @@
|
|
101
102
|
</include>
|
102
103
|
<define name="itu">
|
103
104
|
<element name="itu-standard">
|
104
|
-
<
|
105
|
-
<attribute name="type">
|
106
|
-
<choice>
|
107
|
-
<value>semantic</value>
|
108
|
-
<value>presentation</value>
|
109
|
-
</choice>
|
110
|
-
</attribute>
|
105
|
+
<ref name="Root-Attributes"/>
|
111
106
|
<ref name="bibdata"/>
|
112
107
|
<zeroOrMore>
|
113
108
|
<ref name="termdocsource"/>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-itu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: htmlentities
|