metanorma-ogc 2.6.3 → 2.6.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +85 -22
- data/lib/isodoc/ogc/ogc.best-practice.xsl +85 -22
- data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +85 -22
- data/lib/isodoc/ogc/ogc.community-practice.xsl +85 -22
- data/lib/isodoc/ogc/ogc.community-standard.xsl +85 -22
- data/lib/isodoc/ogc/ogc.discussion-paper.xsl +85 -22
- data/lib/isodoc/ogc/ogc.draft-standard.xsl +85 -22
- data/lib/isodoc/ogc/ogc.engineering-report.xsl +85 -22
- data/lib/isodoc/ogc/ogc.other.xsl +85 -22
- data/lib/isodoc/ogc/ogc.policy.xsl +85 -22
- data/lib/isodoc/ogc/ogc.reference-model.xsl +85 -22
- data/lib/isodoc/ogc/ogc.release-notes.xsl +85 -22
- data/lib/isodoc/ogc/ogc.standard.xsl +85 -22
- data/lib/isodoc/ogc/ogc.test-suite.xsl +85 -22
- data/lib/isodoc/ogc/ogc.user-guide.xsl +85 -22
- data/lib/isodoc/ogc/ogc.white-paper.xsl +85 -22
- data/lib/metanorma/ogc/biblio-standoc.rng +13 -0
- data/lib/metanorma/ogc/biblio.rng +19 -12
- data/lib/metanorma/ogc/front.rb +1 -0
- data/lib/metanorma/ogc/relaton-ogc.rng +28 -0
- data/lib/metanorma/ogc/version.rb +1 -1
- metadata +2 -2
@@ -5383,7 +5383,8 @@
|
|
5383
5383
|
</xsl:choose>
|
5384
5384
|
</xsl:variable>
|
5385
5385
|
<xsl:variable name="current_fn_number_text">
|
5386
|
-
|
5386
|
+
|
5387
|
+
<xsl:value-of select="$current_fn_number"/>
|
5387
5388
|
|
5388
5389
|
</xsl:variable>
|
5389
5390
|
|
@@ -5419,8 +5420,10 @@
|
|
5419
5420
|
|
5420
5421
|
<xsl:call-template name="insert_basic_link">
|
5421
5422
|
<xsl:with-param name="element">
|
5422
|
-
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl"
|
5423
|
-
<
|
5423
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}"> <!-- note: role="Lbl" removed in https://github.com/metanorma/mn2pdf/issues/291 -->
|
5424
|
+
<fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
|
5425
|
+
<xsl:copy-of select="$current_fn_number_text"/>
|
5426
|
+
</fo:inline>
|
5424
5427
|
</fo:basic-link>
|
5425
5428
|
</xsl:with-param>
|
5426
5429
|
</xsl:call-template>
|
@@ -5707,7 +5710,7 @@
|
|
5707
5710
|
|
5708
5711
|
<xsl:call-template name="refine_fn-reference-style"/>
|
5709
5712
|
|
5710
|
-
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
5713
|
+
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
5711
5714
|
<xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
|
5712
5715
|
<xsl:attribute name="internal-destination">
|
5713
5716
|
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
@@ -6722,9 +6725,19 @@
|
|
6722
6725
|
</fo:inline>
|
6723
6726
|
</xsl:template>
|
6724
6727
|
|
6725
|
-
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
6728
|
+
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]" name="smallcaps">
|
6729
|
+
<xsl:param name="txt"/>
|
6726
6730
|
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
6727
|
-
<xsl:variable name="text"
|
6731
|
+
<xsl:variable name="text">
|
6732
|
+
<xsl:choose>
|
6733
|
+
<xsl:when test="$txt != ''">
|
6734
|
+
<xsl:value-of select="$txt"/>
|
6735
|
+
</xsl:when>
|
6736
|
+
<xsl:otherwise>
|
6737
|
+
<xsl:value-of select="."/>
|
6738
|
+
</xsl:otherwise>
|
6739
|
+
</xsl:choose>
|
6740
|
+
</xsl:variable>
|
6728
6741
|
<xsl:variable name="ratio_">
|
6729
6742
|
0.75
|
6730
6743
|
</xsl:variable>
|
@@ -8170,9 +8183,12 @@
|
|
8170
8183
|
<xsl:apply-templates/>
|
8171
8184
|
</xsl:when>
|
8172
8185
|
<xsl:otherwise>
|
8186
|
+
<xsl:variable name="alt_text">
|
8187
|
+
<xsl:call-template name="getAltText"/>
|
8188
|
+
</xsl:variable>
|
8173
8189
|
<xsl:call-template name="insert_basic_link">
|
8174
8190
|
<xsl:with-param name="element">
|
8175
|
-
<fo:basic-link external-destination="{$target}" fox:alt-text="{$
|
8191
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$alt_text}">
|
8176
8192
|
<xsl:if test="$isLinkToEmbeddedFile = 'true'">
|
8177
8193
|
<xsl:attribute name="role">Annot</xsl:attribute>
|
8178
8194
|
</xsl:if>
|
@@ -8199,6 +8215,14 @@
|
|
8199
8215
|
</fo:inline>
|
8200
8216
|
</xsl:template> <!-- link -->
|
8201
8217
|
|
8218
|
+
<xsl:template name="getAltText">
|
8219
|
+
<xsl:choose>
|
8220
|
+
<xsl:when test="normalize-space(.) = ''"><xsl:value-of select="@target"/></xsl:when>
|
8221
|
+
<xsl:otherwise><xsl:value-of select="normalize-space(translate(normalize-space(), ' —', ' -'))"/></xsl:otherwise>
|
8222
|
+
<!-- <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise> -->
|
8223
|
+
</xsl:choose>
|
8224
|
+
</xsl:template>
|
8225
|
+
|
8202
8226
|
<!-- ======================== -->
|
8203
8227
|
<!-- Appendix processing -->
|
8204
8228
|
<!-- ======================== -->
|
@@ -8229,7 +8253,7 @@
|
|
8229
8253
|
<xsl:template match="*[local-name() = 'callout']">
|
8230
8254
|
<xsl:choose>
|
8231
8255
|
<xsl:when test="normalize-space(@target) = ''"><<xsl:apply-templates/>></xsl:when>
|
8232
|
-
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{
|
8256
|
+
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{normalize-space()}"><<xsl:apply-templates/>></fo:basic-link></xsl:otherwise>
|
8233
8257
|
</xsl:choose>
|
8234
8258
|
</xsl:template>
|
8235
8259
|
|
@@ -8262,7 +8286,10 @@
|
|
8262
8286
|
<xsl:template match="*[local-name() = 'xref']">
|
8263
8287
|
<xsl:call-template name="insert_basic_link">
|
8264
8288
|
<xsl:with-param name="element">
|
8265
|
-
<
|
8289
|
+
<xsl:variable name="alt_text">
|
8290
|
+
<xsl:call-template name="getAltText"/>
|
8291
|
+
</xsl:variable>
|
8292
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{$alt_text}" xsl:use-attribute-sets="xref-style">
|
8266
8293
|
<xsl:if test="string-length(normalize-space()) < 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
|
8267
8294
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
8268
8295
|
</xsl:if>
|
@@ -10797,12 +10824,14 @@
|
|
10797
10824
|
|
10798
10825
|
<xsl:when test="contains(normalize-space($fo_element), 'list')">
|
10799
10826
|
|
10800
|
-
<xsl:variable name="
|
10827
|
+
<xsl:variable name="provisional_distance_between_starts_">
|
10801
10828
|
7
|
10802
10829
|
</xsl:variable>
|
10803
|
-
<xsl:variable name="
|
10830
|
+
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
10831
|
+
<xsl:variable name="indent_">
|
10804
10832
|
0
|
10805
10833
|
</xsl:variable>
|
10834
|
+
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
10806
10835
|
|
10807
10836
|
<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
|
10808
10837
|
<fo:list-item>
|
@@ -11524,14 +11553,17 @@
|
|
11524
11553
|
</xsl:when>
|
11525
11554
|
<xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
|
11526
11555
|
|
11527
|
-
<xsl:variable name="
|
11556
|
+
<xsl:variable name="type" select="../@type"/>
|
11528
11557
|
|
11529
|
-
|
11558
|
+
<xsl:variable name="label">
|
11530
11559
|
|
11531
11560
|
<xsl:variable name="style_prefix_">
|
11532
11561
|
<xsl:if test="$type = 'roman'">
|
11533
11562
|
<!-- Example: (i) -->
|
11534
11563
|
</xsl:if>
|
11564
|
+
<xsl:if test="$type = 'alphabet'">
|
11565
|
+
|
11566
|
+
</xsl:if>
|
11535
11567
|
</xsl:variable>
|
11536
11568
|
<xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
|
11537
11569
|
|
@@ -11557,13 +11589,15 @@
|
|
11557
11589
|
<xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
|
11558
11590
|
<xsl:value-of select="$style_prefix"/>
|
11559
11591
|
</xsl:if>
|
11592
|
+
|
11560
11593
|
<xsl:value-of select="@label"/>
|
11594
|
+
|
11561
11595
|
<xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
|
11562
11596
|
<xsl:value-of select="$style_suffix"/>
|
11563
11597
|
</xsl:if>
|
11564
11598
|
</xsl:variable>
|
11565
11599
|
|
11566
|
-
|
11600
|
+
<xsl:value-of select="normalize-space($label)"/>
|
11567
11601
|
|
11568
11602
|
</xsl:when>
|
11569
11603
|
<xsl:otherwise> <!-- for ordered lists 'ol' -->
|
@@ -13767,7 +13801,8 @@
|
|
13767
13801
|
<xsl:variable name="description" select="normalize-space($bibitem_attachment/*[local-name() = 'formattedref'])"/>
|
13768
13802
|
<xsl:variable name="filename" select="java:org.metanorma.fop.Util.getFilenameFromPath(@name)"/>
|
13769
13803
|
<!-- Todo: need update -->
|
13770
|
-
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = '
|
13804
|
+
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
13805
|
+
<xsl:variable name="volatile" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
13771
13806
|
|
13772
13807
|
<pdf:embedded-file filename="{$filename}" link-as-file-annotation="true">
|
13773
13808
|
<xsl:attribute name="src">
|
@@ -13788,6 +13823,9 @@
|
|
13788
13823
|
<xsl:if test="$afrelationship != ''">
|
13789
13824
|
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
13790
13825
|
</xsl:if>
|
13826
|
+
<xsl:if test="$volatile != ''">
|
13827
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
13828
|
+
</xsl:if>
|
13791
13829
|
</pdf:embedded-file>
|
13792
13830
|
</xsl:for-each>
|
13793
13831
|
<!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
|
@@ -13798,14 +13836,18 @@
|
|
13798
13836
|
<xsl:variable name="url" select="concat('url(file:///',$basepath, $attachment_path, ')')"/>
|
13799
13837
|
<xsl:variable name="description" select="normalize-space(*[local-name() = 'formattedref'])"/>
|
13800
13838
|
<!-- Todo: need update -->
|
13801
|
-
|
13839
|
+
<xsl:variable name="afrelationship" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
13840
|
+
<xsl:variable name="volatile" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
13802
13841
|
<pdf:embedded-file src="{$url}" filename="{$attachment_name}" link-as-file-annotation="true">
|
13803
13842
|
<xsl:if test="$description != ''">
|
13804
13843
|
<xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
|
13805
13844
|
</xsl:if>
|
13806
13845
|
<xsl:if test="$afrelationship != ''">
|
13807
|
-
|
13808
|
-
|
13846
|
+
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
13847
|
+
</xsl:if>
|
13848
|
+
<xsl:if test="$volatile != ''">
|
13849
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
13850
|
+
</xsl:if>
|
13809
13851
|
</pdf:embedded-file>
|
13810
13852
|
</xsl:for-each>
|
13811
13853
|
</xsl:if>
|
@@ -13852,10 +13894,31 @@
|
|
13852
13894
|
<xsl:value-of select="$level_total - 2"/>
|
13853
13895
|
</xsl:when>
|
13854
13896
|
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'title']">
|
13855
|
-
|
13897
|
+
<!-- determine 'depth' depends on upper clause with title/@depth -->
|
13898
|
+
<!-- <xsl:message>title=<xsl:value-of select="."/></xsl:message> -->
|
13899
|
+
<xsl:variable name="clause_with_depth_depth" select="ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/*[local-name() = 'title']/@depth"/>
|
13900
|
+
<!-- <xsl:message>clause_with_depth_depth=<xsl:value-of select="$clause_with_depth_depth"/></xsl:message> -->
|
13901
|
+
<xsl:variable name="clause_with_depth_level" select="count(ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/ancestor::*)"/>
|
13902
|
+
<!-- <xsl:message>clause_with_depth_level=<xsl:value-of select="$clause_with_depth_level"/></xsl:message> -->
|
13903
|
+
<xsl:variable name="curr_level" select="count(ancestor::*) - 1"/>
|
13904
|
+
<!-- <xsl:message>curr_level=<xsl:value-of select="$curr_level"/></xsl:message> -->
|
13905
|
+
<!-- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/> -->
|
13906
|
+
<xsl:variable name="curr_clause_depth" select="number($clause_with_depth_depth) + (number($curr_level) - number($clause_with_depth_level)) "/>
|
13907
|
+
<!-- <xsl:message>curr_clause_depth=<xsl:value-of select="$curr_clause_depth"/></xsl:message> -->
|
13856
13908
|
<xsl:choose>
|
13857
|
-
<xsl:when test="string(number($
|
13858
|
-
<xsl:value-of select="number($
|
13909
|
+
<xsl:when test="string(number($curr_clause_depth)) != 'NaN'">
|
13910
|
+
<xsl:value-of select="number($curr_clause_depth)"/>
|
13911
|
+
</xsl:when>
|
13912
|
+
<xsl:otherwise>
|
13913
|
+
<xsl:value-of select="$level_total - 2"/>
|
13914
|
+
</xsl:otherwise>
|
13915
|
+
</xsl:choose>
|
13916
|
+
</xsl:when>
|
13917
|
+
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'name'] and parent::*[local-name() = 'term']">
|
13918
|
+
<xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::*[local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
13919
|
+
<xsl:choose>
|
13920
|
+
<xsl:when test="string(number($upper_terms_depth)) != 'NaN'">
|
13921
|
+
<xsl:value-of select="number($upper_terms_depth + 1)"/>
|
13859
13922
|
</xsl:when>
|
13860
13923
|
<xsl:otherwise>
|
13861
13924
|
<xsl:value-of select="$level_total - 2"/>
|
@@ -13863,7 +13926,7 @@
|
|
13863
13926
|
</xsl:choose>
|
13864
13927
|
</xsl:when>
|
13865
13928
|
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
13866
|
-
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][1]/*[local-name() = 'title']/@depth)"/>
|
13929
|
+
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause' or local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
13867
13930
|
<xsl:choose>
|
13868
13931
|
<xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
|
13869
13932
|
<xsl:value-of select="number($upper_clause_depth + 1)"/>
|
@@ -4184,7 +4184,8 @@
|
|
4184
4184
|
</xsl:choose>
|
4185
4185
|
</xsl:variable>
|
4186
4186
|
<xsl:variable name="current_fn_number_text">
|
4187
|
-
|
4187
|
+
|
4188
|
+
<xsl:value-of select="$current_fn_number"/>
|
4188
4189
|
|
4189
4190
|
</xsl:variable>
|
4190
4191
|
|
@@ -4220,8 +4221,10 @@
|
|
4220
4221
|
|
4221
4222
|
<xsl:call-template name="insert_basic_link">
|
4222
4223
|
<xsl:with-param name="element">
|
4223
|
-
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl"
|
4224
|
-
<
|
4224
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}"> <!-- note: role="Lbl" removed in https://github.com/metanorma/mn2pdf/issues/291 -->
|
4225
|
+
<fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
|
4226
|
+
<xsl:copy-of select="$current_fn_number_text"/>
|
4227
|
+
</fo:inline>
|
4225
4228
|
</fo:basic-link>
|
4226
4229
|
</xsl:with-param>
|
4227
4230
|
</xsl:call-template>
|
@@ -4508,7 +4511,7 @@
|
|
4508
4511
|
|
4509
4512
|
<xsl:call-template name="refine_fn-reference-style"/>
|
4510
4513
|
|
4511
|
-
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
4514
|
+
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
4512
4515
|
<xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
|
4513
4516
|
<xsl:attribute name="internal-destination">
|
4514
4517
|
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
@@ -5516,9 +5519,19 @@
|
|
5516
5519
|
</fo:inline>
|
5517
5520
|
</xsl:template>
|
5518
5521
|
|
5519
|
-
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
5522
|
+
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]" name="smallcaps">
|
5523
|
+
<xsl:param name="txt"/>
|
5520
5524
|
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
5521
|
-
<xsl:variable name="text"
|
5525
|
+
<xsl:variable name="text">
|
5526
|
+
<xsl:choose>
|
5527
|
+
<xsl:when test="$txt != ''">
|
5528
|
+
<xsl:value-of select="$txt"/>
|
5529
|
+
</xsl:when>
|
5530
|
+
<xsl:otherwise>
|
5531
|
+
<xsl:value-of select="."/>
|
5532
|
+
</xsl:otherwise>
|
5533
|
+
</xsl:choose>
|
5534
|
+
</xsl:variable>
|
5522
5535
|
<xsl:variable name="ratio_">
|
5523
5536
|
0.75
|
5524
5537
|
</xsl:variable>
|
@@ -6964,9 +6977,12 @@
|
|
6964
6977
|
<xsl:apply-templates/>
|
6965
6978
|
</xsl:when>
|
6966
6979
|
<xsl:otherwise>
|
6980
|
+
<xsl:variable name="alt_text">
|
6981
|
+
<xsl:call-template name="getAltText"/>
|
6982
|
+
</xsl:variable>
|
6967
6983
|
<xsl:call-template name="insert_basic_link">
|
6968
6984
|
<xsl:with-param name="element">
|
6969
|
-
<fo:basic-link external-destination="{$target}" fox:alt-text="{$
|
6985
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$alt_text}">
|
6970
6986
|
<xsl:if test="$isLinkToEmbeddedFile = 'true'">
|
6971
6987
|
<xsl:attribute name="role">Annot</xsl:attribute>
|
6972
6988
|
</xsl:if>
|
@@ -6993,6 +7009,14 @@
|
|
6993
7009
|
</fo:inline>
|
6994
7010
|
</xsl:template> <!-- link -->
|
6995
7011
|
|
7012
|
+
<xsl:template name="getAltText">
|
7013
|
+
<xsl:choose>
|
7014
|
+
<xsl:when test="normalize-space(.) = ''"><xsl:value-of select="@target"/></xsl:when>
|
7015
|
+
<xsl:otherwise><xsl:value-of select="normalize-space(translate(normalize-space(), ' —', ' -'))"/></xsl:otherwise>
|
7016
|
+
<!-- <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise> -->
|
7017
|
+
</xsl:choose>
|
7018
|
+
</xsl:template>
|
7019
|
+
|
6996
7020
|
<!-- ======================== -->
|
6997
7021
|
<!-- Appendix processing -->
|
6998
7022
|
<!-- ======================== -->
|
@@ -7023,7 +7047,7 @@
|
|
7023
7047
|
<xsl:template match="*[local-name() = 'callout']">
|
7024
7048
|
<xsl:choose>
|
7025
7049
|
<xsl:when test="normalize-space(@target) = ''"><<xsl:apply-templates/>></xsl:when>
|
7026
|
-
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{
|
7050
|
+
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{normalize-space()}"><<xsl:apply-templates/>></fo:basic-link></xsl:otherwise>
|
7027
7051
|
</xsl:choose>
|
7028
7052
|
</xsl:template>
|
7029
7053
|
|
@@ -7052,7 +7076,10 @@
|
|
7052
7076
|
<xsl:template match="*[local-name() = 'xref']">
|
7053
7077
|
<xsl:call-template name="insert_basic_link">
|
7054
7078
|
<xsl:with-param name="element">
|
7055
|
-
<
|
7079
|
+
<xsl:variable name="alt_text">
|
7080
|
+
<xsl:call-template name="getAltText"/>
|
7081
|
+
</xsl:variable>
|
7082
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{$alt_text}" xsl:use-attribute-sets="xref-style">
|
7056
7083
|
<xsl:if test="string-length(normalize-space()) < 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
|
7057
7084
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
7058
7085
|
</xsl:if>
|
@@ -9554,12 +9581,14 @@
|
|
9554
9581
|
|
9555
9582
|
<xsl:when test="contains(normalize-space($fo_element), 'list')">
|
9556
9583
|
|
9557
|
-
<xsl:variable name="
|
9584
|
+
<xsl:variable name="provisional_distance_between_starts_">
|
9558
9585
|
7
|
9559
9586
|
</xsl:variable>
|
9560
|
-
<xsl:variable name="
|
9587
|
+
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
9588
|
+
<xsl:variable name="indent_">
|
9561
9589
|
0
|
9562
9590
|
</xsl:variable>
|
9591
|
+
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
9563
9592
|
|
9564
9593
|
<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
|
9565
9594
|
<fo:list-item>
|
@@ -10293,14 +10322,17 @@
|
|
10293
10322
|
</xsl:when>
|
10294
10323
|
<xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
|
10295
10324
|
|
10296
|
-
<xsl:variable name="
|
10325
|
+
<xsl:variable name="type" select="../@type"/>
|
10297
10326
|
|
10298
|
-
|
10327
|
+
<xsl:variable name="label">
|
10299
10328
|
|
10300
10329
|
<xsl:variable name="style_prefix_">
|
10301
10330
|
<xsl:if test="$type = 'roman'">
|
10302
10331
|
<!-- Example: (i) -->
|
10303
10332
|
</xsl:if>
|
10333
|
+
<xsl:if test="$type = 'alphabet'">
|
10334
|
+
|
10335
|
+
</xsl:if>
|
10304
10336
|
</xsl:variable>
|
10305
10337
|
<xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
|
10306
10338
|
|
@@ -10326,13 +10358,15 @@
|
|
10326
10358
|
<xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
|
10327
10359
|
<xsl:value-of select="$style_prefix"/>
|
10328
10360
|
</xsl:if>
|
10361
|
+
|
10329
10362
|
<xsl:value-of select="@label"/>
|
10363
|
+
|
10330
10364
|
<xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
|
10331
10365
|
<xsl:value-of select="$style_suffix"/>
|
10332
10366
|
</xsl:if>
|
10333
10367
|
</xsl:variable>
|
10334
10368
|
|
10335
|
-
|
10369
|
+
<xsl:value-of select="normalize-space($label)"/>
|
10336
10370
|
|
10337
10371
|
</xsl:when>
|
10338
10372
|
<xsl:otherwise> <!-- for ordered lists 'ol' -->
|
@@ -12536,7 +12570,8 @@
|
|
12536
12570
|
<xsl:variable name="description" select="normalize-space($bibitem_attachment/*[local-name() = 'formattedref'])"/>
|
12537
12571
|
<xsl:variable name="filename" select="java:org.metanorma.fop.Util.getFilenameFromPath(@name)"/>
|
12538
12572
|
<!-- Todo: need update -->
|
12539
|
-
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = '
|
12573
|
+
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
12574
|
+
<xsl:variable name="volatile" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
12540
12575
|
|
12541
12576
|
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" filename="{$filename}" link-as-file-annotation="true">
|
12542
12577
|
<xsl:attribute name="src">
|
@@ -12557,6 +12592,9 @@
|
|
12557
12592
|
<xsl:if test="$afrelationship != ''">
|
12558
12593
|
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
12559
12594
|
</xsl:if>
|
12595
|
+
<xsl:if test="$volatile != ''">
|
12596
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
12597
|
+
</xsl:if>
|
12560
12598
|
</pdf:embedded-file>
|
12561
12599
|
</xsl:for-each>
|
12562
12600
|
<!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
|
@@ -12567,14 +12605,18 @@
|
|
12567
12605
|
<xsl:variable name="url" select="concat('url(file:///',$basepath, $attachment_path, ')')"/>
|
12568
12606
|
<xsl:variable name="description" select="normalize-space(*[local-name() = 'formattedref'])"/>
|
12569
12607
|
<!-- Todo: need update -->
|
12570
|
-
|
12608
|
+
<xsl:variable name="afrelationship" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
12609
|
+
<xsl:variable name="volatile" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
12571
12610
|
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{$url}" filename="{$attachment_name}" link-as-file-annotation="true">
|
12572
12611
|
<xsl:if test="$description != ''">
|
12573
12612
|
<xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
|
12574
12613
|
</xsl:if>
|
12575
12614
|
<xsl:if test="$afrelationship != ''">
|
12576
|
-
|
12577
|
-
|
12615
|
+
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
12616
|
+
</xsl:if>
|
12617
|
+
<xsl:if test="$volatile != ''">
|
12618
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
12619
|
+
</xsl:if>
|
12578
12620
|
</pdf:embedded-file>
|
12579
12621
|
</xsl:for-each>
|
12580
12622
|
</xsl:if>
|
@@ -12621,10 +12663,31 @@
|
|
12621
12663
|
<xsl:value-of select="$level_total - 2"/>
|
12622
12664
|
</xsl:when>
|
12623
12665
|
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'title']">
|
12624
|
-
|
12666
|
+
<!-- determine 'depth' depends on upper clause with title/@depth -->
|
12667
|
+
<!-- <xsl:message>title=<xsl:value-of select="."/></xsl:message> -->
|
12668
|
+
<xsl:variable name="clause_with_depth_depth" select="ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/*[local-name() = 'title']/@depth"/>
|
12669
|
+
<!-- <xsl:message>clause_with_depth_depth=<xsl:value-of select="$clause_with_depth_depth"/></xsl:message> -->
|
12670
|
+
<xsl:variable name="clause_with_depth_level" select="count(ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/ancestor::*)"/>
|
12671
|
+
<!-- <xsl:message>clause_with_depth_level=<xsl:value-of select="$clause_with_depth_level"/></xsl:message> -->
|
12672
|
+
<xsl:variable name="curr_level" select="count(ancestor::*) - 1"/>
|
12673
|
+
<!-- <xsl:message>curr_level=<xsl:value-of select="$curr_level"/></xsl:message> -->
|
12674
|
+
<!-- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/> -->
|
12675
|
+
<xsl:variable name="curr_clause_depth" select="number($clause_with_depth_depth) + (number($curr_level) - number($clause_with_depth_level)) "/>
|
12676
|
+
<!-- <xsl:message>curr_clause_depth=<xsl:value-of select="$curr_clause_depth"/></xsl:message> -->
|
12625
12677
|
<xsl:choose>
|
12626
|
-
<xsl:when test="string(number($
|
12627
|
-
<xsl:value-of select="number($
|
12678
|
+
<xsl:when test="string(number($curr_clause_depth)) != 'NaN'">
|
12679
|
+
<xsl:value-of select="number($curr_clause_depth)"/>
|
12680
|
+
</xsl:when>
|
12681
|
+
<xsl:otherwise>
|
12682
|
+
<xsl:value-of select="$level_total - 2"/>
|
12683
|
+
</xsl:otherwise>
|
12684
|
+
</xsl:choose>
|
12685
|
+
</xsl:when>
|
12686
|
+
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'name'] and parent::*[local-name() = 'term']">
|
12687
|
+
<xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::*[local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
12688
|
+
<xsl:choose>
|
12689
|
+
<xsl:when test="string(number($upper_terms_depth)) != 'NaN'">
|
12690
|
+
<xsl:value-of select="number($upper_terms_depth + 1)"/>
|
12628
12691
|
</xsl:when>
|
12629
12692
|
<xsl:otherwise>
|
12630
12693
|
<xsl:value-of select="$level_total - 2"/>
|
@@ -12632,7 +12695,7 @@
|
|
12632
12695
|
</xsl:choose>
|
12633
12696
|
</xsl:when>
|
12634
12697
|
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
12635
|
-
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][1]/*[local-name() = 'title']/@depth)"/>
|
12698
|
+
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause' or local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
12636
12699
|
<xsl:choose>
|
12637
12700
|
<xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
|
12638
12701
|
<xsl:value-of select="number($upper_clause_depth + 1)"/>
|
@@ -72,6 +72,9 @@ standards defining organization, and that is rendered in a distinct manner</a:do
|
|
72
72
|
from other documents in the same doctype</a:documentation>
|
73
73
|
</ref>
|
74
74
|
</optional>
|
75
|
+
<ref name="flavor">
|
76
|
+
<a:documentation>Flavour of Metanorma used to process this document</a:documentation>
|
77
|
+
</ref>
|
75
78
|
<optional>
|
76
79
|
<ref name="editorialgroup">
|
77
80
|
<a:documentation>Groups associated with the production of the standards document, typically within
|
@@ -113,6 +116,16 @@ a standards definition organization</a:documentation>
|
|
113
116
|
<define name="DocumentSubtype">
|
114
117
|
<text/>
|
115
118
|
</define>
|
119
|
+
<define name="flavor">
|
120
|
+
<element name="flavor">
|
121
|
+
<ref name="MetanormaFlavor"/>
|
122
|
+
</element>
|
123
|
+
</define>
|
124
|
+
<define name="MetanormaFlavor">
|
125
|
+
<a:documentation>This is in fact an enum, as of this writing: standoc iso generic ietf ieee itu nist ogc csa cc iho ribose jis iec bsi bipm plateau.
|
126
|
+
However we prefer not to hardcode it, given ongoing extension.</a:documentation>
|
127
|
+
<text/>
|
128
|
+
</define>
|
116
129
|
<define name="editorialgroup">
|
117
130
|
<a:documentation>A group associated with the production of the standards document, typically within
|
118
131
|
a standards definition organization</a:documentation>
|
@@ -1382,18 +1382,7 @@ Applies whether the resource has already been created or not, and whether it is
|
|
1382
1382
|
<define name="bdate">
|
1383
1383
|
<a:documentation>Significant date in the lifecycle of the bibliographic item, including its production and its access</a:documentation>
|
1384
1384
|
<element name="date">
|
1385
|
-
<
|
1386
|
-
<a:documentation>The phase of the production of or access to a bibliographic item</a:documentation>
|
1387
|
-
<choice>
|
1388
|
-
<ref name="BibliographicDateType"/>
|
1389
|
-
<text/>
|
1390
|
-
</choice>
|
1391
|
-
</attribute>
|
1392
|
-
<optional>
|
1393
|
-
<attribute name="text">
|
1394
|
-
<a:documentation>An optional textual description of the date, especially when a Gregorian date is not applicable</a:documentation>
|
1395
|
-
</attribute>
|
1396
|
-
</optional>
|
1385
|
+
<ref name="bDateAttributes"/>
|
1397
1386
|
<optional>
|
1398
1387
|
<choice>
|
1399
1388
|
<group>
|
@@ -1416,6 +1405,20 @@ Applies whether the resource has already been created or not, and whether it is
|
|
1416
1405
|
</optional>
|
1417
1406
|
</element>
|
1418
1407
|
</define>
|
1408
|
+
<define name="bDateAttributes">
|
1409
|
+
<attribute name="type">
|
1410
|
+
<a:documentation>The phase of the production of or access to a bibliographic item</a:documentation>
|
1411
|
+
<choice>
|
1412
|
+
<ref name="BibliographicDateType"/>
|
1413
|
+
<text/>
|
1414
|
+
</choice>
|
1415
|
+
</attribute>
|
1416
|
+
<optional>
|
1417
|
+
<attribute name="text">
|
1418
|
+
<a:documentation>An optional textual description of the date, especially when a Gregorian date is not applicable</a:documentation>
|
1419
|
+
</attribute>
|
1420
|
+
</optional>
|
1421
|
+
</define>
|
1419
1422
|
<define name="docidentifier">
|
1420
1423
|
<a:documentation>An identifier of a bibliographic item in an international standard scheme</a:documentation>
|
1421
1424
|
<element name="docidentifier">
|
@@ -1884,6 +1887,10 @@ Detailed in https://www.relaton.org/model/relations/</a:documentation>
|
|
1884
1887
|
<value>hasAnnotation</value>
|
1885
1888
|
<value>draftOf</value>
|
1886
1889
|
<value>hasDraft</value>
|
1890
|
+
<value>preliminaryDraftOf</value>
|
1891
|
+
<value>hasPreliminaryDraft</value>
|
1892
|
+
<value>revisionDraftOf</value>
|
1893
|
+
<value>hasRevisionDraft</value>
|
1887
1894
|
<value>editionOf</value>
|
1888
1895
|
<value>hasEdition</value>
|
1889
1896
|
<value>updates</value>
|
data/lib/metanorma/ogc/front.rb
CHANGED
@@ -55,11 +55,17 @@
|
|
55
55
|
<optional>
|
56
56
|
<ref name="docsubtype"/>
|
57
57
|
</optional>
|
58
|
+
<ref name="flavor"/>
|
58
59
|
<ref name="editorialgroup"/>
|
59
60
|
<zeroOrMore>
|
60
61
|
<ref name="ics"/>
|
61
62
|
</zeroOrMore>
|
62
63
|
</define>
|
64
|
+
<define name="stage">
|
65
|
+
<element name="stage">
|
66
|
+
<ref name="StageType"/>
|
67
|
+
</element>
|
68
|
+
</define>
|
63
69
|
</include>
|
64
70
|
<define name="committee">
|
65
71
|
<element name="committee">
|
@@ -80,4 +86,26 @@
|
|
80
86
|
<ref name="IsoWorkgroup"/>
|
81
87
|
</element>
|
82
88
|
</define>
|
89
|
+
<define name="StageType">
|
90
|
+
<choice>
|
91
|
+
<value>rfc</value>
|
92
|
+
<value>candidate</value>
|
93
|
+
<value>published</value>
|
94
|
+
<value>deprecated</value>
|
95
|
+
<value>retired</value>
|
96
|
+
<value>legacy</value>
|
97
|
+
<value>rescinded</value>
|
98
|
+
<value>draft</value>
|
99
|
+
<value>work-item-draft</value>
|
100
|
+
<value>swg-draft</value>
|
101
|
+
<value>oab-review</value>
|
102
|
+
<value>public-ref</value>
|
103
|
+
<value>tc-vote</value>
|
104
|
+
<value>approved</value>
|
105
|
+
<value>deprecated</value>
|
106
|
+
<value>rescinded</value>
|
107
|
+
<value>retired</value>
|
108
|
+
<value>legacy</value>
|
109
|
+
</choice>
|
110
|
+
</define>
|
83
111
|
</grammar>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-ogc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: iso-639
|