]> granicus.if.org Git - docbook-dsssl/commitdiff
Don't add docname to olink when pointing to root element.
authorBob Stayton <bobs@sagehill.net>
Tue, 28 Jun 2005 04:04:04 +0000 (04:04 +0000)
committerBob Stayton <bobs@sagehill.net>
Tue, 28 Jun 2005 04:04:04 +0000 (04:04 +0000)
xsl/common/olink.xsl

index c4f6428cc5c3e5355db15021a39a30b9d0ed2efd..69ee51accaef3a1dd8cab93971190e1db772448f 100644 (file)
     <xsl:value-of select="substring-before($olink.key, '/')"/>
   </xsl:variable>
 
+  <xsl:variable name="targetptr">
+    <xsl:value-of 
+          select="substring-before(substring-after($olink.key, '/'), '/')"/>
+  </xsl:variable>
+
+  <!-- Don't add docname if pointing to root element -->
+  <xsl:variable name="rootptr">
+    <xsl:for-each select="$target.database" >
+      <xsl:value-of 
+             select="key('targetdoc-key', $targetdoc)/div[1]/@targetptr" />
+    </xsl:for-each>
+  </xsl:variable>
+
   <xsl:variable name="docname">
     <xsl:for-each select="$target.database" >
       <xsl:value-of 
               and (contains($xrefstyle, 'docname')))
               and ($olink.doctitle = 'yes' or $olink.doctitle = '1')
               and $current.docid != '' 
+              and $rootptr != $targetptr
               and $current.docid != $targetdoc
               and $docname != ''">
     <xsl:call-template name="substitute-markup">