]> granicus.if.org Git - docbook-dsssl/commitdiff
Added single-pass namespace-stripping support to the htmlhelp,
authorMichael Smith <xmldoc@users.sourceforge.net>
Tue, 14 Aug 2007 00:30:12 +0000 (00:30 +0000)
committerMichael Smith <xmldoc@users.sourceforge.net>
Tue, 14 Aug 2007 00:30:12 +0000 (00:30 +0000)
eclipse, and javahelp stylesheets.

xsl/eclipse/eclipse.xsl
xsl/htmlhelp/htmlhelp-common.xsl
xsl/javahelp/javahelp.xsl

index 14dfccc7d31c2e414f9b3a23b1526897fafde71c..10779f5e5dcac202e55f3debd1fadb9ee4bc7c6e 100644 (file)
@@ -1,6 +1,10 @@
 <?xml version="1.0"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-               version="1.0">
+  xmlns:ng="http://docbook.org/docbook-ng"
+  xmlns:db="http://docbook.org/ns/docbook"
+  xmlns:exsl="http://exslt.org/common"
+  version="1.0"
+  exclude-result-prefixes="exsl">
   
 <xsl:import href="../html/chunk.xsl"/>
 
      ******************************************************************** -->
 
 <xsl:template match="/">
+  <!-- * Get a title for current doc so that we let the user -->
+  <!-- * know what document we are processing at this point. -->
+  <xsl:variable name="doc.title">
+    <xsl:call-template name="get.doc.title"/>
+  </xsl:variable>
+  <xsl:choose>
+    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
+         toss the namespace and continue.  Use the docbook5 namespaced
+         stylesheets for DocBook5 if you don't want to use this feature.-->
+    <!-- include extra test for Xalan quirk -->
+    <xsl:when test="(function-available('exsl:node-set') or
+                     contains(system-property('xsl:vendor'),
+                       'Apache Software Foundation'))
+                    and (*/self::ng:* or */self::db:*)">
+      <xsl:call-template name="log.message">
+        <xsl:with-param name="level">Note</xsl:with-param>
+        <xsl:with-param name="source" select="$doc.title"/>
+        <xsl:with-param name="context-desc">
+          <xsl:text>namesp. cut</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="message">
+          <xsl:text>stripped namespace before processing</xsl:text>
+        </xsl:with-param>
+      </xsl:call-template>
+      <xsl:variable name="nons">
+        <xsl:apply-templates mode="stripNS"/>
+      </xsl:variable>
+      <xsl:call-template name="log.message">
+        <xsl:with-param name="level">Note</xsl:with-param>
+        <xsl:with-param name="source" select="$doc.title"/>
+        <xsl:with-param name="context-desc">
+          <xsl:text>namesp. cut</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="message">
+          <xsl:text>processing stripped document</xsl:text>
+        </xsl:with-param>
+      </xsl:call-template>
+      <xsl:apply-templates select="exsl:node-set($nons)"/>
+    </xsl:when>
+    <xsl:otherwise>
   <xsl:choose>
     <xsl:when test="$rootid != ''">
       <xsl:choose>
@@ -54,8 +98,8 @@
       </xsl:if>
     </xsl:otherwise>
   </xsl:choose>
-
-
+</xsl:otherwise>
+</xsl:choose>
 </xsl:template>
 
 <xsl:template name="etoc">
index 1eeba36e5336b16125142d96d89b0f2396065a35..ab87babc2bb229fa743b9ad95e9bc012ad3f522d 100644 (file)
@@ -3,14 +3,14 @@
 <!ENTITY lf '<xsl:text xmlns:xsl="http://www.w3.org/1999/XSL/Transform">&#xA;</xsl:text>'>
 ]>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-                xmlns:exsl="http://exslt.org/common"
-                xmlns:set="http://exslt.org/sets"
-                xmlns:h="urn:x-hex"
-               xmlns:ng="http://docbook.org/docbook-ng"
-               xmlns:db="http://docbook.org/ns/docbook"
-               version="1.0"
-                exclude-result-prefixes="doc exsl set h db ng">
+  xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+  xmlns:exsl="http://exslt.org/common"
+  xmlns:set="http://exslt.org/sets"
+  xmlns:h="urn:x-hex"
+  xmlns:ng="http://docbook.org/docbook-ng"
+  xmlns:db="http://docbook.org/ns/docbook"
+  version="1.0"
+  exclude-result-prefixes="doc exsl set h db ng">
 
 <!-- ********************************************************************
      $Id$
 <!-- ==================================================================== -->
 
 <xsl:template match="/">
+  <!-- * Get a title for current doc so that we let the user -->
+  <!-- * know what document we are processing at this point. -->
+  <xsl:variable name="doc.title">
+    <xsl:call-template name="get.doc.title"/>
+  </xsl:variable>
+  <xsl:choose>
+    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
+         toss the namespace and continue.  Use the docbook5 namespaced
+         stylesheets for DocBook5 if you don't want to use this feature.-->
+    <!-- include extra test for Xalan quirk -->
+    <xsl:when test="(function-available('exsl:node-set') or
+                     contains(system-property('xsl:vendor'),
+                       'Apache Software Foundation'))
+                    and (*/self::ng:* or */self::db:*)">
+      <xsl:call-template name="log.message">
+        <xsl:with-param name="level">Note</xsl:with-param>
+        <xsl:with-param name="source" select="$doc.title"/>
+        <xsl:with-param name="context-desc">
+          <xsl:text>namesp. cut</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="message">
+          <xsl:text>stripped namespace before processing</xsl:text>
+        </xsl:with-param>
+      </xsl:call-template>
+      <xsl:variable name="nons">
+        <xsl:apply-templates mode="stripNS"/>
+      </xsl:variable>
+      <xsl:call-template name="log.message">
+        <xsl:with-param name="level">Note</xsl:with-param>
+        <xsl:with-param name="source" select="$doc.title"/>
+        <xsl:with-param name="context-desc">
+          <xsl:text>namesp. cut</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="message">
+          <xsl:text>processing stripped document</xsl:text>
+        </xsl:with-param>
+      </xsl:call-template>
+      <xsl:apply-templates select="exsl:node-set($nons)"/>
+    </xsl:when>
+    <xsl:otherwise>
   <xsl:if test="$htmlhelp.only != 1">
     <xsl:choose>
       <xsl:when test="$rootid != ''">
   <xsl:if test="$htmlhelp.generate.index">
     <xsl:call-template name="hhk"/>
   </xsl:if>
+</xsl:otherwise>
+</xsl:choose>
 </xsl:template>
 
 <!-- ==================================================================== -->
index 4355e49b4ec5140a10a900a3f84e06193a83a98c..aee8c859e5695c4e4edb048e50a490d206e9f344 100644 (file)
@@ -1,10 +1,11 @@
 <?xml version="1.0"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
-               xmlns:ng="http://docbook.org/docbook-ng"
-               xmlns:db="http://docbook.org/ns/docbook"
-                version="1.0"
-                exclude-result-prefixes="doc ng db">
+  xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+  xmlns:ng="http://docbook.org/docbook-ng"
+  xmlns:db="http://docbook.org/ns/docbook"
+  xmlns:exsl="http://exslt.org/common"
+  version="1.0"
+  exclude-result-prefixes="doc ng db exsl">
 
 <xsl:import href="../html/chunk.xsl"/>
 
 
      ******************************************************************** -->
 
-
 <!-- ==================================================================== -->
 
 <xsl:template match="/">
+  <!-- * Get a title for current doc so that we let the user -->
+  <!-- * know what document we are processing at this point. -->
+  <xsl:variable name="doc.title">
+    <xsl:call-template name="get.doc.title"/>
+  </xsl:variable>
+  <xsl:choose>
+    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,
+         toss the namespace and continue.  Use the docbook5 namespaced
+         stylesheets for DocBook5 if you don't want to use this feature.-->
+    <!-- include extra test for Xalan quirk -->
+    <xsl:when test="(function-available('exsl:node-set') or
+                     contains(system-property('xsl:vendor'),
+                       'Apache Software Foundation'))
+                    and (*/self::ng:* or */self::db:*)">
+      <xsl:call-template name="log.message">
+        <xsl:with-param name="level">Note</xsl:with-param>
+        <xsl:with-param name="source" select="$doc.title"/>
+        <xsl:with-param name="context-desc">
+          <xsl:text>namesp. cut</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="message">
+          <xsl:text>stripped namespace before processing</xsl:text>
+        </xsl:with-param>
+      </xsl:call-template>
+      <xsl:variable name="nons">
+        <xsl:apply-templates mode="stripNS"/>
+      </xsl:variable>
+      <xsl:call-template name="log.message">
+        <xsl:with-param name="level">Note</xsl:with-param>
+        <xsl:with-param name="source" select="$doc.title"/>
+        <xsl:with-param name="context-desc">
+          <xsl:text>namesp. cut</xsl:text>
+        </xsl:with-param>
+        <xsl:with-param name="message">
+          <xsl:text>processing stripped document</xsl:text>
+        </xsl:with-param>
+      </xsl:call-template>
+      <xsl:apply-templates select="exsl:node-set($nons)"/>
+    </xsl:when>
+    <xsl:otherwise>
   <xsl:choose>
     <xsl:when test="$rootid != ''">
       <xsl:choose>
       <xsl:apply-templates select="/" mode="process.root"/>
     </xsl:otherwise>
   </xsl:choose>
-
   <xsl:for-each select="/">    <!-- This is just a hook for building profiling stylesheets -->
     <xsl:call-template name="helpset"/>
     <xsl:call-template name="helptoc"/>
     <xsl:call-template name="helpmap"/>
     <xsl:call-template name="helpidx"/>
   </xsl:for-each>
+</xsl:otherwise>
+</xsl:choose>
 </xsl:template>
 
-
 <xsl:template name="header.navigation">
 </xsl:template>
 
   </tocitem>
 </xsl:template>
 
-
 <!-- ==================================================================== -->
 
 <xsl:template name="helpmap">