metanorma-ogc 1.5.4.1 → 1.5.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -923,7 +923,7 @@
923
923
  </fo:block>
924
924
  </xsl:template>
925
925
 
926
- <xsl:template match="ogc:title">
926
+ <xsl:template match="ogc:title" name="title">
927
927
 
928
928
  <xsl:variable name="level">
929
929
  <xsl:call-template name="getLevel"/>
@@ -1173,13 +1173,10 @@
1173
1173
  <fo:list-item id="{@id}">
1174
1174
  <fo:list-item-label end-indent="label-end()">
1175
1175
  <fo:block>
1176
- <xsl:if test="local-name(..) = 'ul'">
1177
- <xsl:attribute name="color">
1178
- <xsl:value-of select="$color_design"/>
1179
- </xsl:attribute>
1180
- </xsl:if>
1181
1176
  <xsl:choose>
1182
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
1177
+ <xsl:when test="local-name(..) = 'ul'">
1178
+ <xsl:call-template name="setULLabel"/>
1179
+ </xsl:when>
1183
1180
  <xsl:otherwise> <!-- for ordered lists -->
1184
1181
  <xsl:choose>
1185
1182
  <xsl:when test="../@class = 'steps'">
@@ -4007,6 +4004,7 @@
4007
4004
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4008
4005
  <xsl:apply-templates/>
4009
4006
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4007
+ <xsl:apply-templates select="@language"/>
4010
4008
  <xsl:apply-templates/>
4011
4009
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4012
4010
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -6303,6 +6301,51 @@
6303
6301
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6304
6302
  <!-- 0xA0 to space replacement -->
6305
6303
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6304
+ </xsl:template><xsl:variable name="ul_labels_">
6305
+
6306
+
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+ <label color="{$color_design}">•</label>
6319
+
6320
+
6321
+
6322
+
6323
+
6324
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6325
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6326
+ <xsl:variable name="list_level">
6327
+ <xsl:choose>
6328
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6329
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6330
+ </xsl:choose>
6331
+ </xsl:variable>
6332
+ <xsl:choose>
6333
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6334
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6335
+ </xsl:when>
6336
+ <xsl:when test="$list_level mod 3 = 0">
6337
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6338
+ </xsl:when>
6339
+ <xsl:when test="$list_level mod 2 = 0">
6340
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6341
+ </xsl:when>
6342
+ <xsl:otherwise>
6343
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6344
+ </xsl:otherwise>
6345
+ </xsl:choose>
6346
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6347
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6348
+ <xsl:value-of select="."/>
6306
6349
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6307
6350
  <xsl:choose>
6308
6351
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6898,6 +6941,10 @@
6898
6941
  </svg>
6899
6942
  </fo:instream-foreign-object>
6900
6943
  </fo:inline>
6944
+ </xsl:template><xsl:template match="@language">
6945
+ <xsl:copy-of select="."/>
6946
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6947
+ <xsl:call-template name="title"/>
6901
6948
  </xsl:template><xsl:template name="convertDate">
6902
6949
  <xsl:param name="date"/>
6903
6950
  <xsl:param name="format" select="'short'"/>
@@ -923,7 +923,7 @@
923
923
  </fo:block>
924
924
  </xsl:template>
925
925
 
926
- <xsl:template match="ogc:title">
926
+ <xsl:template match="ogc:title" name="title">
927
927
 
928
928
  <xsl:variable name="level">
929
929
  <xsl:call-template name="getLevel"/>
@@ -1173,13 +1173,10 @@
1173
1173
  <fo:list-item id="{@id}">
1174
1174
  <fo:list-item-label end-indent="label-end()">
1175
1175
  <fo:block>
1176
- <xsl:if test="local-name(..) = 'ul'">
1177
- <xsl:attribute name="color">
1178
- <xsl:value-of select="$color_design"/>
1179
- </xsl:attribute>
1180
- </xsl:if>
1181
1176
  <xsl:choose>
1182
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
1177
+ <xsl:when test="local-name(..) = 'ul'">
1178
+ <xsl:call-template name="setULLabel"/>
1179
+ </xsl:when>
1183
1180
  <xsl:otherwise> <!-- for ordered lists -->
1184
1181
  <xsl:choose>
1185
1182
  <xsl:when test="../@class = 'steps'">
@@ -4007,6 +4004,7 @@
4007
4004
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4008
4005
  <xsl:apply-templates/>
4009
4006
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4007
+ <xsl:apply-templates select="@language"/>
4010
4008
  <xsl:apply-templates/>
4011
4009
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4012
4010
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -6303,6 +6301,51 @@
6303
6301
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6304
6302
  <!-- 0xA0 to space replacement -->
6305
6303
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6304
+ </xsl:template><xsl:variable name="ul_labels_">
6305
+
6306
+
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+ <label color="{$color_design}">•</label>
6319
+
6320
+
6321
+
6322
+
6323
+
6324
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6325
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6326
+ <xsl:variable name="list_level">
6327
+ <xsl:choose>
6328
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6329
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6330
+ </xsl:choose>
6331
+ </xsl:variable>
6332
+ <xsl:choose>
6333
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6334
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6335
+ </xsl:when>
6336
+ <xsl:when test="$list_level mod 3 = 0">
6337
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6338
+ </xsl:when>
6339
+ <xsl:when test="$list_level mod 2 = 0">
6340
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6341
+ </xsl:when>
6342
+ <xsl:otherwise>
6343
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6344
+ </xsl:otherwise>
6345
+ </xsl:choose>
6346
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6347
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6348
+ <xsl:value-of select="."/>
6306
6349
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6307
6350
  <xsl:choose>
6308
6351
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6898,6 +6941,10 @@
6898
6941
  </svg>
6899
6942
  </fo:instream-foreign-object>
6900
6943
  </fo:inline>
6944
+ </xsl:template><xsl:template match="@language">
6945
+ <xsl:copy-of select="."/>
6946
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6947
+ <xsl:call-template name="title"/>
6901
6948
  </xsl:template><xsl:template name="convertDate">
6902
6949
  <xsl:param name="date"/>
6903
6950
  <xsl:param name="format" select="'short'"/>
@@ -923,7 +923,7 @@
923
923
  </fo:block>
924
924
  </xsl:template>
925
925
 
926
- <xsl:template match="ogc:title">
926
+ <xsl:template match="ogc:title" name="title">
927
927
 
928
928
  <xsl:variable name="level">
929
929
  <xsl:call-template name="getLevel"/>
@@ -1173,13 +1173,10 @@
1173
1173
  <fo:list-item id="{@id}">
1174
1174
  <fo:list-item-label end-indent="label-end()">
1175
1175
  <fo:block>
1176
- <xsl:if test="local-name(..) = 'ul'">
1177
- <xsl:attribute name="color">
1178
- <xsl:value-of select="$color_design"/>
1179
- </xsl:attribute>
1180
- </xsl:if>
1181
1176
  <xsl:choose>
1182
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
1177
+ <xsl:when test="local-name(..) = 'ul'">
1178
+ <xsl:call-template name="setULLabel"/>
1179
+ </xsl:when>
1183
1180
  <xsl:otherwise> <!-- for ordered lists -->
1184
1181
  <xsl:choose>
1185
1182
  <xsl:when test="../@class = 'steps'">
@@ -4007,6 +4004,7 @@
4007
4004
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4008
4005
  <xsl:apply-templates/>
4009
4006
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4007
+ <xsl:apply-templates select="@language"/>
4010
4008
  <xsl:apply-templates/>
4011
4009
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4012
4010
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -6303,6 +6301,51 @@
6303
6301
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6304
6302
  <!-- 0xA0 to space replacement -->
6305
6303
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6304
+ </xsl:template><xsl:variable name="ul_labels_">
6305
+
6306
+
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+ <label color="{$color_design}">•</label>
6319
+
6320
+
6321
+
6322
+
6323
+
6324
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6325
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6326
+ <xsl:variable name="list_level">
6327
+ <xsl:choose>
6328
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6329
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6330
+ </xsl:choose>
6331
+ </xsl:variable>
6332
+ <xsl:choose>
6333
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6334
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6335
+ </xsl:when>
6336
+ <xsl:when test="$list_level mod 3 = 0">
6337
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6338
+ </xsl:when>
6339
+ <xsl:when test="$list_level mod 2 = 0">
6340
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6341
+ </xsl:when>
6342
+ <xsl:otherwise>
6343
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6344
+ </xsl:otherwise>
6345
+ </xsl:choose>
6346
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6347
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6348
+ <xsl:value-of select="."/>
6306
6349
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6307
6350
  <xsl:choose>
6308
6351
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6898,6 +6941,10 @@
6898
6941
  </svg>
6899
6942
  </fo:instream-foreign-object>
6900
6943
  </fo:inline>
6944
+ </xsl:template><xsl:template match="@language">
6945
+ <xsl:copy-of select="."/>
6946
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6947
+ <xsl:call-template name="title"/>
6901
6948
  </xsl:template><xsl:template name="convertDate">
6902
6949
  <xsl:param name="date"/>
6903
6950
  <xsl:param name="format" select="'short'"/>
@@ -923,7 +923,7 @@
923
923
  </fo:block>
924
924
  </xsl:template>
925
925
 
926
- <xsl:template match="ogc:title">
926
+ <xsl:template match="ogc:title" name="title">
927
927
 
928
928
  <xsl:variable name="level">
929
929
  <xsl:call-template name="getLevel"/>
@@ -1173,13 +1173,10 @@
1173
1173
  <fo:list-item id="{@id}">
1174
1174
  <fo:list-item-label end-indent="label-end()">
1175
1175
  <fo:block>
1176
- <xsl:if test="local-name(..) = 'ul'">
1177
- <xsl:attribute name="color">
1178
- <xsl:value-of select="$color_design"/>
1179
- </xsl:attribute>
1180
- </xsl:if>
1181
1176
  <xsl:choose>
1182
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
1177
+ <xsl:when test="local-name(..) = 'ul'">
1178
+ <xsl:call-template name="setULLabel"/>
1179
+ </xsl:when>
1183
1180
  <xsl:otherwise> <!-- for ordered lists -->
1184
1181
  <xsl:choose>
1185
1182
  <xsl:when test="../@class = 'steps'">
@@ -4007,6 +4004,7 @@
4007
4004
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4008
4005
  <xsl:apply-templates/>
4009
4006
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4007
+ <xsl:apply-templates select="@language"/>
4010
4008
  <xsl:apply-templates/>
4011
4009
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4012
4010
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -6303,6 +6301,51 @@
6303
6301
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6304
6302
  <!-- 0xA0 to space replacement -->
6305
6303
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6304
+ </xsl:template><xsl:variable name="ul_labels_">
6305
+
6306
+
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+ <label color="{$color_design}">•</label>
6319
+
6320
+
6321
+
6322
+
6323
+
6324
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6325
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6326
+ <xsl:variable name="list_level">
6327
+ <xsl:choose>
6328
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6329
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6330
+ </xsl:choose>
6331
+ </xsl:variable>
6332
+ <xsl:choose>
6333
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6334
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6335
+ </xsl:when>
6336
+ <xsl:when test="$list_level mod 3 = 0">
6337
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6338
+ </xsl:when>
6339
+ <xsl:when test="$list_level mod 2 = 0">
6340
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6341
+ </xsl:when>
6342
+ <xsl:otherwise>
6343
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6344
+ </xsl:otherwise>
6345
+ </xsl:choose>
6346
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6347
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6348
+ <xsl:value-of select="."/>
6306
6349
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6307
6350
  <xsl:choose>
6308
6351
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6898,6 +6941,10 @@
6898
6941
  </svg>
6899
6942
  </fo:instream-foreign-object>
6900
6943
  </fo:inline>
6944
+ </xsl:template><xsl:template match="@language">
6945
+ <xsl:copy-of select="."/>
6946
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6947
+ <xsl:call-template name="title"/>
6901
6948
  </xsl:template><xsl:template name="convertDate">
6902
6949
  <xsl:param name="date"/>
6903
6950
  <xsl:param name="format" select="'short'"/>
@@ -923,7 +923,7 @@
923
923
  </fo:block>
924
924
  </xsl:template>
925
925
 
926
- <xsl:template match="ogc:title">
926
+ <xsl:template match="ogc:title" name="title">
927
927
 
928
928
  <xsl:variable name="level">
929
929
  <xsl:call-template name="getLevel"/>
@@ -1173,13 +1173,10 @@
1173
1173
  <fo:list-item id="{@id}">
1174
1174
  <fo:list-item-label end-indent="label-end()">
1175
1175
  <fo:block>
1176
- <xsl:if test="local-name(..) = 'ul'">
1177
- <xsl:attribute name="color">
1178
- <xsl:value-of select="$color_design"/>
1179
- </xsl:attribute>
1180
- </xsl:if>
1181
1176
  <xsl:choose>
1182
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
1177
+ <xsl:when test="local-name(..) = 'ul'">
1178
+ <xsl:call-template name="setULLabel"/>
1179
+ </xsl:when>
1183
1180
  <xsl:otherwise> <!-- for ordered lists -->
1184
1181
  <xsl:choose>
1185
1182
  <xsl:when test="../@class = 'steps'">
@@ -4007,6 +4004,7 @@
4007
4004
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4008
4005
  <xsl:apply-templates/>
4009
4006
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4007
+ <xsl:apply-templates select="@language"/>
4010
4008
  <xsl:apply-templates/>
4011
4009
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4012
4010
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -6303,6 +6301,51 @@
6303
6301
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6304
6302
  <!-- 0xA0 to space replacement -->
6305
6303
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6304
+ </xsl:template><xsl:variable name="ul_labels_">
6305
+
6306
+
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+ <label color="{$color_design}">•</label>
6319
+
6320
+
6321
+
6322
+
6323
+
6324
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6325
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6326
+ <xsl:variable name="list_level">
6327
+ <xsl:choose>
6328
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6329
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6330
+ </xsl:choose>
6331
+ </xsl:variable>
6332
+ <xsl:choose>
6333
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6334
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6335
+ </xsl:when>
6336
+ <xsl:when test="$list_level mod 3 = 0">
6337
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6338
+ </xsl:when>
6339
+ <xsl:when test="$list_level mod 2 = 0">
6340
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6341
+ </xsl:when>
6342
+ <xsl:otherwise>
6343
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6344
+ </xsl:otherwise>
6345
+ </xsl:choose>
6346
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6347
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6348
+ <xsl:value-of select="."/>
6306
6349
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6307
6350
  <xsl:choose>
6308
6351
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6898,6 +6941,10 @@
6898
6941
  </svg>
6899
6942
  </fo:instream-foreign-object>
6900
6943
  </fo:inline>
6944
+ </xsl:template><xsl:template match="@language">
6945
+ <xsl:copy-of select="."/>
6946
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6947
+ <xsl:call-template name="title"/>
6901
6948
  </xsl:template><xsl:template name="convertDate">
6902
6949
  <xsl:param name="date"/>
6903
6950
  <xsl:param name="format" select="'short'"/>
@@ -923,7 +923,7 @@
923
923
  </fo:block>
924
924
  </xsl:template>
925
925
 
926
- <xsl:template match="ogc:title">
926
+ <xsl:template match="ogc:title" name="title">
927
927
 
928
928
  <xsl:variable name="level">
929
929
  <xsl:call-template name="getLevel"/>
@@ -1173,13 +1173,10 @@
1173
1173
  <fo:list-item id="{@id}">
1174
1174
  <fo:list-item-label end-indent="label-end()">
1175
1175
  <fo:block>
1176
- <xsl:if test="local-name(..) = 'ul'">
1177
- <xsl:attribute name="color">
1178
- <xsl:value-of select="$color_design"/>
1179
- </xsl:attribute>
1180
- </xsl:if>
1181
1176
  <xsl:choose>
1182
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
1177
+ <xsl:when test="local-name(..) = 'ul'">
1178
+ <xsl:call-template name="setULLabel"/>
1179
+ </xsl:when>
1183
1180
  <xsl:otherwise> <!-- for ordered lists -->
1184
1181
  <xsl:choose>
1185
1182
  <xsl:when test="../@class = 'steps'">
@@ -4007,6 +4004,7 @@
4007
4004
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4008
4005
  <xsl:apply-templates/>
4009
4006
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4007
+ <xsl:apply-templates select="@language"/>
4010
4008
  <xsl:apply-templates/>
4011
4009
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4012
4010
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -6303,6 +6301,51 @@
6303
6301
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6304
6302
  <!-- 0xA0 to space replacement -->
6305
6303
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6304
+ </xsl:template><xsl:variable name="ul_labels_">
6305
+
6306
+
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+ <label color="{$color_design}">•</label>
6319
+
6320
+
6321
+
6322
+
6323
+
6324
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6325
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6326
+ <xsl:variable name="list_level">
6327
+ <xsl:choose>
6328
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6329
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6330
+ </xsl:choose>
6331
+ </xsl:variable>
6332
+ <xsl:choose>
6333
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6334
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6335
+ </xsl:when>
6336
+ <xsl:when test="$list_level mod 3 = 0">
6337
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6338
+ </xsl:when>
6339
+ <xsl:when test="$list_level mod 2 = 0">
6340
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6341
+ </xsl:when>
6342
+ <xsl:otherwise>
6343
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6344
+ </xsl:otherwise>
6345
+ </xsl:choose>
6346
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6347
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6348
+ <xsl:value-of select="."/>
6306
6349
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6307
6350
  <xsl:choose>
6308
6351
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6898,6 +6941,10 @@
6898
6941
  </svg>
6899
6942
  </fo:instream-foreign-object>
6900
6943
  </fo:inline>
6944
+ </xsl:template><xsl:template match="@language">
6945
+ <xsl:copy-of select="."/>
6946
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6947
+ <xsl:call-template name="title"/>
6901
6948
  </xsl:template><xsl:template name="convertDate">
6902
6949
  <xsl:param name="date"/>
6903
6950
  <xsl:param name="format" select="'short'"/>