metanorma-iec 2.5.11 → 2.5.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed4a618c9e1ba0726ed92aa754be91fc050633dfcc14200f8ca1df0770d6e6e2
4
- data.tar.gz: 79c04caf59bb6e617d2e7a2481673af29cd11d43c44c17cd625b554567a1f43d
3
+ metadata.gz: 174d9b24fd1740aa2006ccb5a6d4e21327861144d384acb36859fc77c605ddf0
4
+ data.tar.gz: 3900a7bbd7ca898fff45000ca982210610b7be1b184f152473813cb47bb3f6ce
5
5
  SHA512:
6
- metadata.gz: 81d946a173c03c2782a6c20c4ba5a42396605778fb8780446256b8e303731d0c3ce5813cb5c9ad60c38e0f9091250d589e18dc7dd0fd8dbfdef4eb329f6dd4b1
7
- data.tar.gz: f9e096af9bc5e8f8e34b6ded0a600dcfdedf3fc636555663fc85c30558fdd9a54539382ca5cbc871760bc47b26669dc6d0b0a9023d3ea16a8c52f47501f65ac6
6
+ metadata.gz: 3c7eaacda10072f8e2d7f475b3dd4043203f9a5a887456dea43c5bc30d51bc0ebe02923920d5859f2a06f459180e1cfd15ec08bcafd2a815f79c28ff61f873e0
7
+ data.tar.gz: d859b68533f12275400818438a56221931a9b351a8ac1854a422ceb7b26cf0359b9b3ff21d6a59def3928eb4df5a89adf814d6486558a403f4161d1a4ff6c8d2
@@ -43,6 +43,11 @@ module IsoDoc
43
43
  end
44
44
  end
45
45
 
46
+ def termdef_parse(node, out)
47
+ node.at(ns("./fmt-preferred")) or return
48
+ super
49
+ end
50
+
46
51
  def para_class(node)
47
52
  case node["class"]
48
53
  when "zzSTDTitle1", "zzSTDTitle2" then "zzSTDTitle1"
@@ -3403,6 +3403,9 @@
3403
3403
 
3404
3404
  </xsl:attribute-set>
3405
3405
 
3406
+ <xsl:attribute-set name="related-block-style" use-attribute-sets="preferred-block-style">
3407
+ </xsl:attribute-set>
3408
+
3406
3409
  <xsl:attribute-set name="definition-style">
3407
3410
 
3408
3411
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -5732,7 +5735,9 @@
5732
5735
  <xsl:with-param name="element">
5733
5736
  <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 -->
5734
5737
  <fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
5738
+
5735
5739
  <xsl:copy-of select="$current_fn_number_text"/>
5740
+
5736
5741
  </fo:inline>
5737
5742
  </fo:basic-link>
5738
5743
  </xsl:with-param>
@@ -5751,8 +5756,7 @@
5751
5756
 
5752
5757
  <fo:block-container xsl:use-attribute-sets="fn-container-body-style" role="SKIP">
5753
5758
 
5754
- <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
5755
-
5759
+ <xsl:variable name="fn_block">
5756
5760
  <xsl:call-template name="refine_fn-body-style"/>
5757
5761
 
5758
5762
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style" role="Lbl">
@@ -5760,9 +5764,15 @@
5760
5764
  <xsl:call-template name="refine_fn-body-num-style"/>
5761
5765
 
5762
5766
  <xsl:value-of select="$current_fn_number_text"/>
5767
+
5763
5768
  </fo:inline>
5764
5769
  <xsl:apply-templates/>
5765
- </fo:block>
5770
+ </xsl:variable>
5771
+
5772
+ <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
5773
+ <xsl:copy-of select="$fn_block"/>
5774
+ </fo:block>
5775
+
5766
5776
  </fo:block-container>
5767
5777
  </fo:footnote-body>
5768
5778
  </fo:footnote>
@@ -7616,9 +7626,14 @@
7616
7626
 
7617
7627
  <xsl:variable name="simple-table">
7618
7628
 
7629
+ <xsl:variable name="table_without_semantic_elements">
7630
+ <xsl:apply-templates mode="update_xml_pres"/>
7631
+ </xsl:variable>
7632
+
7619
7633
  <!-- Step 0. replace <br/> to <p>...</p> -->
7620
7634
  <xsl:variable name="table_without_br">
7621
- <xsl:apply-templates mode="table-without-br"/>
7635
+ <!-- <xsl:apply-templates mode="table-without-br"/> -->
7636
+ <xsl:apply-templates select="xalan:nodeset($table_without_semantic_elements)" mode="table-without-br"/>
7622
7637
  </xsl:variable>
7623
7638
 
7624
7639
  <!-- Step 1. colspan processing -->
@@ -11904,14 +11919,17 @@
11904
11919
  </fo:block>
11905
11920
  </xsl:template>
11906
11921
 
11907
- <xsl:template match="*[local-name() = 'domain']">
11922
+ <!-- <xsl:template match="*[local-name() = 'domain']"> -->
11908
11923
  <!-- https://github.com/metanorma/isodoc/issues/607
11909
11924
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
11910
11925
  <xsl:text> </xsl:text> -->
11911
- <xsl:if test="not(@hidden = 'true')">
11926
+ <!-- <xsl:if test="not(@hidden = 'true')">
11912
11927
  <xsl:apply-templates/>
11913
11928
  </xsl:if>
11914
- </xsl:template>
11929
+ </xsl:template> -->
11930
+
11931
+ <!-- https://github.com/metanorma/isodoc/issues/632#issuecomment-2567163931 -->
11932
+ <xsl:template match="*[local-name() = 'domain']"/>
11915
11933
 
11916
11934
  <xsl:template match="*[local-name() = 'admitted']">
11917
11935
  <fo:block xsl:use-attribute-sets="admitted-style">
@@ -11926,9 +11944,11 @@
11926
11944
  </xsl:template>
11927
11945
 
11928
11946
  <xsl:template name="setStyle_preferred">
11929
- <xsl:if test="*[local-name() = 'strong']">
11930
- <xsl:attribute name="font-weight">normal</xsl:attribute>
11931
- </xsl:if>
11947
+
11948
+ <xsl:if test="*[local-name() = 'strong']">
11949
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
11950
+ </xsl:if>
11951
+
11932
11952
  </xsl:template>
11933
11953
 
11934
11954
  <!-- regarding ISO 10241-1:2011, If there is more than one preferred term, each preferred term follows the previous one on a new line. -->
@@ -11938,6 +11958,17 @@
11938
11958
  </xsl:template>
11939
11959
  <!-- End Preferred, admitted, deprecated -->
11940
11960
 
11961
+ <xsl:template match="*[local-name() = 'fmt-related']">
11962
+ <fo:block role="SKIP" xsl:use-attribute-sets="related-block-style">
11963
+ <xsl:apply-templates/>
11964
+ </fo:block>
11965
+ </xsl:template>
11966
+ <xsl:template match="*[local-name() = 'fmt-related']/*[local-name() = 'p']" priority="4">
11967
+ <fo:block>
11968
+ <xsl:apply-templates/>
11969
+ </fo:block>
11970
+ </xsl:template>
11971
+
11941
11972
  <!-- ========== -->
11942
11973
  <!-- definition -->
11943
11974
  <!-- ========== -->
@@ -12848,6 +12879,7 @@
12848
12879
 
12849
12880
  <!-- Normative references -->
12850
12881
  <xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
12882
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/> <!-- current bibiitem is non-first -->
12851
12883
 
12852
12884
  <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
12853
12885
 
@@ -13564,7 +13596,8 @@
13564
13596
  <!-- add @id - first element with @id plus '_element_name' -->
13565
13597
  <xsl:variable name="prefix_id_" select="(.//*[@id])[1]/@id"/>
13566
13598
  <xsl:variable name="prefix_id"><xsl:value-of select="$prefix_id_"/><xsl:if test="normalize-space($prefix_id_) = ''"><xsl:value-of select="generate-id()"/></xsl:if></xsl:variable>
13567
- <xsl:attribute name="id"><xsl:value-of select="$prefix_id"/>_<xsl:value-of select="local-name()"/></xsl:attribute>
13599
+ <xsl:variable name="document_suffix" select="ancestor::*[contains(local-name(), '-standard')]/@document_suffix"/>
13600
+ <xsl:attribute name="id"><xsl:value-of select="concat($prefix_id, '_', local-name(), '_', $document_suffix)"/></xsl:attribute>
13568
13601
  </xsl:if>
13569
13602
  </xsl:template>
13570
13603
 
@@ -13621,6 +13654,31 @@
13621
13654
  <xsl:template match="*[local-name() = 'name'][following-sibling::*[1][local-name() = 'fmt-name']]" mode="update_xml_pres"/>
13622
13655
  <xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_step1"/>
13623
13656
  <xsl:template match="*[local-name() = 'section-title'][following-sibling::*[1][local-name() = 'p'][@type = 'section-title' or @type = 'floating-title']]" mode="update_xml_pres"/>
13657
+ <!-- <xsl:template match="*[local-name() = 'preferred'][following-sibling::*[not(local-name() = 'preferred')][1][local-name() = 'fmt-preferred']]" mode="update_xml_step1"/> -->
13658
+ <xsl:template match="*[local-name() = 'preferred']" mode="update_xml_step1"/>
13659
+ <!-- <xsl:template match="*[local-name() = 'preferred'][following-sibling::*[not(local-name() = 'preferred')][1][local-name() = 'fmt-preferred']]" mode="update_xml_pres"/> -->
13660
+ <xsl:template match="*[local-name() = 'preferred']" mode="update_xml_pres"/>
13661
+ <!-- <xsl:template match="*[local-name() = 'admitted'][following-sibling::*[not(local-name() = 'admitted')][1][local-name() = 'fmt-admitted']]" mode="update_xml_step1"/> -->
13662
+ <xsl:template match="*[local-name() = 'admitted']" mode="update_xml_step1"/>
13663
+ <!-- <xsl:template match="*[local-name() = 'admitted'][following-sibling::*[not(local-name() = 'admitted')][1][local-name() = 'fmt-admitted']]" mode="update_xml_pres"/> -->
13664
+ <xsl:template match="*[local-name() = 'admitted']" mode="update_xml_pres"/>
13665
+ <!-- <xsl:template match="*[local-name() = 'deprecates'][following-sibling::*[not(local-name() = 'deprecates')][1][local-name() = 'fmt-deprecates']]" mode="update_xml_step1"/> -->
13666
+ <xsl:template match="*[local-name() = 'deprecates']" mode="update_xml_step1"/>
13667
+ <xsl:template match="*[local-name() = 'related']" mode="update_xml_step1"/>
13668
+ <!-- <xsl:template match="*[local-name() = 'deprecates'][following-sibling::*[not(local-name() = 'deprecates')][1][local-name() = 'fmt-deprecates']]" mode="update_xml_pres"/> -->
13669
+ <xsl:template match="*[local-name() = 'deprecates']" mode="update_xml_pres"/>
13670
+ <xsl:template match="*[local-name() = 'related']" mode="update_xml_pres"/>
13671
+ <!-- <xsl:template match="*[local-name() = 'definition'][following-sibling::*[1][local-name() = 'fmt-definition']]" mode="update_xml_step1"/> -->
13672
+ <xsl:template match="*[local-name() = 'definition']" mode="update_xml_step1"/>
13673
+ <!-- <xsl:template match="*[local-name() = 'definition'][following-sibling::*[1][local-name() = 'fmt-definition']]" mode="update_xml_pres"/> -->
13674
+ <xsl:template match="*[local-name() = 'definition']" mode="update_xml_pres"/>
13675
+ <!-- <xsl:template match="*[local-name() = 'termsource'][following-sibling::*[1][local-name() = 'fmt-termsource']]" mode="update_xml_step1"/> -->
13676
+ <xsl:template match="*[local-name() = 'termsource']" mode="update_xml_step1"/>
13677
+ <!-- <xsl:template match="*[local-name() = 'termsource'][following-sibling::*[1][local-name() = 'fmt-termsource']]" mode="update_xml_pres"/> -->
13678
+ <xsl:template match="*[local-name() = 'termsource']" mode="update_xml_pres"/>
13679
+
13680
+ <xsl:template match="*[local-name() = 'term'][@unnumbered = 'true'][not(.//*[starts-with(local-name(), 'fmt-')])]" mode="update_xml_step1"/>
13681
+ <xsl:template match="*[local-name() = 'term'][@unnumbered = 'true'][not(.//*[starts-with(local-name(), 'fmt-')])]" mode="update_xml_pres"/>
13624
13682
 
13625
13683
  <xsl:template match="*[local-name() = 'p'][@type = 'section-title' or @type = 'floating-title'][preceding-sibling::*[1][local-name() = 'section-title']]" mode="update_xml_step1">
13626
13684
  <xsl:copy>
@@ -13653,13 +13711,115 @@
13653
13711
 
13654
13712
  <xsl:template match="*[local-name() = 'fmt-name']"/>
13655
13713
  <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_step1">
13656
- <xsl:element name="name" namespace="{$namespace_full}">
13714
+ <xsl:choose>
13715
+ <xsl:when test="local-name(..) = 'p' and ancestor::*[local-name() = 'table']">
13716
+ <xsl:apply-templates mode="update_xml_step1"/>
13717
+ </xsl:when>
13718
+ <xsl:otherwise>
13719
+ <xsl:element name="name" namespace="{$namespace_full}">
13720
+ <xsl:copy-of select="@*"/>
13721
+ <xsl:apply-templates mode="update_xml_step1"/>
13722
+ </xsl:element>
13723
+ </xsl:otherwise>
13724
+ </xsl:choose>
13725
+ </xsl:template>
13726
+ <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
13727
+ <xsl:choose>
13728
+ <xsl:when test="local-name(..) = 'p' and ancestor::*[local-name() = 'table']">
13729
+ <xsl:apply-templates mode="update_xml_step1"/>
13730
+ </xsl:when>
13731
+ <xsl:otherwise>
13732
+ <xsl:element name="name" namespace="{$namespace_full}">
13733
+ <xsl:copy-of select="@*"/>
13734
+ <xsl:apply-templates mode="update_xml_pres"/>
13735
+ </xsl:element>
13736
+ </xsl:otherwise>
13737
+ </xsl:choose>
13738
+ </xsl:template>
13739
+
13740
+ <xsl:template match="*[local-name() = 'fmt-preferred']"/>
13741
+ <xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_step1">
13742
+ <xsl:apply-templates mode="update_xml_step1"/>
13743
+ </xsl:template>
13744
+ <xsl:template match="*[local-name() = 'fmt-preferred'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-preferred']/*[local-name() = 'p']" mode="update_xml_step1">
13745
+ <xsl:element name="preferred" namespace="{$namespace_full}">
13657
13746
  <xsl:copy-of select="@*"/>
13658
13747
  <xsl:apply-templates mode="update_xml_step1"/>
13659
13748
  </xsl:element>
13660
13749
  </xsl:template>
13661
- <xsl:template match="*[local-name() = 'fmt-name']" mode="update_xml_pres">
13662
- <xsl:element name="name" namespace="{$namespace_full}">
13750
+ <xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_pres">
13751
+ <xsl:apply-templates mode="update_xml_pres"/>
13752
+ </xsl:template>
13753
+ <xsl:template match="*[local-name() = 'fmt-preferred'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-preferred']/*[local-name() = 'p']" mode="update_xml_pres">
13754
+ <xsl:element name="preferred" namespace="{$namespace_full}">
13755
+ <xsl:copy-of select="@*"/>
13756
+ <xsl:apply-templates mode="update_xml_pres"/>
13757
+ </xsl:element>
13758
+ </xsl:template>
13759
+
13760
+ <xsl:template match="*[local-name() = 'fmt-admitted']"/>
13761
+ <xsl:template match="*[local-name() = 'fmt-admitted'][*[local-name() = 'p']]" mode="update_xml_step1">
13762
+ <xsl:apply-templates mode="update_xml_step1"/>
13763
+ </xsl:template>
13764
+ <xsl:template match="*[local-name() = 'fmt-admitted'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-admitted']/*[local-name() = 'p']" mode="update_xml_step1">
13765
+ <xsl:element name="admitted" namespace="{$namespace_full}">
13766
+ <xsl:copy-of select="@*"/>
13767
+ <xsl:apply-templates mode="update_xml_step1"/>
13768
+ </xsl:element>
13769
+ </xsl:template>
13770
+ <xsl:template match="*[local-name() = 'fmt-admitted'][*[local-name() = 'p']]" mode="update_xml_pres">
13771
+ <xsl:apply-templates mode="update_xml_pres"/>
13772
+ </xsl:template>
13773
+ <xsl:template match="*[local-name() = 'fmt-admitted'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-admitted']/*[local-name() = 'p']" mode="update_xml_pres">
13774
+ <xsl:element name="admitted" namespace="{$namespace_full}">
13775
+ <xsl:copy-of select="@*"/>
13776
+ <xsl:apply-templates mode="update_xml_pres"/>
13777
+ </xsl:element>
13778
+ </xsl:template>
13779
+
13780
+ <xsl:template match="*[local-name() = 'fmt-deprecates']"/>
13781
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][*[local-name() = 'p']]" mode="update_xml_step1">
13782
+ <xsl:apply-templates mode="update_xml_step1"/>
13783
+ </xsl:template>
13784
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-deprecates']/*[local-name() = 'p']" mode="update_xml_step1">
13785
+ <xsl:element name="deprecates" namespace="{$namespace_full}">
13786
+ <xsl:copy-of select="@*"/>
13787
+ <xsl:apply-templates mode="update_xml_step1"/>
13788
+ </xsl:element>
13789
+ </xsl:template>
13790
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][*[local-name() = 'p']]" mode="update_xml_pres">
13791
+ <xsl:apply-templates mode="update_xml_pres"/>
13792
+ </xsl:template>
13793
+ <xsl:template match="*[local-name() = 'fmt-deprecates'][not(*[local-name() = 'p'])] | *[local-name() = 'fmt-deprecates']/*[local-name() = 'p']" mode="update_xml_pres">
13794
+ <xsl:element name="deprecates" namespace="{$namespace_full}">
13795
+ <xsl:copy-of select="@*"/>
13796
+ <xsl:apply-templates mode="update_xml_pres"/>
13797
+ </xsl:element>
13798
+ </xsl:template>
13799
+
13800
+ <xsl:template match="*[local-name() = 'fmt-definition']"/>
13801
+ <xsl:template match="*[local-name() = 'fmt-definition']" mode="update_xml_step1">
13802
+ <xsl:element name="definition" namespace="{$namespace_full}">
13803
+ <xsl:copy-of select="@*"/>
13804
+ <xsl:apply-templates mode="update_xml_step1"/>
13805
+ </xsl:element>
13806
+ </xsl:template>
13807
+ <xsl:template match="*[local-name() = 'fmt-definition']" mode="update_xml_pres">
13808
+ <xsl:element name="definition" namespace="{$namespace_full}">
13809
+ <xsl:copy-of select="@*"/>
13810
+ <xsl:apply-templates mode="update_xml_pres"/>
13811
+ </xsl:element>
13812
+ </xsl:template>
13813
+
13814
+ <xsl:template match="*[local-name() = 'fmt-termsource']"/>
13815
+ <xsl:template match="*[local-name() = 'fmt-termsource']" mode="update_xml_step1">
13816
+ <xsl:element name="termsource" namespace="{$namespace_full}">
13817
+ <xsl:copy-of select="@*"/>
13818
+ <xsl:apply-templates mode="update_xml_step1"/>
13819
+ </xsl:element>
13820
+ </xsl:template>
13821
+ <xsl:template match="*[local-name() = 'fmt-termsource']" mode="update_xml_pres">
13822
+ <xsl:element name="termsource" namespace="{$namespace_full}">
13663
13823
  <xsl:copy-of select="@*"/>
13664
13824
  <xsl:apply-templates mode="update_xml_pres"/>
13665
13825
  </xsl:element>
@@ -13672,6 +13832,9 @@
13672
13832
  <xsl:apply-templates mode="update_xml_pres"/>
13673
13833
  </xsl:template>
13674
13834
 
13835
+ <xsl:template match="*[local-name() = 'semx']">
13836
+ <xsl:apply-templates/>
13837
+ </xsl:template>
13675
13838
  <xsl:template match="*[local-name() = 'semx']" mode="update_xml_step1">
13676
13839
  <xsl:apply-templates mode="update_xml_step1"/>
13677
13840
  </xsl:template>
@@ -14803,7 +14966,7 @@
14803
14966
  </xsl:template>
14804
14967
 
14805
14968
  <xsl:template name="namespaceCheck">
14806
- <xsl:variable name="documentNS" select="namespace-uri(/*)"/>
14969
+ <xsl:variable name="documentNS" select="$namespace_full"/> <!-- namespace-uri(/*) -->
14807
14970
  <xsl:variable name="XSLNS">
14808
14971
 
14809
14972
  <xsl:value-of select="document('')//*/namespace::iec"/>
@@ -14893,6 +15056,9 @@
14893
15056
  <xsl:when test="$formatted = 'true' and string-length($bibdata_updated) != ''">
14894
15057
  <xsl:apply-templates select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
14895
15058
  </xsl:when>
15059
+ <xsl:when test="string-length($bibdata_updated) != ''">
15060
+ <xsl:value-of select="xalan:nodeset($bibdata_updated)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
15061
+ </xsl:when>
14896
15062
  <xsl:when test="$formatted = 'true'">
14897
15063
  <xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
14898
15064
  </xsl:when>
@@ -39,13 +39,14 @@ module IsoDoc
39
39
  def terms(docxml)
40
40
  otherlang_designations(docxml)
41
41
  super
42
+ remove_otherlang_designations(docxml)
42
43
  merge_fr_into_en_term(docxml)
43
44
  end
44
45
 
45
- def termdomain(elem)
46
+ def termdomain(elem, fmt_defn)
46
47
  if @is_iev
47
- d = elem.at(ns("./domain")) or return
48
- d["hidden"] = true
48
+ #d = elem.at(ns("./domain")) or return
49
+ #d["hidden"] = true
49
50
  else super
50
51
  end
51
52
  end
@@ -55,17 +56,21 @@ module IsoDoc
55
56
  docxml.xpath(ns("//term[@language = 'en'][@tag]")).each do |en|
56
57
  fr = docxml.at(ns("//term[@language = 'fr'][@tag = '#{en['tag']}']"))
57
58
  merge_fr_into_en_term1(en, fr) if fr
58
- en.xpath(ns("./fmt-name | ./fmt-xref-label")).each(&:remove)
59
- term1(en)
60
59
  end
60
+ # renumber
61
61
  @xrefs.parse_inclusions(clauses: true).parse docxml
62
- #docxml.xpath(ns("//term/fmt-name | //term/fmt-xref")).each(&:remove)
63
- #term(docxml)
62
+ docxml.xpath(ns("//term/fmt-name | //term/fmt-xref-label")).each(&:remove)
63
+ term(docxml)
64
64
  end
65
65
 
66
66
  def merge_fr_into_en_term1(en_term, fr_term)
67
67
  dl = en_term&.at(ns("./dl[@type = 'other-lang']"))&.remove
68
- en_term << fr_term.remove.children
68
+ #en_term << fr_term.remove.children
69
+ dup = semx_fmt_dup(fr_term)
70
+ dup.xpath(ns("./fmt-name | ./fmt-xref-label")).each(&:remove)
71
+ en_term << dup
72
+ fr_term.xpath(ns(".//fmt-name | .//fmt-xref-label | .//fmt-preferred | .//fmt-admitted | .//fmt-deprecates | .//fmt-definition | .//fmt-related | .//fmt-termsource")).each(&:remove)
73
+ fr_term["unnumbered"] = "true"
69
74
  en_term << dl if dl
70
75
  en_term["language"] = "en,fr"
71
76
  en_term.delete("tag")
@@ -78,6 +83,14 @@ module IsoDoc
78
83
  end
79
84
  end
80
85
 
86
+ def remove_otherlang_designations(docxml)
87
+ @is_iev or return
88
+ docxml.xpath(ns("//term")).each do |t|
89
+ remove_otherlang_designations1(t, t["language"]&.split(",") || %w(en fr))
90
+ end
91
+ end
92
+
93
+ # KILL
81
94
  def extract_otherlang_designations(term, lgs)
82
95
  term.xpath(ns(".//preferred/expression[@language]"))
83
96
  .each_with_object([]) do |d, m|
@@ -85,12 +98,26 @@ module IsoDoc
85
98
  d.delete("language")
86
99
  lgs.include?(lg) and next
87
100
  p = d.parent
88
- designation_annotate(p, d.at(ns("./name")))
101
+ designation_annotate(p, p.at(ns("./name")))
89
102
  m << { lang: lg, script: Metanorma::Utils.default_script(lg),
90
103
  designation: to_xml(l10n_recursive(p.remove, lg)).strip }
91
104
  end
92
105
  end
93
106
 
107
+ def extract_otherlang_designations(term, lgs)
108
+ term.xpath(ns(".//preferred/expression[@language]"))
109
+ .each_with_object([]) do |d, m|
110
+ lg = d["language"]
111
+ lgs.include?(lg) and next
112
+ p = semx_fmt_dup(d.parent)
113
+ e = p.at(ns("./expression"))
114
+ e.delete("language")
115
+ designation_annotate(p, p.at(ns(".//name")), d.parent)
116
+ m << { lang: lg, script: Metanorma::Utils.default_script(lg),
117
+ designation: to_xml(l10n_recursive(p, lg)).strip }
118
+ end
119
+ end
120
+
94
121
  def l10n_recursive(xml, lang)
95
122
  script = Metanorma::Utils.default_script(lang)
96
123
  c = HTMLEntities.new
@@ -125,18 +152,36 @@ module IsoDoc
125
152
  term << "<dl type='other-lang'>#{prefs.join}</dl>"
126
153
  end
127
154
 
155
+ def remove_otherlang_designations1(term, lgs)
156
+ term.xpath(ns(".//fmt-preferred/p/semx[@element = 'preferred']")).each do |s|
157
+ p = semx_orig(s, term)
158
+ lg = p.at(ns("./expression/@language"))&.text or next
159
+ lgs.include?(lg) and next
160
+ s.parent.remove
161
+ end
162
+ end
163
+
128
164
  def related(docxml)
129
- docxml.xpath(ns("//term[related]")).each { |f| move_related(f) }
165
+ #docxml.xpath(ns("//term[related]")).each { |f| move_related(f) }
130
166
  super
167
+ docxml.xpath(ns("//term[related]")).each { |f| move_related(f) }
131
168
  end
132
169
 
133
- def move_related(term)
170
+ # KILL
171
+ def move_related(term)
134
172
  defn = term.at(ns("./definition")) or return
135
173
  term.xpath(ns("./related")).reverse_each do |r|
136
174
  defn.next = r.remove
137
175
  end
138
176
  end
139
177
 
178
+ def move_related(term)
179
+ defn = term.at(ns("./fmt-definition")) or return
180
+ rel = term.at(ns("./fmt-related")) or return
181
+ defn << rel.children
182
+ end
183
+
184
+ # KILL
140
185
  def related1(node)
141
186
  lg = node.at("./ancestor::xmlns:term/@language")&.text
142
187
  @i18n = @i18n_lg[lg] if lg && @i18n_lg[lg]
@@ -148,6 +193,16 @@ module IsoDoc
148
193
  @i18n = @i18n_lg["default"]
149
194
  end
150
195
 
196
+ def related1(node)
197
+ lg = node.at("./ancestor::xmlns:term/@language")&.text
198
+ @i18n = @i18n_lg[lg] if lg && @i18n_lg[lg]
199
+ p, ref, orig = related1_prep(node)
200
+ label = @i18n.relatedterms[orig["type"]].upcase
201
+ node.children =(l10n("<p>#{label}: " \
202
+ "#{to_xml(p)} (#{Common::to_xml(ref)})</p>"))
203
+ @i18n = @i18n_lg["default"]
204
+ end
205
+
151
206
  def termsource_modification(node)
152
207
  lg = node&.at("./ancestor::xmlns:term/@language")&.text
153
208
  @i18n = @i18n_lg[lg] if lg && @i18n_lg[lg]
@@ -155,7 +210,8 @@ module IsoDoc
155
210
  @i18n = @i18n_lg["default"]
156
211
  end
157
212
 
158
- def termsource1(node)
213
+ # KILL
214
+ def termsource1xx(node)
159
215
  lg = node&.at("./ancestor::xmlns:term/@language")&.text
160
216
  @i18n = @i18n_lg[lg] if lg && @i18n_lg[lg]
161
217
  if @is_iev then termsource1_iev(node)
@@ -164,6 +220,7 @@ module IsoDoc
164
220
  @i18n = @i18n_lg["default"]
165
221
  end
166
222
 
223
+ # KILL
167
224
  def termsource1_iev(elem)
168
225
  while elem&.next_element&.name == "termsource"
169
226
  elem << "; #{to_xml(elem.next_element.remove.children)}"
@@ -171,6 +228,14 @@ module IsoDoc
171
228
  elem.children = l10n("#{@i18n.source}: #{to_xml(elem.children).strip}")
172
229
  end
173
230
 
231
+ def termsource_label(elem, sources)
232
+ @is_iev or return super
233
+ lg = elem&.at("./ancestor::xmlns:term/@language")&.text
234
+ @i18n = @i18n_lg[lg] if lg && @i18n_lg[lg]
235
+ elem.replace(l10n("#{@i18n.source}: #{sources}"))
236
+ @i18n = @i18n_lg["default"]
237
+ end
238
+
174
239
  def termexample(docxml)
175
240
  docxml.xpath(ns("//termexample")).each do |f|
176
241
  termexample1(f)
@@ -32,10 +32,13 @@ module IsoDoc
32
32
  #xref: l10n("#{@labels['section_iev']} #{num}"),
33
33
  xref: labelled_autonum(@labels['section_iev'], num),
34
34
  level: 2, type: "clause", elem: @labels["section_iev"] }
35
- t.xpath(ns("./term")).each_with_index do |c, j|
35
+ j = 0
36
+ t.xpath(ns("./term")).each do |c|
37
+ c["unnumbered"] == "true" and next
36
38
  num2 = semx(c, "%02d" % [j + 1])
37
39
  #section_names1(c, "#{num}#{delim_wrap("-")}#{num2}", 3)
38
40
  section_names1(c, num, num2, 3)
41
+ j += 1
39
42
  end
40
43
  end
41
44
  end
@@ -947,6 +947,8 @@ May be electronic (e.g. Twitter direct message, email) or voice (e.g. a remark m
947
947
  typically cited as "personal communication")</a:documentation>
948
948
  <value>conversation</value>
949
949
  <a:documentation>An exchange of messages between two or more persons. May be electronic (e.g. web chat) or voice (e.g. phone call)</a:documentation>
950
+ <value>collection</value>
951
+ <a:documentation>A compound resource consisting of other resources, which are themselves presupposed to have their type specified..</a:documentation>
950
952
  <value>misc</value>
951
953
  <a:documentation>Bibliographic type not adequately described in the foregoing</a:documentation>
952
954
  </choice>
@@ -1277,17 +1279,17 @@ for which this claim of validity is made, if applicable</a:documentation>
1277
1279
  </define>
1278
1280
  <define name="validityBegins">
1279
1281
  <element name="validityBegins">
1280
- <ref name="ISO8601DateTime"/>
1282
+ <ref name="ISO8601Date"/>
1281
1283
  </element>
1282
1284
  </define>
1283
1285
  <define name="validityEnds">
1284
1286
  <element name="validityEnds">
1285
- <ref name="ISO8601DateTime"/>
1287
+ <ref name="ISO8601Date"/>
1286
1288
  </element>
1287
1289
  </define>
1288
1290
  <define name="validityRevision">
1289
1291
  <element name="revision">
1290
- <ref name="ISO8601DateTime"/>
1292
+ <ref name="ISO8601Date"/>
1291
1293
  </element>
1292
1294
  </define>
1293
1295
  <define name="TypedTitleString">
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module Iec
3
- VERSION = "2.5.11".freeze
3
+ VERSION = "2.5.13".freeze
4
4
  end
5
5
  end
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iec
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.11
4
+ version: 2.5.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-07 00:00:00.000000000 Z
11
+ date: 2025-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-iso