metanorma-cc 2.5.3 → 2.5.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/cc/base_convert.rb +2 -2
- data/lib/isodoc/cc/cc.standard.xsl +125 -58
- data/lib/isodoc/cc/html_convert.rb +1 -1
- data/lib/isodoc/cc/i18n.rb +2 -2
- data/lib/isodoc/cc/init.rb +1 -1
- data/lib/isodoc/cc/metadata.rb +2 -2
- data/lib/isodoc/cc/pdf_convert.rb +1 -1
- data/lib/isodoc/cc/presentation_xml_convert.rb +1 -1
- data/lib/isodoc/cc/word_convert.rb +1 -1
- data/lib/isodoc/cc/xref.rb +1 -1
- data/lib/metanorma/cc/biblio-standoc.rng +13 -0
- data/lib/metanorma/cc/biblio.rng +19 -12
- data/lib/metanorma/cc/converter.rb +7 -7
- data/lib/metanorma/cc/processor.rb +7 -7
- data/lib/metanorma/cc/relaton-cc.rng +1 -0
- data/lib/metanorma/cc/validate_section.rb +1 -1
- data/lib/metanorma/cc/version.rb +2 -2
- data/lib/metanorma/cc.rb +2 -2
- data/lib/metanorma-cc.rb +1 -1
- data/metanorma-cc.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2b31d0ca70ffb8903d190d7d3087f046dea778e8f7b053f547c77575df1d3a1
|
4
|
+
data.tar.gz: 21528facf9965a72f2aea590f444a4865ecf763e25dc6e2a868a23070c8b9946
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8eda576b445cfb830153034c92892d889fd337e8796eb123283336cfb1c8d13cb8278ae32cb9f833ace1c96e8350bbe4bfb5f0f2adb0a344bd25120d0e1a66cc
|
7
|
+
data.tar.gz: df11767ebbdd870b1b98e70376e385c8fb93cee07b021beb58a58187c2b8c212e6da7f09963879eb7b292903995102bd9c3c257be9eb8f623d32a78bf22b9977
|
@@ -355,21 +355,21 @@
|
|
355
355
|
|
356
356
|
<xsl:template name="insertListOf_Item">
|
357
357
|
<fo:block role="TOCI">
|
358
|
-
<fo:list-block provisional-distance-between-starts="8mm">
|
359
|
-
<fo:list-item>
|
360
|
-
<fo:list-item-label end-indent="label-end()">
|
358
|
+
<fo:list-block provisional-distance-between-starts="8mm" role="SKIP">
|
359
|
+
<fo:list-item role="SKIP">
|
360
|
+
<fo:list-item-label end-indent="label-end()" role="SKIP">
|
361
361
|
<fo:block/>
|
362
362
|
</fo:list-item-label>
|
363
|
-
<fo:list-item-body start-indent="body-start()">
|
364
|
-
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
|
363
|
+
<fo:list-item-body start-indent="body-start()" role="SKIP">
|
364
|
+
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm" role="SKIP">
|
365
365
|
<fo:basic-link internal-destination="{@id}">
|
366
366
|
<xsl:call-template name="setAltText">
|
367
367
|
<xsl:with-param name="value" select="@alt-text"/>
|
368
368
|
</xsl:call-template>
|
369
369
|
<xsl:apply-templates select="." mode="contents"/>
|
370
|
-
<fo:inline keep-together.within-line="always">
|
370
|
+
<fo:inline keep-together.within-line="always" role="SKIP">
|
371
371
|
<fo:leader leader-pattern="dots"/>
|
372
|
-
<fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
|
372
|
+
<fo:inline role="SKIP"><fo:wrapper role="artifact"><fo:page-number-citation ref-id="{@id}"/></fo:wrapper></fo:inline>
|
373
373
|
</fo:inline>
|
374
374
|
</fo:basic-link>
|
375
375
|
</fo:block>
|
@@ -380,10 +380,12 @@
|
|
380
380
|
</xsl:template>
|
381
381
|
|
382
382
|
<xsl:template match="csd:preface//csd:clause[@type = 'toc']" priority="3">
|
383
|
-
<fo:block-container font-weight="bold" line-height="115%">
|
383
|
+
<fo:block-container font-weight="bold" line-height="115%" role="SKIP">
|
384
|
+
<!-- render 'Contents' outside if role="TOC" -->
|
385
|
+
<xsl:apply-templates select="*[local-name() = 'title']"/>
|
384
386
|
<fo:block role="TOC">
|
385
387
|
|
386
|
-
<xsl:apply-templates/>
|
388
|
+
<xsl:apply-templates select="node()[not(local-name() = 'title')]"/>
|
387
389
|
|
388
390
|
<xsl:if test="count(*) = 1 and *[local-name() = 'title']"> <!-- if there isn't user ToC -->
|
389
391
|
|
@@ -394,33 +396,35 @@
|
|
394
396
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
395
397
|
</xsl:if>
|
396
398
|
|
397
|
-
<fo:
|
398
|
-
<
|
399
|
-
<xsl:
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
<fo:list-item
|
407
|
-
<fo:
|
408
|
-
<
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
<fo:
|
413
|
-
<fo:
|
414
|
-
<
|
415
|
-
|
416
|
-
<fo:
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
399
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{@section} {title}"> <!-- link at this level needs for PDF structure tags -->
|
400
|
+
<fo:list-block role="SKIP">
|
401
|
+
<xsl:attribute name="provisional-distance-between-starts">
|
402
|
+
<xsl:choose>
|
403
|
+
<!-- skip 0 section without subsections -->
|
404
|
+
<xsl:when test="@section != ''">8mm</xsl:when> <!-- and not(@display-section = 'false') -->
|
405
|
+
<xsl:otherwise>0mm</xsl:otherwise>
|
406
|
+
</xsl:choose>
|
407
|
+
</xsl:attribute>
|
408
|
+
<fo:list-item role="SKIP">
|
409
|
+
<fo:list-item-label end-indent="label-end()" role="SKIP">
|
410
|
+
<fo:block role="SKIP" id="__internal_layout__toc_label_{@id}">
|
411
|
+
<xsl:value-of select="@section"/>
|
412
|
+
</fo:block>
|
413
|
+
</fo:list-item-label>
|
414
|
+
<fo:list-item-body start-indent="body-start()" role="SKIP">
|
415
|
+
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm" role="SKIP">
|
416
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}" role="SKIP">
|
417
|
+
<xsl:apply-templates select="title"/>
|
418
|
+
<fo:inline keep-together.within-line="always" role="SKIP">
|
419
|
+
<fo:leader leader-pattern="dots"/>
|
420
|
+
<fo:inline role="SKIP"><fo:wrapper role="artifact"><fo:page-number-citation ref-id="{@id}"/></fo:wrapper></fo:inline>
|
421
|
+
</fo:inline>
|
422
|
+
</fo:basic-link>
|
423
|
+
</fo:block>
|
424
|
+
</fo:list-item-body>
|
425
|
+
</fo:list-item>
|
426
|
+
</fo:list-block>
|
427
|
+
</fo:basic-link>
|
424
428
|
</fo:block>
|
425
429
|
</xsl:for-each>
|
426
430
|
|
@@ -3961,7 +3965,8 @@
|
|
3961
3965
|
</xsl:choose>
|
3962
3966
|
</xsl:variable>
|
3963
3967
|
<xsl:variable name="current_fn_number_text">
|
3964
|
-
|
3968
|
+
|
3969
|
+
<xsl:value-of select="$current_fn_number"/>
|
3965
3970
|
|
3966
3971
|
</xsl:variable>
|
3967
3972
|
|
@@ -3997,8 +4002,10 @@
|
|
3997
4002
|
|
3998
4003
|
<xsl:call-template name="insert_basic_link">
|
3999
4004
|
<xsl:with-param name="element">
|
4000
|
-
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl"
|
4001
|
-
<
|
4005
|
+
<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 -->
|
4006
|
+
<fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
|
4007
|
+
<xsl:copy-of select="$current_fn_number_text"/>
|
4008
|
+
</fo:inline>
|
4002
4009
|
</fo:basic-link>
|
4003
4010
|
</xsl:with-param>
|
4004
4011
|
</xsl:call-template>
|
@@ -4279,7 +4286,7 @@
|
|
4279
4286
|
|
4280
4287
|
<xsl:call-template name="refine_fn-reference-style"/>
|
4281
4288
|
|
4282
|
-
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
4289
|
+
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
4283
4290
|
<xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
|
4284
4291
|
<xsl:attribute name="internal-destination">
|
4285
4292
|
<xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
|
@@ -5280,9 +5287,19 @@
|
|
5280
5287
|
</fo:inline>
|
5281
5288
|
</xsl:template>
|
5282
5289
|
|
5283
|
-
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
|
5290
|
+
<xsl:template match="text()[ancestor::*[local-name()='smallcap']]" name="smallcaps">
|
5291
|
+
<xsl:param name="txt"/>
|
5284
5292
|
<!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
|
5285
|
-
<xsl:variable name="text"
|
5293
|
+
<xsl:variable name="text">
|
5294
|
+
<xsl:choose>
|
5295
|
+
<xsl:when test="$txt != ''">
|
5296
|
+
<xsl:value-of select="$txt"/>
|
5297
|
+
</xsl:when>
|
5298
|
+
<xsl:otherwise>
|
5299
|
+
<xsl:value-of select="."/>
|
5300
|
+
</xsl:otherwise>
|
5301
|
+
</xsl:choose>
|
5302
|
+
</xsl:variable>
|
5286
5303
|
<xsl:variable name="ratio_">
|
5287
5304
|
0.75
|
5288
5305
|
</xsl:variable>
|
@@ -6728,9 +6745,12 @@
|
|
6728
6745
|
<xsl:apply-templates/>
|
6729
6746
|
</xsl:when>
|
6730
6747
|
<xsl:otherwise>
|
6748
|
+
<xsl:variable name="alt_text">
|
6749
|
+
<xsl:call-template name="getAltText"/>
|
6750
|
+
</xsl:variable>
|
6731
6751
|
<xsl:call-template name="insert_basic_link">
|
6732
6752
|
<xsl:with-param name="element">
|
6733
|
-
<fo:basic-link external-destination="{$target}" fox:alt-text="{$
|
6753
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$alt_text}">
|
6734
6754
|
<xsl:if test="$isLinkToEmbeddedFile = 'true'">
|
6735
6755
|
<xsl:attribute name="role">Annot</xsl:attribute>
|
6736
6756
|
</xsl:if>
|
@@ -6757,6 +6777,14 @@
|
|
6757
6777
|
</fo:inline>
|
6758
6778
|
</xsl:template> <!-- link -->
|
6759
6779
|
|
6780
|
+
<xsl:template name="getAltText">
|
6781
|
+
<xsl:choose>
|
6782
|
+
<xsl:when test="normalize-space(.) = ''"><xsl:value-of select="@target"/></xsl:when>
|
6783
|
+
<xsl:otherwise><xsl:value-of select="normalize-space(translate(normalize-space(), ' —', ' -'))"/></xsl:otherwise>
|
6784
|
+
<!-- <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise> -->
|
6785
|
+
</xsl:choose>
|
6786
|
+
</xsl:template>
|
6787
|
+
|
6760
6788
|
<!-- ======================== -->
|
6761
6789
|
<!-- Appendix processing -->
|
6762
6790
|
<!-- ======================== -->
|
@@ -6787,7 +6815,7 @@
|
|
6787
6815
|
<xsl:template match="*[local-name() = 'callout']">
|
6788
6816
|
<xsl:choose>
|
6789
6817
|
<xsl:when test="normalize-space(@target) = ''"><<xsl:apply-templates/>></xsl:when>
|
6790
|
-
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{
|
6818
|
+
<xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{normalize-space()}"><<xsl:apply-templates/>></fo:basic-link></xsl:otherwise>
|
6791
6819
|
</xsl:choose>
|
6792
6820
|
</xsl:template>
|
6793
6821
|
|
@@ -6816,7 +6844,10 @@
|
|
6816
6844
|
<xsl:template match="*[local-name() = 'xref']">
|
6817
6845
|
<xsl:call-template name="insert_basic_link">
|
6818
6846
|
<xsl:with-param name="element">
|
6819
|
-
<
|
6847
|
+
<xsl:variable name="alt_text">
|
6848
|
+
<xsl:call-template name="getAltText"/>
|
6849
|
+
</xsl:variable>
|
6850
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{$alt_text}" xsl:use-attribute-sets="xref-style">
|
6820
6851
|
<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'])">
|
6821
6852
|
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
6822
6853
|
</xsl:if>
|
@@ -9297,12 +9328,14 @@
|
|
9297
9328
|
|
9298
9329
|
<xsl:when test="contains(normalize-space($fo_element), 'list')">
|
9299
9330
|
|
9300
|
-
<xsl:variable name="
|
9331
|
+
<xsl:variable name="provisional_distance_between_starts_">
|
9301
9332
|
7
|
9302
9333
|
</xsl:variable>
|
9303
|
-
<xsl:variable name="
|
9334
|
+
<xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
|
9335
|
+
<xsl:variable name="indent_">
|
9304
9336
|
0
|
9305
9337
|
</xsl:variable>
|
9338
|
+
<xsl:variable name="indent" select="normalize-space($indent_)"/>
|
9306
9339
|
|
9307
9340
|
<fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
|
9308
9341
|
<fo:list-item>
|
@@ -10032,14 +10065,17 @@
|
|
10032
10065
|
</xsl:when>
|
10033
10066
|
<xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
|
10034
10067
|
|
10035
|
-
<xsl:variable name="
|
10068
|
+
<xsl:variable name="type" select="../@type"/>
|
10036
10069
|
|
10037
|
-
|
10070
|
+
<xsl:variable name="label">
|
10038
10071
|
|
10039
10072
|
<xsl:variable name="style_prefix_">
|
10040
10073
|
<xsl:if test="$type = 'roman'">
|
10041
10074
|
<!-- Example: (i) -->
|
10042
10075
|
</xsl:if>
|
10076
|
+
<xsl:if test="$type = 'alphabet'">
|
10077
|
+
|
10078
|
+
</xsl:if>
|
10043
10079
|
</xsl:variable>
|
10044
10080
|
<xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
|
10045
10081
|
|
@@ -10065,13 +10101,15 @@
|
|
10065
10101
|
<xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
|
10066
10102
|
<xsl:value-of select="$style_prefix"/>
|
10067
10103
|
</xsl:if>
|
10104
|
+
|
10068
10105
|
<xsl:value-of select="@label"/>
|
10106
|
+
|
10069
10107
|
<xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
|
10070
10108
|
<xsl:value-of select="$style_suffix"/>
|
10071
10109
|
</xsl:if>
|
10072
10110
|
</xsl:variable>
|
10073
10111
|
|
10074
|
-
|
10112
|
+
<xsl:value-of select="normalize-space($label)"/>
|
10075
10113
|
|
10076
10114
|
</xsl:when>
|
10077
10115
|
<xsl:otherwise> <!-- for ordered lists 'ol' -->
|
@@ -12273,7 +12311,8 @@
|
|
12273
12311
|
<xsl:variable name="description" select="normalize-space($bibitem_attachment/*[local-name() = 'formattedref'])"/>
|
12274
12312
|
<xsl:variable name="filename" select="java:org.metanorma.fop.Util.getFilenameFromPath(@name)"/>
|
12275
12313
|
<!-- Todo: need update -->
|
12276
|
-
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = '
|
12314
|
+
<xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
12315
|
+
<xsl:variable name="volatile" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
12277
12316
|
|
12278
12317
|
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" filename="{$filename}" link-as-file-annotation="true">
|
12279
12318
|
<xsl:attribute name="src">
|
@@ -12294,6 +12333,9 @@
|
|
12294
12333
|
<xsl:if test="$afrelationship != ''">
|
12295
12334
|
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
12296
12335
|
</xsl:if>
|
12336
|
+
<xsl:if test="$volatile != ''">
|
12337
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
12338
|
+
</xsl:if>
|
12297
12339
|
</pdf:embedded-file>
|
12298
12340
|
</xsl:for-each>
|
12299
12341
|
<!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
|
@@ -12304,14 +12346,18 @@
|
|
12304
12346
|
<xsl:variable name="url" select="concat('url(file:///',$basepath, $attachment_path, ')')"/>
|
12305
12347
|
<xsl:variable name="description" select="normalize-space(*[local-name() = 'formattedref'])"/>
|
12306
12348
|
<!-- Todo: need update -->
|
12307
|
-
|
12349
|
+
<xsl:variable name="afrelationship" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
|
12350
|
+
<xsl:variable name="volatile" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
|
12308
12351
|
<pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{$url}" filename="{$attachment_name}" link-as-file-annotation="true">
|
12309
12352
|
<xsl:if test="$description != ''">
|
12310
12353
|
<xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
|
12311
12354
|
</xsl:if>
|
12312
12355
|
<xsl:if test="$afrelationship != ''">
|
12313
|
-
|
12314
|
-
|
12356
|
+
<xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
|
12357
|
+
</xsl:if>
|
12358
|
+
<xsl:if test="$volatile != ''">
|
12359
|
+
<xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
|
12360
|
+
</xsl:if>
|
12315
12361
|
</pdf:embedded-file>
|
12316
12362
|
</xsl:for-each>
|
12317
12363
|
</xsl:if>
|
@@ -12358,10 +12404,31 @@
|
|
12358
12404
|
<xsl:value-of select="$level_total - 2"/>
|
12359
12405
|
</xsl:when>
|
12360
12406
|
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'title']">
|
12361
|
-
|
12407
|
+
<!-- determine 'depth' depends on upper clause with title/@depth -->
|
12408
|
+
<!-- <xsl:message>title=<xsl:value-of select="."/></xsl:message> -->
|
12409
|
+
<xsl:variable name="clause_with_depth_depth" select="ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/*[local-name() = 'title']/@depth"/>
|
12410
|
+
<!-- <xsl:message>clause_with_depth_depth=<xsl:value-of select="$clause_with_depth_depth"/></xsl:message> -->
|
12411
|
+
<xsl:variable name="clause_with_depth_level" select="count(ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/ancestor::*)"/>
|
12412
|
+
<!-- <xsl:message>clause_with_depth_level=<xsl:value-of select="$clause_with_depth_level"/></xsl:message> -->
|
12413
|
+
<xsl:variable name="curr_level" select="count(ancestor::*) - 1"/>
|
12414
|
+
<!-- <xsl:message>curr_level=<xsl:value-of select="$curr_level"/></xsl:message> -->
|
12415
|
+
<!-- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/> -->
|
12416
|
+
<xsl:variable name="curr_clause_depth" select="number($clause_with_depth_depth) + (number($curr_level) - number($clause_with_depth_level)) "/>
|
12417
|
+
<!-- <xsl:message>curr_clause_depth=<xsl:value-of select="$curr_clause_depth"/></xsl:message> -->
|
12362
12418
|
<xsl:choose>
|
12363
|
-
<xsl:when test="string(number($
|
12364
|
-
<xsl:value-of select="number($
|
12419
|
+
<xsl:when test="string(number($curr_clause_depth)) != 'NaN'">
|
12420
|
+
<xsl:value-of select="number($curr_clause_depth)"/>
|
12421
|
+
</xsl:when>
|
12422
|
+
<xsl:otherwise>
|
12423
|
+
<xsl:value-of select="$level_total - 2"/>
|
12424
|
+
</xsl:otherwise>
|
12425
|
+
</xsl:choose>
|
12426
|
+
</xsl:when>
|
12427
|
+
<xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'name'] and parent::*[local-name() = 'term']">
|
12428
|
+
<xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::*[local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
12429
|
+
<xsl:choose>
|
12430
|
+
<xsl:when test="string(number($upper_terms_depth)) != 'NaN'">
|
12431
|
+
<xsl:value-of select="number($upper_terms_depth + 1)"/>
|
12365
12432
|
</xsl:when>
|
12366
12433
|
<xsl:otherwise>
|
12367
12434
|
<xsl:value-of select="$level_total - 2"/>
|
@@ -12369,7 +12436,7 @@
|
|
12369
12436
|
</xsl:choose>
|
12370
12437
|
</xsl:when>
|
12371
12438
|
<xsl:when test="ancestor::*[local-name() = 'sections']">
|
12372
|
-
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][1]/*[local-name() = 'title']/@depth)"/>
|
12439
|
+
<xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause' or local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
|
12373
12440
|
<xsl:choose>
|
12374
12441
|
<xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
|
12375
12442
|
<xsl:value-of select="number($upper_clause_depth + 1)"/>
|
data/lib/isodoc/cc/i18n.rb
CHANGED
data/lib/isodoc/cc/init.rb
CHANGED
data/lib/isodoc/cc/metadata.rb
CHANGED
@@ -2,10 +2,10 @@ require "isodoc"
|
|
2
2
|
require "metanorma/cc"
|
3
3
|
|
4
4
|
module IsoDoc
|
5
|
-
module
|
5
|
+
module Cc
|
6
6
|
class Metadata < IsoDoc::Generic::Metadata
|
7
7
|
def configuration
|
8
|
-
Metanorma::
|
8
|
+
Metanorma::Cc.configuration
|
9
9
|
end
|
10
10
|
|
11
11
|
def initialize(lang, script, locale, labels)
|
@@ -4,7 +4,7 @@ require_relative "init"
|
|
4
4
|
require "isodoc"
|
5
5
|
|
6
6
|
module IsoDoc
|
7
|
-
module
|
7
|
+
module Cc
|
8
8
|
# A {Converter} implementation that generates CSD output, and a document
|
9
9
|
# schema encapsulation of the document for validation
|
10
10
|
class WordConvert < IsoDoc::Generic::WordConvert
|
data/lib/isodoc/cc/xref.rb
CHANGED
@@ -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>
|
data/lib/metanorma/cc/biblio.rng
CHANGED
@@ -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>
|
@@ -8,12 +8,12 @@ require "metanorma/generic/converter"
|
|
8
8
|
require_relative "validate_section"
|
9
9
|
|
10
10
|
module Metanorma
|
11
|
-
module
|
11
|
+
module Cc
|
12
12
|
class Converter < Metanorma::Generic::Converter
|
13
13
|
register_for "cc"
|
14
14
|
|
15
15
|
def configuration
|
16
|
-
Metanorma::
|
16
|
+
Metanorma::Cc.configuration
|
17
17
|
end
|
18
18
|
|
19
19
|
def metadata_committee(node, xml)
|
@@ -43,23 +43,23 @@ module Metanorma
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def html_converter(node)
|
46
|
-
IsoDoc::
|
46
|
+
IsoDoc::Cc::HtmlConvert.new(html_extract_attributes(node))
|
47
47
|
end
|
48
48
|
|
49
49
|
def pdf_converter(node)
|
50
50
|
return if node.attr("no-pdf")
|
51
51
|
|
52
|
-
IsoDoc::
|
52
|
+
IsoDoc::Cc::PdfConvert.new(pdf_extract_attributes(node))
|
53
53
|
end
|
54
54
|
|
55
55
|
def doc_converter(node)
|
56
|
-
IsoDoc::
|
56
|
+
IsoDoc::Cc::WordConvert.new(doc_extract_attributes(node))
|
57
57
|
end
|
58
58
|
|
59
59
|
def presentation_xml_converter(node)
|
60
|
-
IsoDoc::
|
60
|
+
IsoDoc::Cc::PresentationXMLConvert
|
61
61
|
.new(doc_extract_attributes(node)
|
62
|
-
.merge(output_formats: ::Metanorma::
|
62
|
+
.merge(output_formats: ::Metanorma::Cc::Processor.new.output_formats))
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
require "metanorma/processor"
|
2
2
|
|
3
3
|
module Metanorma
|
4
|
-
module
|
4
|
+
module Cc
|
5
5
|
class Processor < Metanorma::Generic::Processor
|
6
6
|
def configuration
|
7
|
-
Metanorma::
|
7
|
+
Metanorma::Cc.configuration
|
8
8
|
end
|
9
9
|
|
10
10
|
def initialize
|
@@ -22,20 +22,20 @@ module Metanorma
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def version
|
25
|
-
"Metanorma::
|
25
|
+
"Metanorma::Cc #{Metanorma::Cc::VERSION}"
|
26
26
|
end
|
27
27
|
|
28
28
|
def output(isodoc_node, inname, outname, format, options={})
|
29
29
|
options_preprocess(options)
|
30
30
|
case format
|
31
31
|
when :html
|
32
|
-
IsoDoc::
|
32
|
+
IsoDoc::Cc::HtmlConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
33
33
|
when :doc
|
34
|
-
IsoDoc::
|
34
|
+
IsoDoc::Cc::WordConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
35
35
|
when :pdf
|
36
|
-
IsoDoc::
|
36
|
+
IsoDoc::Cc::PdfConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
37
37
|
when :presentation
|
38
|
-
IsoDoc::
|
38
|
+
IsoDoc::Cc::PresentationXMLConvert.new(options).convert(inname, isodoc_node, nil, outname)
|
39
39
|
else
|
40
40
|
super
|
41
41
|
end
|
data/lib/metanorma/cc/version.rb
CHANGED
data/lib/metanorma/cc.rb
CHANGED
@@ -3,7 +3,7 @@ require "metanorma-generic"
|
|
3
3
|
require_relative "./cc/processor"
|
4
4
|
|
5
5
|
module Metanorma
|
6
|
-
module
|
6
|
+
module Cc
|
7
7
|
class Configuration < Metanorma::Generic::Configuration
|
8
8
|
def initialize(*args)
|
9
9
|
super
|
@@ -28,5 +28,5 @@ module Metanorma
|
|
28
28
|
configure {}
|
29
29
|
end
|
30
30
|
end
|
31
|
-
Metanorma::Registry.instance.register(Metanorma::
|
31
|
+
Metanorma::Registry.instance.register(Metanorma::Cc::Processor)
|
32
32
|
|
data/lib/metanorma-cc.rb
CHANGED
data/metanorma-cc.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-cc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.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: metanorma-generic
|