[yelp-xsl] xsldoc-scan.xsl: Fixed pruning of private templates



commit ed5214312502a2bc55de77e445bf4f0abb81e75b
Author: Shaun McCance <shaunm gnome org>
Date:   Fri Mar 2 19:11:09 2012 -0500

    xsldoc-scan.xsl: Fixed pruning of private templates

 doc/yelp-xsl/xsldoc-scan.xsl |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)
---
diff --git a/doc/yelp-xsl/xsldoc-scan.xsl b/doc/yelp-xsl/xsldoc-scan.xsl
index 03dcde0..1acb981 100644
--- a/doc/yelp-xsl/xsldoc-scan.xsl
+++ b/doc/yelp-xsl/xsldoc-scan.xsl
@@ -78,19 +78,24 @@ free software.
   <xsl:param name="page"/>
   <xsl:param name="xslt_node"/>
   <xsl:for-each select="$xslt_node">
-    <xsl:variable name="calls_templates" select="set:distinct(.//xsl:call-template[
-                                                 not(@name = $xslt_node//xsl:template/@name) and
-                                                 not($page/processing-instruction('xslt-private')[string(.) = @name])
-                                                 ]/@name)"/>
-    <xsl:if test="count($calls_templates) > 0">
+    <xsl:variable name="calls_templates">
+      <xsl:for-each select="set:distinct(.//xsl:call-template[
+                            not(@name = $xslt_node//xsl:template/@name) and
+                            not($page/processing-instruction('xslt-private')[string(.) = @name])
+                            ])">
+        <xsl:variable name="name" select="string(@name)"/>
+        <xsl:if test="not($page/processing-instruction('xslt-private')[string(.) = $name])">
+          <link xref="{$name}"/>
+        </xsl:if>
+      </xsl:for-each>
+    </xsl:variable>
+    <xsl:variable name="calls_templates_nodes" select="exsl:node-set($calls_templates)/*"/>
+    <xsl:if test="count($calls_templates_nodes) > 0">
       <list style="compact">
         <title>Calls Templates</title>
-        <xsl:for-each select="$calls_templates">
+        <xsl:for-each select="$calls_templates_nodes">
           <xsl:sort select="."/>
-          <xsl:variable name="name" select="string(.)"/>
-          <xsl:if test="not($page/processing-instruction('xslt-private')[string(.) = $name])">
-            <item><p><link xref="{$name}"/></p></item>
-          </xsl:if>
+          <item><p><xsl:copy-of select="."/></p></item>
         </xsl:for-each>
       </list>
     </xsl:if>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]