<xsl:template name="etoc">
<xsl:call-template name="write.chunk">
- <xsl:with-param name="filename" select="'toc.xml'"/>
+ <xsl:with-param name="filename">
+ <xsl:if test="$manifest.in.base.dir != 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ <xsl:value-of select="'toc.xml'"/>
+ </xsl:with-param>
<xsl:with-param name="method" select="'xml'"/>
<xsl:with-param name="encoding" select="'utf-8'"/>
<xsl:with-param name="indent" select="'yes'"/>
<xsl:template name="plugin.xml">
<xsl:call-template name="write.chunk">
- <xsl:with-param name="filename" select="'plugin.xml'"/>
+ <xsl:with-param name="filename">
+ <xsl:if test="$manifest.in.base.dir != 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ <xsl:value-of select="'plugin.xml'"/>
+ </xsl:with-param>
<xsl:with-param name="method" select="'xml'"/>
<xsl:with-param name="encoding" select="'utf-8'"/>
<xsl:with-param name="indent" select="'yes'"/>
../params/make.valid.html.xml \
../params/make.year.ranges.xml \
../params/manifest.xml \
+ ../params/manifest.in.base.dir.xml \
../params/manual.toc.xml \
../params/navig.graphics.xml \
../params/navig.graphics.extension.xml \
<xsl:template name="href.target.with.base.dir">
<xsl:param name="object" select="."/>
- <xsl:value-of select="$base.dir"/>
+ <xsl:if test="$manifest.in.base.dir = 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$object"/>
</xsl:call-template>
version="1.0"
exclude-result-prefixes="doc">
+<xsl:variable name="manifest.base.dir">
+</xsl:variable>
+
<xsl:template name="generate.manifest">
<xsl:param name="node" select="/"/>
<xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="$manifest"/>
+ <xsl:with-param name="filename">
+ <xsl:if test="$manifest.in.base.dir != 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ <xsl:value-of select="$manifest"/>
+ </xsl:with-param>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:apply-templates select="$node" mode="enumerate-files"/>
<xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
<xsl:if test="$ischunk='1'">
<xsl:call-template name="make-relative-filename">
- <xsl:with-param name="base.dir" select="$base.dir"/>
+ <xsl:with-param name="base.dir">
+ <xsl:if test="$manifest.in.base.dir = 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ </xsl:with-param>
<xsl:with-param name="base.name">
<xsl:apply-templates mode="chunk-filename" select="."/>
</xsl:with-param>
<xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
<xsl:if test="$generate.legalnotice.link != 0">
<xsl:call-template name="make-relative-filename">
- <xsl:with-param name="base.dir" select="$base.dir"/>
+ <xsl:with-param name="base.dir">
+ <xsl:if test="$manifest.in.base.dir = 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ </xsl:with-param>
<xsl:with-param name="base.name" select="concat('ln-',$id,$html.ext)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<!ENTITY make.valid.html SYSTEM "../params/make.valid.html.xml">
<!ENTITY make.year.ranges SYSTEM "../params/make.year.ranges.xml">
<!ENTITY manifest SYSTEM "../params/manifest.xml">
+<!ENTITY manifest.in.base.dir SYSTEM "../params/manifest.in.base.dir.xml">
<!ENTITY manual.toc SYSTEM "../params/manual.toc.xml">
<!ENTITY navig.graphics SYSTEM "../params/navig.graphics.xml">
<!ENTITY navig.graphics.extension SYSTEM "../params/navig.graphics.extension.xml">
&base.dir;
&generate.manifest;
&manifest;
+&manifest.in.base.dir;
&chunk.toc;
&chunk.tocs.and.lots;
&chunk.section.depth;
<src:fragref linkend="make.valid.html.frag"/>
<src:fragref linkend="make.year.ranges.frag"/>
<src:fragref linkend="manifest.frag"/>
+<src:fragref linkend="manifest.in.base.dir.frag"/>
<src:fragref linkend="manual.toc.frag"/>
<src:fragref linkend="menuchoice.menu.separator.frag"/>
<src:fragref linkend="menuchoice.separator.frag"/>
<xsl:template name="hhp">
<xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="$htmlhelp.hhp"/>
+ <xsl:with-param name="filename">
+ <xsl:if test="$manifest.in.base.dir != 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ <xsl:value-of select="$htmlhelp.hhp"/>
+ </xsl:with-param>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:call-template name="hhp-main"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="make-relative-filename">
- <xsl:with-param name="base.dir" select="$base.dir"/>
+ <xsl:with-param name="base.dir">
+ <xsl:if test="$manifest.in.base.dir = 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ </xsl:with-param>
<xsl:with-param name="base.name">
<xsl:choose>
<xsl:when test="$rootid != ''">
<xsl:template name="hhc">
<xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="$htmlhelp.hhc"/>
+ <xsl:with-param name="filename">
+ <xsl:if test="$manifest.in.base.dir != 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ <xsl:value-of select="$htmlhelp.hhc"/>
+ </xsl:with-param>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:call-template name="hhc-main"/>
<xsl:template name="hhk">
<xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="$htmlhelp.hhk"/>
+ <xsl:with-param name="filename">
+ <xsl:if test="$manifest.in.base.dir != 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ <xsl:value-of select="$htmlhelp.hhk"/>
+ </xsl:with-param>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content"><xsl:text disable-output-escaping="yes"><![CDATA[<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<xsl:template name="hh-map">
<xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="$htmlhelp.map.file"/>
+ <xsl:with-param name="filename">
+ <xsl:if test="$manifest.in.base.dir != 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ <xsl:value-of select="$htmlhelp.map.file"/>
+ </xsl:with-param>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:choose>
<xsl:template name="hh-alias">
<xsl:call-template name="write.text.chunk">
- <xsl:with-param name="filename" select="$htmlhelp.alias.file"/>
+ <xsl:with-param name="filename">
+ <xsl:if test="$manifest.in.base.dir != 0">
+ <xsl:value-of select="$base.dir"/>
+ </xsl:if>
+ <xsl:value-of select="$htmlhelp.alias.file"/>
+ </xsl:with-param>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:choose>
--- /dev/null
+<refentry id="manifest.in.base.dir">
+<refmeta>
+<refentrytitle>manifest.in.base.dir</refentrytitle>
+<refmiscinfo role="type">boolean</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>manifest.in.base.dir</refname>
+<refpurpose>Should be manifest file written in $base.dir?</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<src:fragment id='manifest.in.base.dir.frag'>
+<xsl:param name="manifest.in.base.dir" select="0"/>
+</src:fragment>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+<para>If non-zero manifest file and project files for HTML Help and
+Eclipse Help are written into <parameter>base.dir</parameter> instead
+of current directory.</para>
+
+</refsect1>
+</refentry>