]> granicus.if.org Git - docbook-dsssl/commitdiff
Fixed bug 1652360 empty link with xlink:href.
authorBob Stayton <bobs@sagehill.net>
Sun, 25 Feb 2007 09:26:05 +0000 (09:26 +0000)
committerBob Stayton <bobs@sagehill.net>
Sun, 25 Feb 2007 09:26:05 +0000 (09:26 +0000)
xsl/fo/xref.xsl
xsl/html/xref.xsl

index bb62bd5daa012bb7e0863114d744ad4f4b058383..f5a56b345e975a357210d02d43fbb7265c59a8c2 100644 (file)
           <!-- If it has content, use it -->
           <xsl:apply-templates/>
         </xsl:when>
-        <xsl:otherwise>
-          <!-- else look for an endterm -->
+        <!-- look for an endterm -->
+        <xsl:when test="@endterm">
+          <xsl:variable name="etargets" select="key('id',@endterm)"/>
+          <xsl:variable name="etarget" select="$etargets[1]"/>
           <xsl:choose>
-            <xsl:when test="@endterm">
-              <xsl:variable name="etargets" select="key('id',@endterm)"/>
-              <xsl:variable name="etarget" select="$etargets[1]"/>
-              <xsl:choose>
-                <xsl:when test="count($etarget) = 0">
-                  <xsl:message>
-                    <xsl:value-of select="count($etargets)"/>
-                    <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-                    <xsl:value-of select="@endterm"/>
-                  </xsl:message>
-                  <xsl:text>???</xsl:text>
-                </xsl:when>
-                <xsl:otherwise>
-                    <xsl:apply-templates select="$etarget" mode="endterm"/>
-                </xsl:otherwise>
-              </xsl:choose>
-            </xsl:when>
-  
-            <xsl:otherwise>
+            <xsl:when test="count($etarget) = 0">
               <xsl:message>
-                <xsl:text>Link element has no content and no Endterm. </xsl:text>
-                <xsl:text>Nothing to show in the link to </xsl:text>
-                <xsl:value-of select="$target"/>
+                <xsl:value-of select="count($etargets)"/>
+                <xsl:text>Endterm points to nonexistent ID: </xsl:text>
+                <xsl:value-of select="@endterm"/>
               </xsl:message>
               <xsl:text>???</xsl:text>
+            </xsl:when>
+            <xsl:otherwise>
+                <xsl:apply-templates select="$etarget" mode="endterm"/>
             </xsl:otherwise>
           </xsl:choose>
+        </xsl:when>
+        <!-- Use the xlink:href if no other text -->
+        <xsl:when test="@xlink:href">
+          <xsl:value-of select="@xlink:href"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:message>
+            <xsl:text>Link element has no content and no Endterm. </xsl:text>
+            <xsl:text>Nothing to show in the link to </xsl:text>
+            <xsl:value-of select="$target"/>
+          </xsl:message>
+          <xsl:text>???</xsl:text>
         </xsl:otherwise>
       </xsl:choose>
     </fo:inline>
index 1aa2d6eba91476bddc09104d4553faa6063ce68b..54de0f0814abfa64f94cc16b7154bbcd945067ff 100644 (file)
         <!-- If it has content, use it -->
         <xsl:apply-templates/>
       </xsl:when>
-      <xsl:otherwise>
-        <!-- else look for an endterm -->
+      <!-- else look for an endterm -->
+      <xsl:when test="@endterm">
+        <xsl:variable name="etargets" select="key('id',@endterm)"/>
+        <xsl:variable name="etarget" select="$etargets[1]"/>
         <xsl:choose>
-          <xsl:when test="@endterm">
-            <xsl:variable name="etargets" select="key('id',@endterm)"/>
-            <xsl:variable name="etarget" select="$etargets[1]"/>
-            <xsl:choose>
-              <xsl:when test="count($etarget) = 0">
-                <xsl:message>
-                  <xsl:value-of select="count($etargets)"/>
-                  <xsl:text>Endterm points to nonexistent ID: </xsl:text>
-                  <xsl:value-of select="@endterm"/>
-                </xsl:message>
-                <xsl:text>???</xsl:text>
-              </xsl:when>
-              <xsl:otherwise>
-                  <xsl:apply-templates select="$etarget" mode="endterm"/>
-              </xsl:otherwise>
-            </xsl:choose>
-          </xsl:when>
-
-          <xsl:otherwise>
+          <xsl:when test="count($etarget) = 0">
             <xsl:message>
-              <xsl:text>Link element has no content and no Endterm. </xsl:text>
-              <xsl:text>Nothing to show in the link to </xsl:text>
-              <xsl:value-of select="(@xlink:href|@linkend)[1]"/>
+              <xsl:value-of select="count($etargets)"/>
+              <xsl:text>Endterm points to nonexistent ID: </xsl:text>
+              <xsl:value-of select="@endterm"/>
             </xsl:message>
             <xsl:text>???</xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+              <xsl:apply-templates select="$etarget" mode="endterm"/>
           </xsl:otherwise>
         </xsl:choose>
+      </xsl:when>
+      <!-- Use the xlink:href if no other text -->
+      <xsl:when test="@xlink:href">
+        <xsl:value-of select="@xlink:href"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:message>
+          <xsl:text>Link element has no content and no Endterm. </xsl:text>
+          <xsl:text>Nothing to show in the link to </xsl:text>
+          <xsl:value-of select="(@xlink:href|@linkend)[1]"/>
+        </xsl:message>
+        <xsl:text>???</xsl:text>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>