]> granicus.if.org Git - docbook-dsssl/commitdiff
xsl:sort lang attribute now uses two-char substring of lang attribute.
authorBob Stayton <bobs@sagehill.net>
Tue, 5 Sep 2006 09:10:07 +0000 (09:10 +0000)
committerBob Stayton <bobs@sagehill.net>
Tue, 5 Sep 2006 09:10:07 +0000 (09:10 +0000)
xsl/fo/autoidx-kimber.xsl
xsl/html/autoidx-kimber.xsl

index b6eaa31838af5695871e439e53db9586ea41224d..65fe6ce51d0263160df656dcdf3974d252d991bd 100644 (file)
@@ -38,9 +38,8 @@
 
 <xsl:include href="../common/autoidx-kimber.xsl"/>
 
-<xsl:key name="k-group"
-         match="indexterm"
-         use="k:getIndexGroupKey(&lang;, &primary;)"/>
+<!-- Java sort apparently works only on lang part, not country -->
+<xsl:param name="sort.lang" select="substring(&lang;, 1, 2)"/>
 
 <xsl:template name="generate-kimber-index">
   <xsl:param name="scope" select="NOTANODE"/>
           <xsl:with-param name="scope" select="$scope"/>
           <xsl:with-param name="role" select="$role"/>
           <xsl:with-param name="type" select="$type"/>
-          <xsl:sort lang="{&lang;}"
+          <xsl:sort lang="{$sort.lang}"
               select="k:getIndexGroupSortKey(&lang;,
                       k:getIndexGroupKey(&lang;, &primary;))"/>
         </xsl:apply-templates>
       <xsl:with-param name="scope" select="$scope"/>
       <xsl:with-param name="role" select="$role"/>
       <xsl:with-param name="type" select="$type"/>
-      <xsl:sort lang="{&lang;}"
+      <xsl:sort lang="{$sort.lang}"
              select="k:getIndexGroupSortKey(&lang;,
                      k:getIndexGroupKey(&lang;, &primary;))"/>
     </xsl:apply-templates>
                             [count(.|key('primary', &primary;)[&scope;]
                             [1])=1]"
                              mode="index-primary">
-          <xsl:sort select="&primary;" lang="{&lang;}"/>
+          <xsl:sort select="&primary;" lang="{$sort.lang}"/>
           <xsl:with-param name="scope" select="$scope"/>
           <xsl:with-param name="role" select="$role"/>
           <xsl:with-param name="type" select="$type"/>
index 5864d19ba99763f761219098258f2aa19628a39f..7cf9ae04d0322787cb60c71f7b596f7f6c4df99e 100644 (file)
@@ -37,6 +37,9 @@
 
 <xsl:include href="../common/autoidx-kimber.xsl"/>
 
+<!-- Java sort apparently works only on lang part, not country -->
+<xsl:param name="sort.lang" select="substring(&lang;, 1, 2)"/>
+
 <xsl:template name="generate-kimber-index">
   <xsl:param name="scope" select="NOTANODE"/>
 
             <xsl:with-param name="scope" select="$scope"/>
             <xsl:with-param name="role" select="$role"/>
             <xsl:with-param name="type" select="$type"/>
-            <xsl:sort lang="{&lang;}"
+            <xsl:sort lang="{$sort.lang}"
                 select="k:getIndexGroupSortKey(&lang;,
                         k:getIndexGroupKey(&lang;, &primary;))"/>
           </xsl:apply-templates>
       <xsl:with-param name="scope" select="$scope"/>
       <xsl:with-param name="role" select="$role"/>
       <xsl:with-param name="type" select="$type"/>
-      <xsl:sort lang="{&lang;}"
+      <xsl:sort lang="{$sort.lang}"
              select="k:getIndexGroupSortKey(&lang;,
                      k:getIndexGroupKey(&lang;, &primary;))"/>
     </xsl:apply-templates>
                             [count(.|key('primary', &primary;)[&scope;]
                             [1])=1]"
                              mode="index-primary">
-          <xsl:sort select="&primary;" lang="{&lang;}"/>
+          <xsl:sort select="&primary;" lang="{$sort.lang}"/>
           <xsl:with-param name="scope" select="$scope"/>
           <xsl:with-param name="role" select="$role"/>
           <xsl:with-param name="type" select="$type"/>