metanorma-ogc 2.0.7 → 2.0.8
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 +73 -13
- data/lib/isodoc/ogc/ogc.best-practice.xsl +73 -13
- data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +73 -13
- data/lib/isodoc/ogc/ogc.community-practice.xsl +73 -13
- data/lib/isodoc/ogc/ogc.community-standard.xsl +73 -13
- data/lib/isodoc/ogc/ogc.discussion-paper.xsl +73 -13
- data/lib/isodoc/ogc/ogc.engineering-report.xsl +73 -13
- data/lib/isodoc/ogc/ogc.other.xsl +73 -13
- data/lib/isodoc/ogc/ogc.policy.xsl +73 -13
- data/lib/isodoc/ogc/ogc.reference-model.xsl +73 -13
- data/lib/isodoc/ogc/ogc.release-notes.xsl +73 -13
- data/lib/isodoc/ogc/ogc.standard.xsl +73 -13
- data/lib/isodoc/ogc/ogc.test-suite.xsl +73 -13
- data/lib/isodoc/ogc/ogc.user-guide.xsl +73 -13
- data/lib/isodoc/ogc/ogc.white-paper.xsl +73 -13
- data/lib/isodoc/ogc/presentation_xml_convert.rb +2 -1
- data/lib/metanorma/ogc/biblio.rng +25 -2
- data/lib/metanorma/ogc/version.rb +1 -1
- metadata +2 -2
@@ -130,7 +130,13 @@
|
|
130
130
|
|
131
131
|
<xsl:template match="/">
|
132
132
|
<xsl:call-template name="namespaceCheck"/>
|
133
|
-
<fo:root
|
133
|
+
<fo:root xml:lang="{$lang}">
|
134
|
+
<xsl:variable name="root-style">
|
135
|
+
<root-style xsl:use-attribute-sets="root-style"/>
|
136
|
+
</xsl:variable>
|
137
|
+
<xsl:call-template name="insertRootStyle">
|
138
|
+
<xsl:with-param name="root-style" select="$root-style"/>
|
139
|
+
</xsl:call-template>
|
134
140
|
<fo:layout-master-set>
|
135
141
|
<!-- Cover page -->
|
136
142
|
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
@@ -1604,7 +1610,30 @@
|
|
1604
1610
|
|
1605
1611
|
|
1606
1612
|
|
1607
|
-
</xsl:attribute-set><xsl:
|
1613
|
+
</xsl:attribute-set><xsl:template name="insertRootStyle">
|
1614
|
+
<xsl:param name="root-style"/>
|
1615
|
+
<xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
|
1616
|
+
|
1617
|
+
<xsl:variable name="additional_fonts_">
|
1618
|
+
<xsl:for-each select="//*[local-name() = 'misc-container'][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
|
1619
|
+
<xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
|
1620
|
+
</xsl:for-each>
|
1621
|
+
</xsl:variable>
|
1622
|
+
<xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
|
1623
|
+
|
1624
|
+
<xsl:for-each select="$root-style_/root-style/@*">
|
1625
|
+
<xsl:choose>
|
1626
|
+
<xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
|
1627
|
+
<xsl:attribute name="{local-name()}">
|
1628
|
+
<xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
|
1629
|
+
</xsl:attribute>
|
1630
|
+
</xsl:when>
|
1631
|
+
<xsl:otherwise>
|
1632
|
+
<xsl:copy-of select="."/>
|
1633
|
+
</xsl:otherwise>
|
1634
|
+
</xsl:choose>
|
1635
|
+
</xsl:for-each>
|
1636
|
+
</xsl:template><xsl:attribute-set name="copyright-statement-style">
|
1608
1637
|
|
1609
1638
|
<xsl:attribute name="font-size">8pt</xsl:attribute>
|
1610
1639
|
<xsl:attribute name="line-height">125%</xsl:attribute>
|
@@ -2195,7 +2224,7 @@
|
|
2195
2224
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
2196
2225
|
|
2197
2226
|
|
2198
|
-
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
2227
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
2199
2228
|
|
2200
2229
|
|
2201
2230
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -4634,24 +4663,28 @@
|
|
4634
4663
|
</xsl:template><xsl:template name="add-zero-spaces-equal">
|
4635
4664
|
<xsl:param name="text" select="."/>
|
4636
4665
|
<xsl:variable name="zero-space-after-equals">==========</xsl:variable>
|
4666
|
+
<xsl:variable name="regex_zero-space-after-equals">(==========)</xsl:variable>
|
4637
4667
|
<xsl:variable name="zero-space-after-equal">=</xsl:variable>
|
4668
|
+
<xsl:variable name="regex_zero-space-after-equal">(=)</xsl:variable>
|
4638
4669
|
<xsl:variable name="zero-space"></xsl:variable>
|
4639
4670
|
<xsl:choose>
|
4640
4671
|
<xsl:when test="contains($text, $zero-space-after-equals)">
|
4641
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
4672
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
4642
4673
|
<xsl:value-of select="$zero-space-after-equals"/>
|
4643
4674
|
<xsl:value-of select="$zero-space"/>
|
4644
4675
|
<xsl:call-template name="add-zero-spaces-equal">
|
4645
4676
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
|
4646
|
-
</xsl:call-template>
|
4677
|
+
</xsl:call-template> -->
|
4678
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equals,concat('$1',$zero_width_space))"/>
|
4647
4679
|
</xsl:when>
|
4648
4680
|
<xsl:when test="contains($text, $zero-space-after-equal)">
|
4649
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
4681
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
4650
4682
|
<xsl:value-of select="$zero-space-after-equal"/>
|
4651
4683
|
<xsl:value-of select="$zero-space"/>
|
4652
4684
|
<xsl:call-template name="add-zero-spaces-equal">
|
4653
4685
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
|
4654
|
-
</xsl:call-template>
|
4686
|
+
</xsl:call-template> -->
|
4687
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equal,concat('$1',$zero_width_space))"/>
|
4655
4688
|
</xsl:when>
|
4656
4689
|
<xsl:otherwise>
|
4657
4690
|
<xsl:value-of select="$text"/>
|
@@ -5131,7 +5164,12 @@
|
|
5131
5164
|
|
5132
5165
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
5133
5166
|
|
5167
|
+
<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
|
5168
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
5169
|
+
</xsl:if>
|
5170
|
+
|
5134
5171
|
|
5172
|
+
|
5135
5173
|
|
5136
5174
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
5137
5175
|
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
@@ -6140,17 +6178,15 @@
|
|
6140
6178
|
|
6141
6179
|
<!-- split text by zero-width space -->
|
6142
6180
|
<xsl:variable name="text_step4">
|
6143
|
-
<xsl:call-template name="
|
6181
|
+
<xsl:call-template name="split_for_interspers">
|
6144
6182
|
<xsl:with-param name="pText" select="$text_step3"/>
|
6145
6183
|
<xsl:with-param name="sep" select="$zero_width_space"/>
|
6146
|
-
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
6147
|
-
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
6148
6184
|
</xsl:call-template>
|
6149
6185
|
</xsl:variable>
|
6150
6186
|
|
6151
|
-
<xsl:for-each select="xalan:nodeset($text_step4)/
|
6187
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
6152
6188
|
<xsl:choose>
|
6153
|
-
<xsl:when test="
|
6189
|
+
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
6154
6190
|
<xsl:call-template name="interspers">
|
6155
6191
|
<xsl:with-param name="str" select="."/>
|
6156
6192
|
</xsl:call-template>
|
@@ -6161,6 +6197,30 @@
|
|
6161
6197
|
</xsl:choose>
|
6162
6198
|
</xsl:for-each>
|
6163
6199
|
|
6200
|
+
</xsl:template><xsl:variable name="interspers_tag_open">###interspers123###</xsl:variable><xsl:variable name="interspers_tag_close">###/interspers123###</xsl:variable><xsl:template name="split_for_interspers">
|
6201
|
+
<xsl:param name="pText" select="."/>
|
6202
|
+
<xsl:param name="sep" select="','"/>
|
6203
|
+
<!-- word with length more than 30 will be interspersed with zero-width space -->
|
6204
|
+
<xsl:variable name="regex" select="concat('([^', $zero_width_space, ']{31,})')"/> <!-- sequence of characters (more 31), that doesn't contains zero-width space -->
|
6205
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new($pText),$regex,concat($interspers_tag_open,'$1',$interspers_tag_close))"/>
|
6206
|
+
<xsl:call-template name="replace_tag_interspers">
|
6207
|
+
<xsl:with-param name="text" select="$text"/>
|
6208
|
+
</xsl:call-template>
|
6209
|
+
</xsl:template><xsl:template name="replace_tag_interspers">
|
6210
|
+
<xsl:param name="text"/>
|
6211
|
+
<xsl:choose>
|
6212
|
+
<xsl:when test="contains($text, $interspers_tag_open)">
|
6213
|
+
<xsl:value-of select="substring-before($text, $interspers_tag_open)"/>
|
6214
|
+
<xsl:variable name="text_after" select="substring-after($text, $interspers_tag_open)"/>
|
6215
|
+
<interspers>
|
6216
|
+
<xsl:value-of select="substring-before($text_after, $interspers_tag_close)"/>
|
6217
|
+
</interspers>
|
6218
|
+
<xsl:call-template name="replace_tag_interspers">
|
6219
|
+
<xsl:with-param name="text" select="substring-after($text_after, $interspers_tag_close)"/>
|
6220
|
+
</xsl:call-template>
|
6221
|
+
</xsl:when>
|
6222
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
6223
|
+
</xsl:choose>
|
6164
6224
|
</xsl:template><xsl:template name="interspers">
|
6165
6225
|
<xsl:param name="str"/>
|
6166
6226
|
<xsl:param name="char" select="$zero_width_space"/>
|
@@ -6618,7 +6678,7 @@
|
|
6618
6678
|
</xsl:otherwise>
|
6619
6679
|
</xsl:choose> -->
|
6620
6680
|
</fo:block>
|
6621
|
-
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
6681
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ') or starts-with(., '[SOURCE: Quoted from: ') or starts-with(., '[SOURCE: Modified from: ')]" priority="2">
|
6622
6682
|
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
6623
6683
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
6624
6684
|
<xsl:if test="normalize-space() != ''">
|
@@ -130,7 +130,13 @@
|
|
130
130
|
|
131
131
|
<xsl:template match="/">
|
132
132
|
<xsl:call-template name="namespaceCheck"/>
|
133
|
-
<fo:root
|
133
|
+
<fo:root xml:lang="{$lang}">
|
134
|
+
<xsl:variable name="root-style">
|
135
|
+
<root-style xsl:use-attribute-sets="root-style"/>
|
136
|
+
</xsl:variable>
|
137
|
+
<xsl:call-template name="insertRootStyle">
|
138
|
+
<xsl:with-param name="root-style" select="$root-style"/>
|
139
|
+
</xsl:call-template>
|
134
140
|
<fo:layout-master-set>
|
135
141
|
<!-- Cover page -->
|
136
142
|
<fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
|
@@ -1604,7 +1610,30 @@
|
|
1604
1610
|
|
1605
1611
|
|
1606
1612
|
|
1607
|
-
</xsl:attribute-set><xsl:
|
1613
|
+
</xsl:attribute-set><xsl:template name="insertRootStyle">
|
1614
|
+
<xsl:param name="root-style"/>
|
1615
|
+
<xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
|
1616
|
+
|
1617
|
+
<xsl:variable name="additional_fonts_">
|
1618
|
+
<xsl:for-each select="//*[local-name() = 'misc-container'][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
|
1619
|
+
<xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
|
1620
|
+
</xsl:for-each>
|
1621
|
+
</xsl:variable>
|
1622
|
+
<xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
|
1623
|
+
|
1624
|
+
<xsl:for-each select="$root-style_/root-style/@*">
|
1625
|
+
<xsl:choose>
|
1626
|
+
<xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
|
1627
|
+
<xsl:attribute name="{local-name()}">
|
1628
|
+
<xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
|
1629
|
+
</xsl:attribute>
|
1630
|
+
</xsl:when>
|
1631
|
+
<xsl:otherwise>
|
1632
|
+
<xsl:copy-of select="."/>
|
1633
|
+
</xsl:otherwise>
|
1634
|
+
</xsl:choose>
|
1635
|
+
</xsl:for-each>
|
1636
|
+
</xsl:template><xsl:attribute-set name="copyright-statement-style">
|
1608
1637
|
|
1609
1638
|
<xsl:attribute name="font-size">8pt</xsl:attribute>
|
1610
1639
|
<xsl:attribute name="line-height">125%</xsl:attribute>
|
@@ -2195,7 +2224,7 @@
|
|
2195
2224
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
2196
2225
|
|
2197
2226
|
|
2198
|
-
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
2227
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
2199
2228
|
|
2200
2229
|
|
2201
2230
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
@@ -4634,24 +4663,28 @@
|
|
4634
4663
|
</xsl:template><xsl:template name="add-zero-spaces-equal">
|
4635
4664
|
<xsl:param name="text" select="."/>
|
4636
4665
|
<xsl:variable name="zero-space-after-equals">==========</xsl:variable>
|
4666
|
+
<xsl:variable name="regex_zero-space-after-equals">(==========)</xsl:variable>
|
4637
4667
|
<xsl:variable name="zero-space-after-equal">=</xsl:variable>
|
4668
|
+
<xsl:variable name="regex_zero-space-after-equal">(=)</xsl:variable>
|
4638
4669
|
<xsl:variable name="zero-space"></xsl:variable>
|
4639
4670
|
<xsl:choose>
|
4640
4671
|
<xsl:when test="contains($text, $zero-space-after-equals)">
|
4641
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
4672
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
4642
4673
|
<xsl:value-of select="$zero-space-after-equals"/>
|
4643
4674
|
<xsl:value-of select="$zero-space"/>
|
4644
4675
|
<xsl:call-template name="add-zero-spaces-equal">
|
4645
4676
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
|
4646
|
-
</xsl:call-template>
|
4677
|
+
</xsl:call-template> -->
|
4678
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equals,concat('$1',$zero_width_space))"/>
|
4647
4679
|
</xsl:when>
|
4648
4680
|
<xsl:when test="contains($text, $zero-space-after-equal)">
|
4649
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
4681
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
4650
4682
|
<xsl:value-of select="$zero-space-after-equal"/>
|
4651
4683
|
<xsl:value-of select="$zero-space"/>
|
4652
4684
|
<xsl:call-template name="add-zero-spaces-equal">
|
4653
4685
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
|
4654
|
-
</xsl:call-template>
|
4686
|
+
</xsl:call-template> -->
|
4687
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equal,concat('$1',$zero_width_space))"/>
|
4655
4688
|
</xsl:when>
|
4656
4689
|
<xsl:otherwise>
|
4657
4690
|
<xsl:value-of select="$text"/>
|
@@ -5131,7 +5164,12 @@
|
|
5131
5164
|
|
5132
5165
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
5133
5166
|
|
5167
|
+
<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
|
5168
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
5169
|
+
</xsl:if>
|
5170
|
+
|
5134
5171
|
|
5172
|
+
|
5135
5173
|
|
5136
5174
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
5137
5175
|
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
@@ -6140,17 +6178,15 @@
|
|
6140
6178
|
|
6141
6179
|
<!-- split text by zero-width space -->
|
6142
6180
|
<xsl:variable name="text_step4">
|
6143
|
-
<xsl:call-template name="
|
6181
|
+
<xsl:call-template name="split_for_interspers">
|
6144
6182
|
<xsl:with-param name="pText" select="$text_step3"/>
|
6145
6183
|
<xsl:with-param name="sep" select="$zero_width_space"/>
|
6146
|
-
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
6147
|
-
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
6148
6184
|
</xsl:call-template>
|
6149
6185
|
</xsl:variable>
|
6150
6186
|
|
6151
|
-
<xsl:for-each select="xalan:nodeset($text_step4)/
|
6187
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
6152
6188
|
<xsl:choose>
|
6153
|
-
<xsl:when test="
|
6189
|
+
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
6154
6190
|
<xsl:call-template name="interspers">
|
6155
6191
|
<xsl:with-param name="str" select="."/>
|
6156
6192
|
</xsl:call-template>
|
@@ -6161,6 +6197,30 @@
|
|
6161
6197
|
</xsl:choose>
|
6162
6198
|
</xsl:for-each>
|
6163
6199
|
|
6200
|
+
</xsl:template><xsl:variable name="interspers_tag_open">###interspers123###</xsl:variable><xsl:variable name="interspers_tag_close">###/interspers123###</xsl:variable><xsl:template name="split_for_interspers">
|
6201
|
+
<xsl:param name="pText" select="."/>
|
6202
|
+
<xsl:param name="sep" select="','"/>
|
6203
|
+
<!-- word with length more than 30 will be interspersed with zero-width space -->
|
6204
|
+
<xsl:variable name="regex" select="concat('([^', $zero_width_space, ']{31,})')"/> <!-- sequence of characters (more 31), that doesn't contains zero-width space -->
|
6205
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new($pText),$regex,concat($interspers_tag_open,'$1',$interspers_tag_close))"/>
|
6206
|
+
<xsl:call-template name="replace_tag_interspers">
|
6207
|
+
<xsl:with-param name="text" select="$text"/>
|
6208
|
+
</xsl:call-template>
|
6209
|
+
</xsl:template><xsl:template name="replace_tag_interspers">
|
6210
|
+
<xsl:param name="text"/>
|
6211
|
+
<xsl:choose>
|
6212
|
+
<xsl:when test="contains($text, $interspers_tag_open)">
|
6213
|
+
<xsl:value-of select="substring-before($text, $interspers_tag_open)"/>
|
6214
|
+
<xsl:variable name="text_after" select="substring-after($text, $interspers_tag_open)"/>
|
6215
|
+
<interspers>
|
6216
|
+
<xsl:value-of select="substring-before($text_after, $interspers_tag_close)"/>
|
6217
|
+
</interspers>
|
6218
|
+
<xsl:call-template name="replace_tag_interspers">
|
6219
|
+
<xsl:with-param name="text" select="substring-after($text_after, $interspers_tag_close)"/>
|
6220
|
+
</xsl:call-template>
|
6221
|
+
</xsl:when>
|
6222
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
6223
|
+
</xsl:choose>
|
6164
6224
|
</xsl:template><xsl:template name="interspers">
|
6165
6225
|
<xsl:param name="str"/>
|
6166
6226
|
<xsl:param name="char" select="$zero_width_space"/>
|
@@ -6618,7 +6678,7 @@
|
|
6618
6678
|
</xsl:otherwise>
|
6619
6679
|
</xsl:choose> -->
|
6620
6680
|
</fo:block>
|
6621
|
-
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
6681
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ') or starts-with(., '[SOURCE: Quoted from: ') or starts-with(., '[SOURCE: Modified from: ')]" priority="2">
|
6622
6682
|
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
6623
6683
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
6624
6684
|
<xsl:if test="normalize-space() != ''">
|
@@ -87,7 +87,13 @@
|
|
87
87
|
|
88
88
|
<xsl:template match="/">
|
89
89
|
<xsl:call-template name="namespaceCheck"/>
|
90
|
-
<fo:root
|
90
|
+
<fo:root xml:lang="{$lang}">
|
91
|
+
<xsl:variable name="root-style">
|
92
|
+
<root-style xsl:use-attribute-sets="root-style"/>
|
93
|
+
</xsl:variable>
|
94
|
+
<xsl:call-template name="insertRootStyle">
|
95
|
+
<xsl:with-param name="root-style" select="$root-style"/>
|
96
|
+
</xsl:call-template>
|
91
97
|
<fo:layout-master-set>
|
92
98
|
|
93
99
|
<!-- Document pages -->
|
@@ -784,7 +790,30 @@
|
|
784
790
|
|
785
791
|
|
786
792
|
|
787
|
-
</xsl:attribute-set><xsl:
|
793
|
+
</xsl:attribute-set><xsl:template name="insertRootStyle">
|
794
|
+
<xsl:param name="root-style"/>
|
795
|
+
<xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
|
796
|
+
|
797
|
+
<xsl:variable name="additional_fonts_">
|
798
|
+
<xsl:for-each select="//*[local-name() = 'misc-container'][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
|
799
|
+
<xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
|
800
|
+
</xsl:for-each>
|
801
|
+
</xsl:variable>
|
802
|
+
<xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
|
803
|
+
|
804
|
+
<xsl:for-each select="$root-style_/root-style/@*">
|
805
|
+
<xsl:choose>
|
806
|
+
<xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
|
807
|
+
<xsl:attribute name="{local-name()}">
|
808
|
+
<xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
|
809
|
+
</xsl:attribute>
|
810
|
+
</xsl:when>
|
811
|
+
<xsl:otherwise>
|
812
|
+
<xsl:copy-of select="."/>
|
813
|
+
</xsl:otherwise>
|
814
|
+
</xsl:choose>
|
815
|
+
</xsl:for-each>
|
816
|
+
</xsl:template><xsl:attribute-set name="copyright-statement-style">
|
788
817
|
|
789
818
|
</xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
|
790
819
|
|
@@ -1384,7 +1413,7 @@
|
|
1384
1413
|
|
1385
1414
|
|
1386
1415
|
|
1387
|
-
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1416
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
1388
1417
|
|
1389
1418
|
|
1390
1419
|
|
@@ -3835,24 +3864,28 @@
|
|
3835
3864
|
</xsl:template><xsl:template name="add-zero-spaces-equal">
|
3836
3865
|
<xsl:param name="text" select="."/>
|
3837
3866
|
<xsl:variable name="zero-space-after-equals">==========</xsl:variable>
|
3867
|
+
<xsl:variable name="regex_zero-space-after-equals">(==========)</xsl:variable>
|
3838
3868
|
<xsl:variable name="zero-space-after-equal">=</xsl:variable>
|
3869
|
+
<xsl:variable name="regex_zero-space-after-equal">(=)</xsl:variable>
|
3839
3870
|
<xsl:variable name="zero-space"></xsl:variable>
|
3840
3871
|
<xsl:choose>
|
3841
3872
|
<xsl:when test="contains($text, $zero-space-after-equals)">
|
3842
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
3873
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equals)"/>
|
3843
3874
|
<xsl:value-of select="$zero-space-after-equals"/>
|
3844
3875
|
<xsl:value-of select="$zero-space"/>
|
3845
3876
|
<xsl:call-template name="add-zero-spaces-equal">
|
3846
3877
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equals)"/>
|
3847
|
-
</xsl:call-template>
|
3878
|
+
</xsl:call-template> -->
|
3879
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equals,concat('$1',$zero_width_space))"/>
|
3848
3880
|
</xsl:when>
|
3849
3881
|
<xsl:when test="contains($text, $zero-space-after-equal)">
|
3850
|
-
<xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
3882
|
+
<!-- <xsl:value-of select="substring-before($text, $zero-space-after-equal)"/>
|
3851
3883
|
<xsl:value-of select="$zero-space-after-equal"/>
|
3852
3884
|
<xsl:value-of select="$zero-space"/>
|
3853
3885
|
<xsl:call-template name="add-zero-spaces-equal">
|
3854
3886
|
<xsl:with-param name="text" select="substring-after($text, $zero-space-after-equal)"/>
|
3855
|
-
</xsl:call-template>
|
3887
|
+
</xsl:call-template> -->
|
3888
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),$regex_zero-space-after-equal,concat('$1',$zero_width_space))"/>
|
3856
3889
|
</xsl:when>
|
3857
3890
|
<xsl:otherwise>
|
3858
3891
|
<xsl:value-of select="$text"/>
|
@@ -4332,7 +4365,12 @@
|
|
4332
4365
|
|
4333
4366
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
4334
4367
|
|
4368
|
+
<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
|
4369
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
4370
|
+
</xsl:if>
|
4371
|
+
|
4335
4372
|
|
4373
|
+
|
4336
4374
|
|
4337
4375
|
<!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
|
4338
4376
|
<!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
|
@@ -5301,17 +5339,15 @@
|
|
5301
5339
|
|
5302
5340
|
<!-- split text by zero-width space -->
|
5303
5341
|
<xsl:variable name="text_step4">
|
5304
|
-
<xsl:call-template name="
|
5342
|
+
<xsl:call-template name="split_for_interspers">
|
5305
5343
|
<xsl:with-param name="pText" select="$text_step3"/>
|
5306
5344
|
<xsl:with-param name="sep" select="$zero_width_space"/>
|
5307
|
-
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
5308
|
-
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
5309
5345
|
</xsl:call-template>
|
5310
5346
|
</xsl:variable>
|
5311
5347
|
|
5312
|
-
<xsl:for-each select="xalan:nodeset($text_step4)/
|
5348
|
+
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
5313
5349
|
<xsl:choose>
|
5314
|
-
<xsl:when test="
|
5350
|
+
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
5315
5351
|
<xsl:call-template name="interspers">
|
5316
5352
|
<xsl:with-param name="str" select="."/>
|
5317
5353
|
</xsl:call-template>
|
@@ -5322,6 +5358,30 @@
|
|
5322
5358
|
</xsl:choose>
|
5323
5359
|
</xsl:for-each>
|
5324
5360
|
|
5361
|
+
</xsl:template><xsl:variable name="interspers_tag_open">###interspers123###</xsl:variable><xsl:variable name="interspers_tag_close">###/interspers123###</xsl:variable><xsl:template name="split_for_interspers">
|
5362
|
+
<xsl:param name="pText" select="."/>
|
5363
|
+
<xsl:param name="sep" select="','"/>
|
5364
|
+
<!-- word with length more than 30 will be interspersed with zero-width space -->
|
5365
|
+
<xsl:variable name="regex" select="concat('([^', $zero_width_space, ']{31,})')"/> <!-- sequence of characters (more 31), that doesn't contains zero-width space -->
|
5366
|
+
<xsl:variable name="text" select="java:replaceAll(java:java.lang.String.new($pText),$regex,concat($interspers_tag_open,'$1',$interspers_tag_close))"/>
|
5367
|
+
<xsl:call-template name="replace_tag_interspers">
|
5368
|
+
<xsl:with-param name="text" select="$text"/>
|
5369
|
+
</xsl:call-template>
|
5370
|
+
</xsl:template><xsl:template name="replace_tag_interspers">
|
5371
|
+
<xsl:param name="text"/>
|
5372
|
+
<xsl:choose>
|
5373
|
+
<xsl:when test="contains($text, $interspers_tag_open)">
|
5374
|
+
<xsl:value-of select="substring-before($text, $interspers_tag_open)"/>
|
5375
|
+
<xsl:variable name="text_after" select="substring-after($text, $interspers_tag_open)"/>
|
5376
|
+
<interspers>
|
5377
|
+
<xsl:value-of select="substring-before($text_after, $interspers_tag_close)"/>
|
5378
|
+
</interspers>
|
5379
|
+
<xsl:call-template name="replace_tag_interspers">
|
5380
|
+
<xsl:with-param name="text" select="substring-after($text_after, $interspers_tag_close)"/>
|
5381
|
+
</xsl:call-template>
|
5382
|
+
</xsl:when>
|
5383
|
+
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
5384
|
+
</xsl:choose>
|
5325
5385
|
</xsl:template><xsl:template name="interspers">
|
5326
5386
|
<xsl:param name="str"/>
|
5327
5387
|
<xsl:param name="char" select="$zero_width_space"/>
|
@@ -5779,7 +5839,7 @@
|
|
5779
5839
|
</xsl:otherwise>
|
5780
5840
|
</xsl:choose> -->
|
5781
5841
|
</fo:block>
|
5782
|
-
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ')]" priority="2">
|
5842
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()[starts-with(., '[SOURCE: Adapted from: ') or starts-with(., '[SOURCE: Quoted from: ') or starts-with(., '[SOURCE: Modified from: ')]" priority="2">
|
5783
5843
|
<xsl:text>[</xsl:text><xsl:value-of select="substring-after(., '[SOURCE: ')"/>
|
5784
5844
|
</xsl:template><xsl:template match="*[local-name() = 'termsource']/text()">
|
5785
5845
|
<xsl:if test="normalize-space() != ''">
|
@@ -226,7 +226,8 @@ module IsoDoc
|
|
226
226
|
|
227
227
|
def bibliography_bibitem_number_skip(bibitem)
|
228
228
|
@xrefs.klass.implicit_reference(bibitem) ||
|
229
|
-
bibitem.at(ns(".//docidentifier[@type = 'metanorma-ordinal']"))
|
229
|
+
bibitem.at(ns(".//docidentifier[@type = 'metanorma-ordinal']")) ||
|
230
|
+
bibitem["hidden"] == "true" || bibitem.parent["hidden"] == "true"
|
230
231
|
end
|
231
232
|
|
232
233
|
include Init
|
@@ -527,7 +527,7 @@
|
|
527
527
|
</define>
|
528
528
|
<define name="LocalityType">
|
529
529
|
<data type="string">
|
530
|
-
<param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
|
530
|
+
<param name="pattern">section|clause|part|paragraph|chapter|page|title|line|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
|
531
531
|
</data>
|
532
532
|
</define>
|
533
533
|
<define name="referenceFrom">
|
@@ -677,6 +677,9 @@
|
|
677
677
|
<zeroOrMore>
|
678
678
|
<ref name="extent"/>
|
679
679
|
</zeroOrMore>
|
680
|
+
<optional>
|
681
|
+
<ref name="bibliographic_size"/>
|
682
|
+
</optional>
|
680
683
|
<zeroOrMore>
|
681
684
|
<ref name="accesslocation"/>
|
682
685
|
</zeroOrMore>
|
@@ -922,9 +925,29 @@
|
|
922
925
|
<text/>
|
923
926
|
</element>
|
924
927
|
</define>
|
928
|
+
<define name="sizevalue">
|
929
|
+
<element name="value">
|
930
|
+
<attribute name="type"/>
|
931
|
+
<text/>
|
932
|
+
</element>
|
933
|
+
</define>
|
934
|
+
<define name="bibliographic_size">
|
935
|
+
<element name="size">
|
936
|
+
<oneOrMore>
|
937
|
+
<ref name="sizevalue"/>
|
938
|
+
</oneOrMore>
|
939
|
+
</element>
|
940
|
+
</define>
|
925
941
|
<define name="extent">
|
926
942
|
<element name="extent">
|
927
|
-
<
|
943
|
+
<choice>
|
944
|
+
<zeroOrMore>
|
945
|
+
<ref name="locality"/>
|
946
|
+
</zeroOrMore>
|
947
|
+
<zeroOrMore>
|
948
|
+
<ref name="localityStack"/>
|
949
|
+
</zeroOrMore>
|
950
|
+
</choice>
|
928
951
|
</element>
|
929
952
|
</define>
|
930
953
|
<define name="series">
|
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.0.
|
4
|
+
version: 2.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-04-
|
11
|
+
date: 2022-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: iso-639
|