metanorma-ogc 2.3.10 → 2.3.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -681,11 +681,15 @@
681
681
 
682
682
  <xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text()" priority="2">
683
683
  <xsl:variable name="content">
684
- <xsl:call-template name="add-zero-spaces"/>
684
+ <xsl:call-template name="add-zero-spaces-java"/>
685
685
  </xsl:variable>
686
686
  <!-- add zero-width space in the words like 'adeOfAbstractTransportaonSpace' to split it in the table's cell -->
687
687
  <xsl:variable name="content2" select="java:replaceAll(java:java.lang.String.new($content),'([a-z]{2,})([A-Z])(.?)','$1​$2$3')"/>
688
- <xsl:value-of select="translate($content2, $thin_space, ' ')"/>
688
+
689
+ <!-- add zero-width space (#x200B) before character '(' if preceding and following are word chars -->
690
+ <xsl:variable name="content3" select="java:replaceAll(java:java.lang.String.new($content2), '(\w)(\()(\w)', '$1​$2$3')"/>
691
+
692
+ <xsl:value-of select="translate($content3, $thin_space, ' ')"/>
689
693
  </xsl:template>
690
694
 
691
695
  <xsl:template match="node()" mode="sections">
@@ -3530,7 +3534,7 @@
3530
3534
  </xsl:attribute>
3531
3535
  </xsl:for-each>
3532
3536
 
3533
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
3537
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
3534
3538
  <xsl:if test="$isNoteOrFnExist = 'true'">
3535
3539
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
3536
3540
  </xsl:if>
@@ -3574,7 +3578,7 @@
3574
3578
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
3575
3579
  </xsl:when>
3576
3580
  <xsl:otherwise>
3577
- <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
3581
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'example') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
3578
3582
  </xsl:otherwise>
3579
3583
  </xsl:choose>
3580
3584
 
@@ -4089,7 +4093,7 @@
4089
4093
  <xsl:param name="colwidths"/>
4090
4094
  <xsl:param name="colgroup"/>
4091
4095
 
4092
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4096
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4093
4097
 
4094
4098
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
4095
4099
 
@@ -4162,6 +4166,7 @@
4162
4166
  <xsl:apply-templates select="../*[local-name()='p']"/>
4163
4167
  <xsl:apply-templates select="../*[local-name()='dl']"/>
4164
4168
  <xsl:apply-templates select="../*[local-name()='note']"/>
4169
+ <xsl:apply-templates select="../*[local-name()='example']"/>
4165
4170
  <xsl:apply-templates select="../*[local-name()='source']"/>
4166
4171
 
4167
4172
  <xsl:variable name="isDisplayRowSeparator">
@@ -4170,7 +4175,7 @@
4170
4175
 
4171
4176
  <!-- horizontal row separator -->
4172
4177
  <xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
4173
- <xsl:if test="../*[local-name()='note'] and normalize-space($table_fn_block) != ''">
4178
+ <xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
4174
4179
  <fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
4175
4180
 
4176
4181
  <xsl:call-template name="setBordersTableArray"/>
@@ -4431,13 +4436,13 @@
4431
4436
  </fo:table-cell>
4432
4437
  </xsl:template> <!-- td -->
4433
4438
 
4434
- <xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
4439
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
4435
4440
 
4436
4441
  <fo:block xsl:use-attribute-sets="table-note-style">
4437
4442
 
4438
4443
  <xsl:call-template name="refine_table-note-style"/>
4439
4444
 
4440
- <!-- Table's note name (NOTE, for example) -->
4445
+ <!-- Table's note/example name (NOTE, for example) -->
4441
4446
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
4442
4447
 
4443
4448
  <xsl:call-template name="refine_table-note-name-style"/>
@@ -4451,7 +4456,7 @@
4451
4456
 
4452
4457
  </xsl:template> <!-- table/note -->
4453
4458
 
4454
- <xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
4459
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name()='example']/*[local-name()='p']" priority="2">
4455
4460
  <xsl:apply-templates/>
4456
4461
  </xsl:template>
4457
4462
 
@@ -6026,7 +6031,10 @@
6026
6031
  </xsl:choose>
6027
6032
  </xsl:variable>
6028
6033
 
6029
- <xsl:value-of select="$text9"/>
6034
+ <!-- replace sequence #x200B and space TO space -->
6035
+ <xsl:variable name="text10" select="java:replaceAll(java:java.lang.String.new($text9), '\u200b ', ' ')"/>
6036
+
6037
+ <xsl:value-of select="$text10"/>
6030
6038
  </xsl:template>
6031
6039
 
6032
6040
  <xsl:template name="add-zero-spaces-link-java">
@@ -7119,7 +7127,7 @@
7119
7127
  <xsl:call-template name="insert_basic_link">
7120
7128
  <xsl:with-param name="element">
7121
7129
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
7122
- <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://'))">
7130
+ <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
7123
7131
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
7124
7132
  </xsl:if>
7125
7133
  <xsl:if test="parent::*[local-name() = 'add']">
@@ -9458,6 +9466,12 @@
9458
9466
 
9459
9467
  </xsl:template>
9460
9468
 
9469
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
9470
+ <fo:inline xsl:use-attribute-sets="example-name-style">
9471
+ <xsl:apply-templates/>
9472
+ </fo:inline>
9473
+ </xsl:template>
9474
+
9461
9475
  <xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
9462
9476
  <xsl:param name="fo_element">block</xsl:param>
9463
9477
 
@@ -10028,6 +10042,9 @@
10028
10042
  <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
10029
10043
  </xsl:choose>
10030
10044
  </xsl:when>
10045
+ <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
10046
+ <xsl:value-of select="@label"/>
10047
+ </xsl:when>
10031
10048
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
10032
10049
 
10033
10050
  <!-- Example: for BSI <?list-start 2?> -->
@@ -10085,10 +10102,10 @@
10085
10102
  <xsl:when test="$type = 'arabic'">
10086
10103
  1.
10087
10104
  </xsl:when>
10088
- <xsl:when test="$type = 'alphabet'">
10105
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
10089
10106
  a)
10090
10107
  </xsl:when>
10091
- <xsl:when test="$type = 'alphabet_upper'">
10108
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
10092
10109
  A)
10093
10110
  </xsl:when>
10094
10111
  <xsl:when test="$type = 'roman'">
@@ -10228,7 +10245,7 @@
10228
10245
  <xsl:call-template name="append_add-style"/>
10229
10246
  </xsl:if>
10230
10247
 
10231
- <xsl:call-template name="getListItemFormat"/>
10248
+ <xsl:call-template name="getListItemFormat"/>
10232
10249
 
10233
10250
  </fo:block>
10234
10251
  </fo:list-item-label>
@@ -681,11 +681,15 @@
681
681
 
682
682
  <xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text()" priority="2">
683
683
  <xsl:variable name="content">
684
- <xsl:call-template name="add-zero-spaces"/>
684
+ <xsl:call-template name="add-zero-spaces-java"/>
685
685
  </xsl:variable>
686
686
  <!-- add zero-width space in the words like 'adeOfAbstractTransportaonSpace' to split it in the table's cell -->
687
687
  <xsl:variable name="content2" select="java:replaceAll(java:java.lang.String.new($content),'([a-z]{2,})([A-Z])(.?)','$1​$2$3')"/>
688
- <xsl:value-of select="translate($content2, $thin_space, ' ')"/>
688
+
689
+ <!-- add zero-width space (#x200B) before character '(' if preceding and following are word chars -->
690
+ <xsl:variable name="content3" select="java:replaceAll(java:java.lang.String.new($content2), '(\w)(\()(\w)', '$1​$2$3')"/>
691
+
692
+ <xsl:value-of select="translate($content3, $thin_space, ' ')"/>
689
693
  </xsl:template>
690
694
 
691
695
  <xsl:template match="node()" mode="sections">
@@ -3530,7 +3534,7 @@
3530
3534
  </xsl:attribute>
3531
3535
  </xsl:for-each>
3532
3536
 
3533
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
3537
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
3534
3538
  <xsl:if test="$isNoteOrFnExist = 'true'">
3535
3539
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
3536
3540
  </xsl:if>
@@ -3574,7 +3578,7 @@
3574
3578
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
3575
3579
  </xsl:when>
3576
3580
  <xsl:otherwise>
3577
- <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
3581
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'example') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
3578
3582
  </xsl:otherwise>
3579
3583
  </xsl:choose>
3580
3584
 
@@ -4089,7 +4093,7 @@
4089
4093
  <xsl:param name="colwidths"/>
4090
4094
  <xsl:param name="colgroup"/>
4091
4095
 
4092
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4096
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4093
4097
 
4094
4098
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
4095
4099
 
@@ -4162,6 +4166,7 @@
4162
4166
  <xsl:apply-templates select="../*[local-name()='p']"/>
4163
4167
  <xsl:apply-templates select="../*[local-name()='dl']"/>
4164
4168
  <xsl:apply-templates select="../*[local-name()='note']"/>
4169
+ <xsl:apply-templates select="../*[local-name()='example']"/>
4165
4170
  <xsl:apply-templates select="../*[local-name()='source']"/>
4166
4171
 
4167
4172
  <xsl:variable name="isDisplayRowSeparator">
@@ -4170,7 +4175,7 @@
4170
4175
 
4171
4176
  <!-- horizontal row separator -->
4172
4177
  <xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
4173
- <xsl:if test="../*[local-name()='note'] and normalize-space($table_fn_block) != ''">
4178
+ <xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
4174
4179
  <fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
4175
4180
 
4176
4181
  <xsl:call-template name="setBordersTableArray"/>
@@ -4431,13 +4436,13 @@
4431
4436
  </fo:table-cell>
4432
4437
  </xsl:template> <!-- td -->
4433
4438
 
4434
- <xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
4439
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
4435
4440
 
4436
4441
  <fo:block xsl:use-attribute-sets="table-note-style">
4437
4442
 
4438
4443
  <xsl:call-template name="refine_table-note-style"/>
4439
4444
 
4440
- <!-- Table's note name (NOTE, for example) -->
4445
+ <!-- Table's note/example name (NOTE, for example) -->
4441
4446
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
4442
4447
 
4443
4448
  <xsl:call-template name="refine_table-note-name-style"/>
@@ -4451,7 +4456,7 @@
4451
4456
 
4452
4457
  </xsl:template> <!-- table/note -->
4453
4458
 
4454
- <xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
4459
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name()='example']/*[local-name()='p']" priority="2">
4455
4460
  <xsl:apply-templates/>
4456
4461
  </xsl:template>
4457
4462
 
@@ -6026,7 +6031,10 @@
6026
6031
  </xsl:choose>
6027
6032
  </xsl:variable>
6028
6033
 
6029
- <xsl:value-of select="$text9"/>
6034
+ <!-- replace sequence #x200B and space TO space -->
6035
+ <xsl:variable name="text10" select="java:replaceAll(java:java.lang.String.new($text9), '\u200b ', ' ')"/>
6036
+
6037
+ <xsl:value-of select="$text10"/>
6030
6038
  </xsl:template>
6031
6039
 
6032
6040
  <xsl:template name="add-zero-spaces-link-java">
@@ -7119,7 +7127,7 @@
7119
7127
  <xsl:call-template name="insert_basic_link">
7120
7128
  <xsl:with-param name="element">
7121
7129
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
7122
- <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://'))">
7130
+ <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
7123
7131
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
7124
7132
  </xsl:if>
7125
7133
  <xsl:if test="parent::*[local-name() = 'add']">
@@ -9458,6 +9466,12 @@
9458
9466
 
9459
9467
  </xsl:template>
9460
9468
 
9469
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
9470
+ <fo:inline xsl:use-attribute-sets="example-name-style">
9471
+ <xsl:apply-templates/>
9472
+ </fo:inline>
9473
+ </xsl:template>
9474
+
9461
9475
  <xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
9462
9476
  <xsl:param name="fo_element">block</xsl:param>
9463
9477
 
@@ -10028,6 +10042,9 @@
10028
10042
  <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
10029
10043
  </xsl:choose>
10030
10044
  </xsl:when>
10045
+ <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
10046
+ <xsl:value-of select="@label"/>
10047
+ </xsl:when>
10031
10048
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
10032
10049
 
10033
10050
  <!-- Example: for BSI <?list-start 2?> -->
@@ -10085,10 +10102,10 @@
10085
10102
  <xsl:when test="$type = 'arabic'">
10086
10103
  1.
10087
10104
  </xsl:when>
10088
- <xsl:when test="$type = 'alphabet'">
10105
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
10089
10106
  a)
10090
10107
  </xsl:when>
10091
- <xsl:when test="$type = 'alphabet_upper'">
10108
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
10092
10109
  A)
10093
10110
  </xsl:when>
10094
10111
  <xsl:when test="$type = 'roman'">
@@ -10228,7 +10245,7 @@
10228
10245
  <xsl:call-template name="append_add-style"/>
10229
10246
  </xsl:if>
10230
10247
 
10231
- <xsl:call-template name="getListItemFormat"/>
10248
+ <xsl:call-template name="getListItemFormat"/>
10232
10249
 
10233
10250
  </fo:block>
10234
10251
  </fo:list-item-label>
@@ -681,11 +681,15 @@
681
681
 
682
682
  <xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text()" priority="2">
683
683
  <xsl:variable name="content">
684
- <xsl:call-template name="add-zero-spaces"/>
684
+ <xsl:call-template name="add-zero-spaces-java"/>
685
685
  </xsl:variable>
686
686
  <!-- add zero-width space in the words like 'adeOfAbstractTransportaonSpace' to split it in the table's cell -->
687
687
  <xsl:variable name="content2" select="java:replaceAll(java:java.lang.String.new($content),'([a-z]{2,})([A-Z])(.?)','$1​$2$3')"/>
688
- <xsl:value-of select="translate($content2, $thin_space, ' ')"/>
688
+
689
+ <!-- add zero-width space (#x200B) before character '(' if preceding and following are word chars -->
690
+ <xsl:variable name="content3" select="java:replaceAll(java:java.lang.String.new($content2), '(\w)(\()(\w)', '$1​$2$3')"/>
691
+
692
+ <xsl:value-of select="translate($content3, $thin_space, ' ')"/>
689
693
  </xsl:template>
690
694
 
691
695
  <xsl:template match="node()" mode="sections">
@@ -3530,7 +3534,7 @@
3530
3534
  </xsl:attribute>
3531
3535
  </xsl:for-each>
3532
3536
 
3533
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
3537
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
3534
3538
  <xsl:if test="$isNoteOrFnExist = 'true'">
3535
3539
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
3536
3540
  </xsl:if>
@@ -3574,7 +3578,7 @@
3574
3578
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
3575
3579
  </xsl:when>
3576
3580
  <xsl:otherwise>
3577
- <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
3581
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'example') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
3578
3582
  </xsl:otherwise>
3579
3583
  </xsl:choose>
3580
3584
 
@@ -4089,7 +4093,7 @@
4089
4093
  <xsl:param name="colwidths"/>
4090
4094
  <xsl:param name="colgroup"/>
4091
4095
 
4092
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4096
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
4093
4097
 
4094
4098
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
4095
4099
 
@@ -4162,6 +4166,7 @@
4162
4166
  <xsl:apply-templates select="../*[local-name()='p']"/>
4163
4167
  <xsl:apply-templates select="../*[local-name()='dl']"/>
4164
4168
  <xsl:apply-templates select="../*[local-name()='note']"/>
4169
+ <xsl:apply-templates select="../*[local-name()='example']"/>
4165
4170
  <xsl:apply-templates select="../*[local-name()='source']"/>
4166
4171
 
4167
4172
  <xsl:variable name="isDisplayRowSeparator">
@@ -4170,7 +4175,7 @@
4170
4175
 
4171
4176
  <!-- horizontal row separator -->
4172
4177
  <xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
4173
- <xsl:if test="../*[local-name()='note'] and normalize-space($table_fn_block) != ''">
4178
+ <xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
4174
4179
  <fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
4175
4180
 
4176
4181
  <xsl:call-template name="setBordersTableArray"/>
@@ -4431,13 +4436,13 @@
4431
4436
  </fo:table-cell>
4432
4437
  </xsl:template> <!-- td -->
4433
4438
 
4434
- <xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
4439
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
4435
4440
 
4436
4441
  <fo:block xsl:use-attribute-sets="table-note-style">
4437
4442
 
4438
4443
  <xsl:call-template name="refine_table-note-style"/>
4439
4444
 
4440
- <!-- Table's note name (NOTE, for example) -->
4445
+ <!-- Table's note/example name (NOTE, for example) -->
4441
4446
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
4442
4447
 
4443
4448
  <xsl:call-template name="refine_table-note-name-style"/>
@@ -4451,7 +4456,7 @@
4451
4456
 
4452
4457
  </xsl:template> <!-- table/note -->
4453
4458
 
4454
- <xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
4459
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name()='example']/*[local-name()='p']" priority="2">
4455
4460
  <xsl:apply-templates/>
4456
4461
  </xsl:template>
4457
4462
 
@@ -6026,7 +6031,10 @@
6026
6031
  </xsl:choose>
6027
6032
  </xsl:variable>
6028
6033
 
6029
- <xsl:value-of select="$text9"/>
6034
+ <!-- replace sequence #x200B and space TO space -->
6035
+ <xsl:variable name="text10" select="java:replaceAll(java:java.lang.String.new($text9), '\u200b ', ' ')"/>
6036
+
6037
+ <xsl:value-of select="$text10"/>
6030
6038
  </xsl:template>
6031
6039
 
6032
6040
  <xsl:template name="add-zero-spaces-link-java">
@@ -7119,7 +7127,7 @@
7119
7127
  <xsl:call-template name="insert_basic_link">
7120
7128
  <xsl:with-param name="element">
7121
7129
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
7122
- <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://'))">
7130
+ <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
7123
7131
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
7124
7132
  </xsl:if>
7125
7133
  <xsl:if test="parent::*[local-name() = 'add']">
@@ -9458,6 +9466,12 @@
9458
9466
 
9459
9467
  </xsl:template>
9460
9468
 
9469
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
9470
+ <fo:inline xsl:use-attribute-sets="example-name-style">
9471
+ <xsl:apply-templates/>
9472
+ </fo:inline>
9473
+ </xsl:template>
9474
+
9461
9475
  <xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
9462
9476
  <xsl:param name="fo_element">block</xsl:param>
9463
9477
 
@@ -10028,6 +10042,9 @@
10028
10042
  <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
10029
10043
  </xsl:choose>
10030
10044
  </xsl:when>
10045
+ <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
10046
+ <xsl:value-of select="@label"/>
10047
+ </xsl:when>
10031
10048
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
10032
10049
 
10033
10050
  <!-- Example: for BSI <?list-start 2?> -->
@@ -10085,10 +10102,10 @@
10085
10102
  <xsl:when test="$type = 'arabic'">
10086
10103
  1.
10087
10104
  </xsl:when>
10088
- <xsl:when test="$type = 'alphabet'">
10105
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
10089
10106
  a)
10090
10107
  </xsl:when>
10091
- <xsl:when test="$type = 'alphabet_upper'">
10108
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
10092
10109
  A)
10093
10110
  </xsl:when>
10094
10111
  <xsl:when test="$type = 'roman'">
@@ -10228,7 +10245,7 @@
10228
10245
  <xsl:call-template name="append_add-style"/>
10229
10246
  </xsl:if>
10230
10247
 
10231
- <xsl:call-template name="getListItemFormat"/>
10248
+ <xsl:call-template name="getListItemFormat"/>
10232
10249
 
10233
10250
  </fo:block>
10234
10251
  </fo:list-item-label>
@@ -2672,7 +2672,7 @@
2672
2672
  </xsl:attribute>
2673
2673
  </xsl:for-each>
2674
2674
 
2675
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
2675
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
2676
2676
  <xsl:if test="$isNoteOrFnExist = 'true'">
2677
2677
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2678
2678
  </xsl:if>
@@ -2716,7 +2716,7 @@
2716
2716
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2717
2717
  </xsl:when>
2718
2718
  <xsl:otherwise>
2719
- <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
2719
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'example') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
2720
2720
  </xsl:otherwise>
2721
2721
  </xsl:choose>
2722
2722
 
@@ -3233,7 +3233,7 @@
3233
3233
  <xsl:param name="colwidths"/>
3234
3234
  <xsl:param name="colgroup"/>
3235
3235
 
3236
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
3236
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
3237
3237
 
3238
3238
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
3239
3239
 
@@ -3306,6 +3306,7 @@
3306
3306
  <xsl:apply-templates select="../*[local-name()='p']"/>
3307
3307
  <xsl:apply-templates select="../*[local-name()='dl']"/>
3308
3308
  <xsl:apply-templates select="../*[local-name()='note']"/>
3309
+ <xsl:apply-templates select="../*[local-name()='example']"/>
3309
3310
  <xsl:apply-templates select="../*[local-name()='source']"/>
3310
3311
 
3311
3312
  <xsl:variable name="isDisplayRowSeparator">
@@ -3314,7 +3315,7 @@
3314
3315
 
3315
3316
  <!-- horizontal row separator -->
3316
3317
  <xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
3317
- <xsl:if test="../*[local-name()='note'] and normalize-space($table_fn_block) != ''">
3318
+ <xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
3318
3319
  <fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
3319
3320
 
3320
3321
  <xsl:call-template name="setBordersTableArray"/>
@@ -3575,13 +3576,13 @@
3575
3576
  </fo:table-cell>
3576
3577
  </xsl:template> <!-- td -->
3577
3578
 
3578
- <xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
3579
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
3579
3580
 
3580
3581
  <fo:block xsl:use-attribute-sets="table-note-style">
3581
3582
 
3582
3583
  <xsl:call-template name="refine_table-note-style"/>
3583
3584
 
3584
- <!-- Table's note name (NOTE, for example) -->
3585
+ <!-- Table's note/example name (NOTE, for example) -->
3585
3586
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
3586
3587
 
3587
3588
  <xsl:call-template name="refine_table-note-name-style"/>
@@ -3595,7 +3596,7 @@
3595
3596
 
3596
3597
  </xsl:template> <!-- table/note -->
3597
3598
 
3598
- <xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
3599
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name()='example']/*[local-name()='p']" priority="2">
3599
3600
  <xsl:apply-templates/>
3600
3601
  </xsl:template>
3601
3602
 
@@ -5163,7 +5164,10 @@
5163
5164
  </xsl:choose>
5164
5165
  </xsl:variable>
5165
5166
 
5166
- <xsl:value-of select="$text9"/>
5167
+ <!-- replace sequence #x200B and space TO space -->
5168
+ <xsl:variable name="text10" select="java:replaceAll(java:java.lang.String.new($text9), '\u200b ', ' ')"/>
5169
+
5170
+ <xsl:value-of select="$text10"/>
5167
5171
  </xsl:template>
5168
5172
 
5169
5173
  <xsl:template name="add-zero-spaces-link-java">
@@ -6252,7 +6256,7 @@
6252
6256
  <xsl:call-template name="insert_basic_link">
6253
6257
  <xsl:with-param name="element">
6254
6258
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
6255
- <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://'))">
6259
+ <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
6256
6260
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6257
6261
  </xsl:if>
6258
6262
  <xsl:if test="parent::*[local-name() = 'add']">
@@ -8558,6 +8562,12 @@
8558
8562
 
8559
8563
  </xsl:template>
8560
8564
 
8565
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
8566
+ <fo:inline xsl:use-attribute-sets="example-name-style">
8567
+ <xsl:apply-templates/>
8568
+ </fo:inline>
8569
+ </xsl:template>
8570
+
8561
8571
  <xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
8562
8572
  <xsl:param name="fo_element">block</xsl:param>
8563
8573
 
@@ -9140,6 +9150,9 @@
9140
9150
  <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
9141
9151
  </xsl:choose>
9142
9152
  </xsl:when>
9153
+ <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
9154
+ <xsl:value-of select="@label"/>
9155
+ </xsl:when>
9143
9156
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
9144
9157
 
9145
9158
  <!-- Example: for BSI <?list-start 2?> -->
@@ -9197,10 +9210,10 @@
9197
9210
  <xsl:when test="$type = 'arabic'">
9198
9211
  1)
9199
9212
  </xsl:when>
9200
- <xsl:when test="$type = 'alphabet'">
9213
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
9201
9214
  a)
9202
9215
  </xsl:when>
9203
- <xsl:when test="$type = 'alphabet_upper'">
9216
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
9204
9217
  A)
9205
9218
  </xsl:when>
9206
9219
  <xsl:when test="$type = 'roman'">
@@ -9340,7 +9353,7 @@
9340
9353
  <xsl:call-template name="append_add-style"/>
9341
9354
  </xsl:if>
9342
9355
 
9343
- <xsl:call-template name="getListItemFormat"/>
9356
+ <xsl:call-template name="getListItemFormat"/>
9344
9357
 
9345
9358
  </fo:block>
9346
9359
  </fo:list-item-label>
@@ -1012,6 +1012,7 @@
1012
1012
  <ref name="del"/>
1013
1013
  <ref name="span"/>
1014
1014
  <ref name="erefstack"/>
1015
+ <ref name="date_inline"/>
1015
1016
  </choice>
1016
1017
  </define>
1017
1018
  <define name="add">
@@ -1053,6 +1054,23 @@
1053
1054
  </oneOrMore>
1054
1055
  </element>
1055
1056
  </define>
1057
+ <define name="date_inline">
1058
+ <element name="date">
1059
+ <attribute name="value"/>
1060
+ <optional>
1061
+ <attribute name="format"/>
1062
+ </optional>
1063
+ <optional>
1064
+ <attribute name="language"/>
1065
+ </optional>
1066
+ <optional>
1067
+ <attribute name="script"/>
1068
+ </optional>
1069
+ <optional>
1070
+ <attribute name="locale"/>
1071
+ </optional>
1072
+ </element>
1073
+ </define>
1056
1074
  <define name="concept">
1057
1075
  <element name="concept">
1058
1076
  <optional>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Ogc
3
- VERSION = "2.3.10".freeze
3
+ VERSION = "2.3.11".freeze
4
4
  end
5
5
  end
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.3.10
4
+ version: 2.3.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-22 00:00:00.000000000 Z
11
+ date: 2023-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iso-639