svn commit: samba-docs r1272 - in trunk/xslt: .

ab at samba.org ab at samba.org
Tue Apr 15 07:37:36 GMT 2008


Author: ab
Date: 2008-04-15 07:37:36 +0000 (Tue, 15 Apr 2008)
New Revision: 1272

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba-docs&rev=1272

Log:
Use title from a linked item to show up as text of the link if there is no endterm or content in the link itself
Modified:
   trunk/xslt/html-common.xsl


Changeset:
Modified: trunk/xslt/html-common.xsl
===================================================================
--- trunk/xslt/html-common.xsl	2008-04-15 07:35:29 UTC (rev 1271)
+++ trunk/xslt/html-common.xsl	2008-04-15 07:37:36 UTC (rev 1272)
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This file is generated from param.xweb; do not edit this file! -->
 
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+                xmlns:xlink='http://www.w3.org/1999/xlink'
+                exclude-result-prefixes="xlink"
+		version="1.0">
 
 <xsl:param name="base.dir" select="'../htmldocs/'"/>
 <xsl:param name="bridgehead.in.toc" select="1"/>
@@ -22,4 +25,63 @@
 <xsl:template match="author">
 </xsl:template>
 
+<xsl:template match="link" name="link">
+  <xsl:param name="linkend" select="@linkend"/>
+  <xsl:param name="a.target"/>
+  <xsl:param name="xhref" select="@xlink:href"/>
+
+  <xsl:variable name="content">
+    <xsl:call-template name="anchor"/>
+    <xsl:choose>
+      <xsl:when test="count(child::node()) &gt; 0">
+        <!-- If it has content, use it -->
+        <xsl:apply-templates/>
+      </xsl:when>
+      <!-- else look for an endterm -->
+      <xsl:when test="@endterm">
+        <xsl:variable name="etargets" select="key('id', at 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:choose>
+            <xsl:when test="key('id', @linkend)/title[1]">
+	      <xsl:call-template name="gentext.startquote"/>
+	      <xsl:value-of select="key('id', @linkend)/title[1]"/>
+	      <xsl:call-template name="gentext.endquote"/>
+            </xsl:when>
+         <xsl:otherwise>
+    	    <xsl:message>
+        	<xsl:text>Link element has no content and no Endterm. And linkend's pointer has no title. </xsl:text>
+        	<xsl:text>Nothing to show in the link to </xsl:text>
+        	<xsl:value-of select="(@linkend)[1]"/>
+    	    </xsl:message>
+    	 </xsl:otherwise>
+        </xsl:choose>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <xsl:call-template name="simple.xlink">
+    <xsl:with-param name="node" select="."/>
+    <xsl:with-param name="linkend" select="$linkend"/>
+    <xsl:with-param name="content" select="$content"/>
+    <xsl:with-param name="a.target" select="$a.target"/>
+    <xsl:with-param name="xhref" select="$xhref"/>
+  </xsl:call-template>
+
+</xsl:template>
+
 </xsl:stylesheet>



More information about the samba-cvs mailing list