summaryrefslogtreecommitdiff
path: root/javahelp/javahelp.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'javahelp/javahelp.xsl')
-rw-r--r--javahelp/javahelp.xsl87
1 files changed, 48 insertions, 39 deletions
diff --git a/javahelp/javahelp.xsl b/javahelp/javahelp.xsl
index 0db925c..d883e6b 100644
--- a/javahelp/javahelp.xsl
+++ b/javahelp/javahelp.xsl
@@ -12,7 +12,7 @@
<xsl:output method="html"/>
<!-- ********************************************************************
- $Id: javahelp.xsl 9152 2011-11-12 00:17:33Z bobstayton $
+ $Id: javahelp.xsl 9907 2014-02-24 19:01:48Z bobstayton $
********************************************************************
This file is part of the XSL DocBook Stylesheet distribution.
@@ -23,6 +23,13 @@
<!-- ==================================================================== -->
+<xsl:variable name="no.namespace">
+ <xsl:if test="$exsl.node.set.available != 0 and
+ namespace-uri(/*) = 'http://docbook.org/ns/docbook'">
+ <xsl:apply-templates select="/*" mode="stripNS"/>
+ </xsl:if>
+</xsl:variable>
+
<xsl:template match="/">
<!-- * Get a title for current doc so that we let the user -->
<!-- * know what document we are processing at this point. -->
@@ -30,11 +37,9 @@
<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.-->
- <xsl:when test="$exsl.node.set.available != 0
- and (*/self::ng:* or */self::db:*)">
+ <!-- fix namespace if necessary -->
+ <xsl:when test="$exsl.node.set.available != 0 and
+ namespace-uri(/*) = 'http://docbook.org/ns/docbook'">
<xsl:call-template name="log.message">
<xsl:with-param name="level">Note</xsl:with-param>
<xsl:with-param name="source" select="$doc.title"/>
@@ -45,50 +50,54 @@
<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>
+ <!-- DEBUG: uncomment to save namespace-fixed document.
+ <xsl:message>Saving namespace-fixed document.</xsl:message>
+ <xsl:call-template name="write.chunk">
+ <xsl:with-param name="filename" select="'namespace-fixed.debug.xml'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="content">
+ <xsl:copy-of select="exsl:node-set($no.namespace)"/>
</xsl:with-param>
</xsl:call-template>
- <xsl:apply-templates select="exsl:node-set($nons)"/>
+ -->
+ <xsl:apply-templates select="exsl:node-set($no.namespace)"/>
+ </xsl:when>
+ <!-- Can't process unless namespace fixed with exsl node-set()-->
+ <xsl:when test="namespace-uri(/*) = 'http://docbook.org/ns/docbook'">
+ <xsl:message terminate="yes">
+ <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text>
+ <xsl:text> cannot proceed.</xsl:text>
+ </xsl:message>
</xsl:when>
<xsl:otherwise>
- <xsl:choose>
- <xsl:when test="$rootid != ''">
<xsl:choose>
- <xsl:when test="count(key('id',$rootid)) = 0">
- <xsl:message terminate="yes">
- <xsl:text>ID '</xsl:text>
- <xsl:value-of select="$rootid"/>
- <xsl:text>' not found in document.</xsl:text>
- </xsl:message>
+ <xsl:when test="$rootid != ''">
+ <xsl:choose>
+ <xsl:when test="count(key('id',$rootid)) = 0">
+ <xsl:message terminate="yes">
+ <xsl:text>ID '</xsl:text>
+ <xsl:value-of select="$rootid"/>
+ <xsl:text>' not found in document.</xsl:text>
+ </xsl:message>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message>Formatting from <xsl:value-of select="$rootid"/></xsl:message>
+ <xsl:apply-templates select="key('id',$rootid)" mode="process.root"/>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:when>
<xsl:otherwise>
- <xsl:message>Formatting from <xsl:value-of select="$rootid"/></xsl:message>
- <xsl:apply-templates select="key('id',$rootid)" mode="process.root"/>
+ <xsl:apply-templates select="/" mode="process.root"/>
</xsl:otherwise>
</xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:apply-templates select="/" mode="process.root"/>
+ <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: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:param name="suppress.navigation" select="1"/>