exclude-result-prefixes="d exsl saxon NodeInfo"
version='1.0'>
+<xsl:import href="../common/common.xsl"/>
+
<!-- Template to add the namespace to non-db5 documents -->
<xsl:template match="*" mode="addNS">
<xsl:element name="{local-name()}"
</xsl:template>
<xsl:template name="add-xml-base">
+ <!-- * 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:if test="not(@xml:base)">
<xsl:variable name="base">
<xsl:choose>
<xsl:value-of select="NodeInfo:systemId()"/>
</xsl:when>
<xsl:otherwise>
- <xsl:message>
- <xsl:text>WARNING: cannot add @xml:base to node </xsl:text>
- <xsl:text>set root element. </xsl:text>
- <xsl:text>Relative paths may not work.</xsl:text>
- </xsl:message>
+ <xsl:call-template name="log.message">
+ <xsl:with-param name="level">Warn</xsl:with-param>
+ <xsl:with-param name="source" select="$doc.title"/>
+ <xsl:with-param name="context-desc">
+ <xsl:text>no @xml:base</xsl:text>
+ </xsl:with-param>
+ <xsl:with-param name="message">
+ <xsl:text>cannot add @xml:base to node-set root element</xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
+ <xsl:call-template name="log.message">
+ <xsl:with-param name="level">Warn</xsl:with-param>
+ <xsl:with-param name="source" select="$doc.title"/>
+ <xsl:with-param name="context-desc">
+ <xsl:text>no @xml:base</xsl:text>
+ </xsl:with-param>
+ <xsl:with-param name="message">
+ <xsl:text>relative paths may not work</xsl:text>
+ </xsl:with-param>
+ </xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
# Convert stripNS to addNS
s|href="../common/stripns.xsl"|href="../common/db5.xsl"|sg;
- s|(\s*\n*)(\s*)(<xslo?:when)\s+test\s*=\s*"[^"]*?self::db:[^"]*?">.*?(</xslo?:when>)|$1$2$3 test="namespace-uri\(\*\[1\]\) != 'http://docbook.org/ns/docbook'">\n$2 <xsl:message>Adding DocBook namespace to version 4 DocBook document</xsl:message>\n$2 <xsl:variable name="addns">\n$2 <xsl:apply-templates mode="addNS"/>\n$2 </xsl:variable>\n$2 <xsl:apply-templates select="exsl:node-set\(\$addns\)"/>\n$2$4|sg;
+ s|(\s*\n*)(\s*)(<xslo?:when)\s+test\s*=\s*"[^"]*?self::db:[^"]*?">.*?(</xslo?:when>)|$1$2$3 test="namespace-uri\(\*\[1\]\) != 'http://docbook.org/ns/docbook'">\n$2 <xsl:variable name="doc.title">\n$2 <xsl:call-template name="get.doc.title"/>\n$2 </xsl:variable>\n$2 <xsl:call-template name="log.message">\n$2 <xsl:with-param name="level">Note</xsl:with-param>\n$2 <xsl:with-param name="source" select="\$doc.title"/>\n$2 <xsl:with-param name="context-desc">\n$2 <xsl:text>namesp. add</xsl:text>\n$2 </xsl:with-param>\n$2 <xsl:with-param name="message">\n$2 <xsl:text>added namespace before processing</xsl:text>\n$2 </xsl:with-param>\n$2 </xsl:call-template>\n$2 <xsl:variable name="addns">\n$2 <xsl:apply-templates mode="addNS"/>\n$2 </xsl:variable>\n$2 <xsl:apply-templates select="exsl:node-set\(\$addns\)"/>\n$2$4|sg;
# Add namespace d to exclude-result-prefixes