goba Sat Feb 9 17:44:31 2002 EDT
Added files:
/phpdoc/xsl htmlhelp-db.xsl.in
Log:
Adding XSL file customized for our needs.
Index: phpdoc/xsl/htmlhelp-db.xsl.in
+++ phpdoc/xsl/htmlhelp-db.xsl.in
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
version="1.0"
exclude-result-prefixes="doc">
<!-- ********************************************************************
Id: htmlhelp.xsl,v 1.9 2001/12/06 17:52:55 kosek Exp
********************************************************************
This file is used by htmlhelp.xsl if you want to generate source
files for HTML Help. It is based on the XSL DocBook Stylesheet
distribution (especially on JavaHelp code) from Norman Walsh.
******************************************************************** -->
<!-- Customized for phpdoc needs :
- used DOCBOOKXSL_HTML to locate HTML chunk.xsl file
- all map and alias parts deleted, we do not need them
- deleted autoindex from [OPTIONS]
- added Index file to [OPTIONS] => new $htmlhelp.hhk param!
- made indexfile and title variables => two places to use them
- added phpdoc window definition
- removed enumerate-images parts, we do not have any
images to enumerate for compatibility reasons with
other formats
- made <book> the first item in the TOC, but not the absolute
root. this is not fully correct, but makes the CHM more
useable.
- removed blocks for index terms, maps and aliases
- removed href.target.with.base.dir, as we have all the
files in the same dir
-->
<xsl:import href="@DOCBOOKXSL_HTML@"/>
<!-- ==================================================================== -->
<!-- Customizations of standard HTML stylesheet parameters -->
<xsl:param name="suppress.navigation" select="1"/>
<!-- ==================================================================== -->
<xsl:template match="/">
<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>
<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:apply-templates select="/" mode="process.root"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="hhp"/>
<xsl:call-template name="hhc"/>
</xsl:template>
<!-- ==================================================================== -->
<xsl:template name="hhp">
<xsl:call-template name="write.text.chunk">
<xsl:with-param name="filename" select="$htmlhelp.hhp"/>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:call-template name="hhp-main"/>
</xsl:with-param>
<xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
</xsl:call-template>
</xsl:template>
<!-- ==================================================================== -->
<xsl:template name="hhp-main">
<xsl:text>[OPTIONS]
</xsl:text>
<xsl:text>Compatibility=1.1 or later
Compiled file=</xsl:text><xsl:value-of select="$htmlhelp.chm"/><xsl:text>
Contents file=</xsl:text><xsl:value-of select="$htmlhelp.hhc"/><xsl:text>
Index file=</xsl:text><xsl:value-of select="$htmlhelp.hhk"/><xsl:text>
Default topic=</xsl:text>
<xsl:variable name="htmlhelp.indexfile">
<xsl:call-template name="make-relative-filename">
<xsl:with-param name="base.dir" select="''"/>
<xsl:with-param name="base.name">
<xsl:choose>
<xsl:when test="$rootid != ''">
<xsl:apply-templates select="key('id',$rootid)" mode="chunk-filename"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="/" mode="chunk-filename"/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$htmlhelp.indexfile"/>
<xsl:text>
Default Window=phpdoc
Display compile progress=No
Full-text search=Yes
Language=</xsl:text>
<xsl:if test="//@lang">
<xsl:variable name="lang" select="//@lang[1]"/>
<xsl:value-of select="document('langcodes.xml')//gentext[@lang=string($lang)]"/>
</xsl:if>
<xsl:if test="not(//@lang)">
<xsl:text>0x0409 English (United States)</xsl:text>
</xsl:if>
<xsl:text>
Title=</xsl:text>
<xsl:variable name="htmlhelp.title">
<xsl:choose>
<xsl:when test="$rootid != ''">
<xsl:value-of select="normalize-space(key('id',$rootid)//title[1])"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space(//title[1])"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="$htmlhelp.title"/>
<xsl:text>
[WINDOWS]
phpdoc="</xsl:text>
<xsl:value-of select="$htmlhelp.title"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="$htmlhelp.hhc"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="$htmlhelp.hhk"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="$htmlhelp.indexfile"/>
<xsl:text>","</xsl:text>
<xsl:value-of select="$htmlhelp.indexfile"/>
<xsl:text>",,,,,0x23520,,0x386e,,,,,,,,0
[FILES]
</xsl:text>
<xsl:choose>
<xsl:when test="$rootid != ''">
<xsl:apply-templates select="key('id',$rootid)" mode="enumerate-files"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates mode="enumerate-files"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- ==================================================================== -->
<xsl:template match="set|book|part|preface|chapter|appendix
|article
|reference|refentry
|sect1|sect2|sect3|sect4|sect5
|section
|book/glossary|article/glossary
|book/bibliography|article/bibliography
|book/glossary|article/glossary
|colophon"
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.name">
<xsl:apply-templates mode="chunk-filename" select="."/>
</xsl:with-param>
</xsl:call-template>
<xsl:text> </xsl:text>
</xsl:if>
<xsl:apply-templates select="*" mode="enumerate-files"/>
</xsl:template>
<xsl:template match="text()" mode="enumerate-files">
</xsl:template>
<!-- ==================================================================== -->
<!-- Following templates are not nice. It is because MS help compiler is unable
to process correct HTML files. We must generate following weird
stuff instead. -->
<xsl:template name="hhc">
<xsl:call-template name="write.text.chunk">
<xsl:with-param name="filename" select="$htmlhelp.hhc"/>
<xsl:with-param name="method" select="'text'"/>
<xsl:with-param name="content">
<xsl:call-template name="hhc-main"/>
</xsl:with-param>
<xsl:with-param name="encoding" select="$htmlhelp.encoding"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="hhc-main">
<xsl:text><HTML>
<HEAD>
</HEAD>
<BODY>
<OBJECT type="text/site properties">
<param name="ImageType" value="Folder">
</OBJECT>
<UL>
</xsl:text>
<xsl:choose>
<xsl:when test="$rootid != ''">
<xsl:apply-templates select="key('id',$rootid)" mode="hhc"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="." mode="hhc"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text></UL>
</BODY>
</HTML></xsl:text>
</xsl:template>
<xsl:template match="set" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
<xsl:if test="book">
<xsl:text><UL></xsl:text>
<xsl:apply-templates select="book" mode="hhc"/>
<xsl:text></UL></xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="book" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
<xsl:apply-templates
select="part|reference|preface|chapter|bibliography|appendix|article|colophon"
mode="hhc"/>
</xsl:template>
<xsl:template match="part|reference|preface|chapter|bibliography|appendix|article"
mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
<xsl:if test="reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv">
<xsl:text><UL></xsl:text>
<xsl:apply-templates
select="reference|preface|chapter|appendix|refentry|section|sect1|bibliodiv"
mode="hhc"/>
<xsl:text></UL></xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="section" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
<xsl:if test="section[count(ancestor::section) < $htmlhelp.hhc.section.depth]">
<xsl:text><UL></xsl:text>
<xsl:apply-templates select="section" mode="hhc"/>
<xsl:text></UL></xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="sect1" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
<xsl:if test="sect2[$htmlhelp.hhc.section.depth > 1]">
<xsl:text><UL></xsl:text>
<xsl:apply-templates select="sect2"
mode="hhc"/>
<xsl:text></UL></xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="sect2" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
<xsl:if test="sect3[$htmlhelp.hhc.section.depth > 2]">
<xsl:text><UL></xsl:text>
<xsl:apply-templates select="sect3"
mode="hhc"/>
<xsl:text></UL></xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="sect3" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
<xsl:if test="sect4[$htmlhelp.hhc.section.depth > 3]">
<xsl:text><UL></xsl:text>
<xsl:apply-templates select="sect4"
mode="hhc"/>
<xsl:text></UL></xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="sect4" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
<xsl:if test="sect5[$htmlhelp.hhc.section.depth > 4]">
<xsl:text><UL></xsl:text>
<xsl:apply-templates select="sect5"
mode="hhc"/>
<xsl:text></UL></xsl:text>
</xsl:if>
</xsl:template>
<xsl:template match="sect5|refentry|colophon|bibliodiv" mode="hhc">
<xsl:variable name="title">
<xsl:if test="$htmlhelp.autolabel=1">
<xsl:variable name="label.markup">
<xsl:apply-templates select="." mode="label.markup"/>
</xsl:variable>
<xsl:if test="normalize-space($label.markup)">
<xsl:value-of select="concat($label.markup,$autotoc.label.separator)"/>
</xsl:if>
</xsl:if>
<xsl:apply-templates select="." mode="title.markup"/>
</xsl:variable>
<xsl:text><LI> <OBJECT type="text/sitemap">
<param name="Name" value="</xsl:text>
<xsl:value-of select="normalize-space($title)"/>
<xsl:text>">
<param name="Local" value="</xsl:text>
<xsl:call-template name="href.target"/>
<xsl:text>">
</OBJECT></xsl:text>
</xsl:template>
</xsl:stylesheet>