--- /dev/null
+README for the HTML Help DocBook Stylesheet
+===========================================
+
+This is simple stylesheet which can be used to generate source files
+for HTML Help. HTML Help is format which is used by newer Windows
+applications and by Windows operating system itself. It allows you to
+pack set of HTML files and images into one file and attach TOC, index
+and fulltext search capability to it. More informations about HTML
+Help format and HTML Help Workshop tool can be found at
+http://msdn.microsoft.com/library/tools/htmlhelp/chm/hh1start.htm.
+
+This stylesheet is based on the XSL DocBook Stylesheet distribution
+(especially on JavaHelp code) from Norman Walsh.
+
+This stylesheet imports chunk.xsl, thus set of HTML files is created
+in usual way. Additionally is created file htmlhelp.hhp which is
+project file for HTML Help Compiler and toc.hhc which holds structure
+of your document. Language identifier of HTML Help is taken from the
+top most element in your DocBook source. This is perfectly legal for
+documents in only one language. If language is not set, US English is
+defaulted. There is one problem - MS language codes are country
+sensitive, and this information is not available in DocBook source. If
+stylesheet selects bad code for you, edit langcodes.xml file, and
+remove all entries which have yours language code, but are located in
+inappropriate country.
+
+Title of whole HTML Help is taken from first title element in
+document. Fulltext searching is automatically on. If your document
+contains index terms, they are automatically converted to ActiveX,
+which is recognized by HTML Help compiler.
+
+If you are generating HTML Help for non-Western Europe languages, you should
+change output encoding of your files, because HTML Help compiler improperly
+handles UTF-8 and even character entities in TOC file and index entries.
+This can be easily done by "driver" file like this:
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+ <xsl:output encoding="windows-1250"/>
+ <xsl:import href="<path to file.../contrib/htmlhelp/docbook.xsl...>"/>
+</xsl:stylesheet>
+
+Currently only XT processor is supported, support for other processors
+may be added in the future.
+
+If you have any comments and suggestion about this stylesheet feel free
+to contact author at <jirka@kosek.cz>.
\ No newline at end of file
--- /dev/null
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.1.2//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd'>
+<chapter lang="en">
+<chapterinfo>
+<author>
+<firstname>Jirka</firstname>
+<surname>Kosek</surname>
+</author>
+<copyright>
+<year>2001</year>
+<holder>Jiří Kosek</holder>
+</copyright>
+<releaseinfo>$Id$</releaseinfo>
+</chapterinfo>
+<title>Using XSL stylesheets to generate HTML Help</title>
+<?dbhtml filename="htmlhelp.html"?>
+
+<para>HTML Help (HH) is help-format used in newer versions of MS
+Windows and applications written for this platform. This format allows
+to pack several HTML files together with images, table of contents and
+index into single file. Windows contains browser for this file-format
+and full-text search is also supported on HH files. If you want know
+more about HH and its capabilities look at <ulink
+url="http://msdn.microsoft.com/library/tools/htmlhelp/chm/HH1Start.htm">HTML
+Help pages</ulink>.</para>
+
+<section>
+<title>How to generate first HTML Help file from DocBook sources</title>
+
+<para>Working with HH stylesheets is same as with other XSL DocBook
+stylesheets. Simply run your favorite XSLT processor on your document
+with stylesheet suited for HH:</para>
+
+<screen format="linespecific">saxon <replaceable>yourfile</replaceable> <replaceable>/path/to/stylesheets/</replaceable>contrib/htmlhelp/htmlhelp.xsl</screen>
+
+<para>If you are using XT processor, you should use stylesheet
+<filename moreinfo="none">xthtmlhelp.xsl</filename> instead of
+<filename moreinfo="none">htmlhelp.xsl</filename>.</para>
+
+<para>Stylesheet imports standard chunking stylesheet, thus set of
+HTML files is created in usual way. Other files are also created
+– <filename>htmlhelp.hhp</filename> is project file for HTML
+Help Compiler and <filename>toc.hhc</filename> holds structure of your
+document.</para>
+
+<para>Language identifier for whole HH file is taken from the top most
+element with <sgmltag class="attribute">lang</sgmltag> attribute in
+your DocBook source. This is perfectly legal for documents in only one
+language. If language is not specified in the document, US English is
+defaulted. There is one problem – MS language codes are country
+sensitive, and this information is not available in DocBook source. If
+the stylesheet selects bad code for you, edit
+<filename>langcodes.xml</filename>, and remove all entries which have
+yours language code, but are located in inappropriate country.</para>
+
+<para>Title of whole HH file is taken from first title element in your
+document. Fulltext searching is automatically on. If your document
+contains index terms, they are automatically converted to HH ActiveX
+objects, which are recognized by HTML Help compiler.</para>
+
+<para>Stylesheet creates couple of files which are then used as an
+input for HTML Help Compiler (HHC) which is part of <ulink
+url="http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download_main.htm">HTML
+Help Workshop</ulink>. If you have HHC in your path, you can start
+conversion to HH format by running command:</para>
+
+<screen format="linespecific">hhc htmlhelp.hhp</screen>
+
+<para>If you can not stand without your mouse, there is alternative
+way. Just double-click on <filename
+moreinfo="none">htmlhelp.hhp</filename> file. HH Workshop will be
+launched automaticaly. Generation of HH file can be started by selecting
+<menuchoice moreinfo="none">
+<guimenu moreinfo="none">File</guimenu> <guimenuitem
+moreinfo="none">Compile</guimenuitem> </menuchoice> from application's
+menu.</para>
+
+</section>
+
+<section>
+<title>Customizing generated files</title>
+
+<section>
+<title>Enabling navigation links</title>
+
+<para>By default, HTML Help stylesheet disables navigation links at
+the start and the bottom of each page. If you want to enable this
+feature, start your XSLT processor with parameter <parameter
+moreinfo="none">suppress.navigation</parameter> set to 0.</para>
+
+<screen format="linespecific">saxon <replaceable>yourfile</replaceable> <replaceable>/path/to/stylesheets/</replaceable>contrib/htmlhelp/htmlhelp.xsl "suppress.navigation=0"</screen>
+
+<para>Another approach is to create driver file, which overrides
+default parameter value.</para>
+
+<programlisting><![CDATA[<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:import href="]]><replaceable>/path/to/stylesheets/</replaceable>contrib/htmlhelp/htmlhelp.xsl<![CDATA["/>
+
+ <xsl:param name="suppress.navigation" select="0"/>
+
+</xsl:stylesheet>
+]]></programlisting>
+
+</section>
+
+<section>
+<title>Generating HTML Help for non-Western European languages</title>
+
+<para>If you are generating HTML Help for non-Western Europe
+languages, you should change output encoding of your files, because
+HTML Help compiler improperly handles UTF-8 and even character
+entities in TOC file and index entries. This can be easily done by
+<quote>driver</quote> file like this:</para>
+
+<programlisting><![CDATA[<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:import href="]]><replaceable>/path/to/stylesheets/</replaceable>contrib/htmlhelp/htmlhelp.xsl<![CDATA["/>
+
+ <xsl:param name="htmlhelp.encoding" select="'windows-1250'"/>
+ <xsl:param name="html.encoding" select="'windows-1250'"/>
+
+</xsl:stylesheet>
+]]></programlisting>
+
+<para>Default encoding is ISO-8859-1 (aka ISO Latin 1).</para>
+
+<note>
+<para>With some XSLT processor index entries are problematic. For
+example Saxon uses character references even after specifying different
+encoding. This can be switched off by using parameter <literal
+moreinfo="none">saxon:character-representation="native"</literal> on
+<literal moreinfo="none">xsl:output</literal> instruction. However
+this does not work with DocBook stylesheets. If you know solution to
+this problem let me know. For the moment some characters in index are
+weird.</para>
+</note>
+
+</section>
+
+</section>
+
+<section>
+<title>Feedback</title>
+
+<para>If you have any comments and suggestion about HTML Help
+stylesheet feel free to contact me at following address
+<email>jirka@kosek.cz</email>.</para>
+
+</section>
+
+</chapter>
\ No newline at end of file
--- /dev/null
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ exclude-result-prefixes="doc"
+ version="1.0">
+
+<!-- ********************************************************************
+ $Id$
+ ********************************************************************
+
+ 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.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+<xsl:param name="htmlhelp.encoding" select="'iso-8859-1'"/>
+
+<doc:param name="htmlhelp.encoding" xmlns="">
+<refpurpose>Character encoding to use in files for HTML Help compiler.</refpurpose>
+<refdescription>
+<para>HTML Help Compiler is not UTF-8 aware, so you should always use
+apropriate single-byte encoding here.</para>
+</refdescription>
+</doc:param>
+
+<xsl:param name="suppress.navigation" select="1"/>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="/">
+ <xsl:apply-templates/>
+ <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:if test="//indexterm">
+<xsl:text>Auto Index=Yes
+</xsl:text></xsl:if>
+<xsl:text>Compatibility=1.1 or later
+Compiled file=htmlhelp.chm
+Contents file=toc.hhc
+Default topic=</xsl:text>
+ <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>
+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:value-of select="//title[1]"/>
+<xsl:text>
+
+[FILES]
+</xsl:text>
+<xsl:apply-templates mode="enumerate-files"/>
+</xsl:template>
+<!-- ==================================================================== -->
+
+<xsl:template match="set|book|part|preface|chapter|appendix
+ |article
+ |reference|refentry
+ |sect1[position()>1]
+ |section[position()>1 and name(parent::*) != 'section']
+ |book/glossary|article/glossary
+ |book/bibliography|article/bibliography
+ |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="'toc.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:apply-templates select="." mode="hhc"/>
+<xsl:text></UL>
+</BODY>
+</HTML></xsl:text>
+</xsl:template>
+
+<xsl:template match="set" mode="hhc">
+ <xsl:variable name="title">
+ <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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <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: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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="part|reference|preface|chapter|appendix|article">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates select="part|reference|preface|chapter|appendix|article"
+ mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="part|reference|preface|chapter|appendix|article"
+ mode="hhc">
+ <xsl:variable name="title">
+ <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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="reference|preface|chapter|appendix|refentry|section|sect1">
+ <xsl:text><UL></xsl:text>
+ <xsl:apply-templates
+ select="reference|preface|chapter|appendix|refentry|section|sect1"
+ mode="hhc"/>
+ <xsl:text></UL></xsl:text>
+ </xsl:if>
+</xsl:template>
+
+<xsl:template match="section" mode="hhc">
+ <xsl:variable name="title">
+ <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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="section">
+ <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: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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="sect2">
+ <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: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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="sect3">
+ <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: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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="sect4">
+ <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: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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+ <xsl:if test="sect5">
+ <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" mode="hhc">
+ <xsl:variable name="title">
+ <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="$title"/>
+ <xsl:text>">
+ <param name="Local" value="</xsl:text>
+ <xsl:call-template name="href.target.with.base.dir"/>
+ <xsl:text>">
+ </OBJECT></xsl:text>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template match="indexterm">
+
+ <xsl:variable name="text">
+ <xsl:value-of select="primary"/>
+ <xsl:if test="secondary">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="secondary"/>
+ </xsl:if>
+ <xsl:if test="tertiary">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="tertiary"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <OBJECT type="application/x-oleobject"
+ classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
+ <param name="Keyword" value="{$text}"/>
+ </OBJECT>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="href.target.with.base.dir">
+ <xsl:value-of select="$base.dir"/>
+ <xsl:call-template name="href.target"/>
+</xsl:template>
+
+
+</xsl:stylesheet>
--- /dev/null
+<?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">
+
+<xsl:import href="../html/chunk.xsl"/>
+<xsl:include href="htmlhelp-common.xsl"/>
+
+<xsl:template name="write.text.chunk">
+ <xsl:param name="filename" select="''"/>
+ <xsl:param name="method" select="'text'"/>
+ <xsl:param name="content" select="''"/>
+ <xsl:param name="encoding" select="'iso-8859-1'"/>
+ <xsl:call-template name="write.chunk">
+ <xsl:with-param name="filename" select="$filename"/>
+ <xsl:with-param name="method" select="$method"/>
+ <xsl:with-param name="content" select="$content"/>
+ <xsl:with-param name="encoding" select="$encoding"/>
+ </xsl:call-template>
+</xsl:template>
+
+</xsl:stylesheet>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<localization>
+<gentext lang="sq">0x041c Albanian</gentext>
+<gentext lang="ar">0x1401 Arabic (ALGERIA)</gentext>
+<gentext lang="es">0x2c0a Spanish (ARGENTINA)</gentext>
+<gentext lang="en">0x0c09 English (AUSTRALIA)</gentext>
+<gentext lang="de">0x0c07 German (AUSTRIA)</gentext>
+<gentext lang="ar">0x3c01 Arabic (BAHRAIN)</gentext>
+<gentext lang="be">0x0423 Byelorussian</gentext>
+<gentext lang="fr">0x080c French (BELGIUM)</gentext>
+<gentext lang="en">0x2809 English (BELIZE)</gentext>
+<gentext lang="es">0x400a Spanish (BOLIVIA)</gentext>
+<gentext lang="pt">0x0416 Portuguese (BRAZIL)</gentext>
+<gentext lang="ms">0x083e Malay (BRUNEI DARUSSALAM)</gentext>
+<gentext lang="bg">0x0402 Bulgarian</gentext>
+<gentext lang="fr">0x0c0c French (CANADA)</gentext>
+<gentext lang="es">0x340a Spanish (CHILE)</gentext>
+<gentext lang="zh">0x0804 Chinese (CHINA)</gentext>
+<gentext lang="es">0x240a Spanish (COLOMBIA)</gentext>
+<gentext lang="es">0x140a Spanish (COSTA RICA)</gentext>
+<gentext lang="hr">0x041a Croatian</gentext>
+<gentext lang="cs">0x0405 Czech</gentext>
+<gentext lang="da">0x0406 Danish</gentext>
+<gentext lang="es">0x1c0a Spanish (DOMINICAN REPUBLIC)</gentext>
+<gentext lang="es">0x300a Spanish (ECUADOR)</gentext>
+<gentext lang="ar">0x0c01 Arabic (EGYPT)</gentext>
+<gentext lang="es">0x440a Spanish (EL SALVADOR)</gentext>
+<gentext lang="et">0x0425 Estonian</gentext>
+<gentext lang="fo">0x0438 Faeroese</gentext>
+<gentext lang="fi">0x040b Finnish</gentext>
+<gentext lang="fr">0x040c French (FRANCE)</gentext>
+<gentext lang="de">0x0407 German (GERMANY)</gentext>
+<gentext lang="el">0x0408 Greek</gentext>
+<gentext lang="es">0x100a Spanish (GUATEMALA)</gentext>
+<gentext lang="es">0x480a Spanish (HONDURAS)</gentext>
+<gentext lang="zh">0x0c04 Chinese (HONG KONG)</gentext>
+<gentext lang="hu">0x040e Hungarian</gentext>
+<gentext lang="is">0x040f Icelandic</gentext>
+<gentext lang="hi">0x0439 Hindi</gentext>
+<gentext lang="in">0x04</gentext>
+<gentext lang="fa">0x0429 Farsi</gentext>
+<gentext lang="ar">0x0801 Arabic (IRAQ)</gentext>
+<gentext lang="en">0x1809 English (IRELAND)</gentext>
+<gentext lang="iw">0x04</gentext>
+<gentext lang="it">0x0410 Italian</gentext>
+<gentext lang="en">0x2009 English (JAMAICA)</gentext>
+<gentext lang="ja">0x0411 Japanese</gentext>
+<gentext lang="ar">0x2c01 Arabic (JORDAN)</gentext>
+<gentext lang="sw">0x0441 Swahili</gentext>
+<gentext lang="ko">0x0412 Korean</gentext>
+<gentext lang="ar">0x3401 Arabic (KUWAIT)</gentext>
+<gentext lang="lv">0x0426 Latvian (Lettish)</gentext>
+<gentext lang="ar">0x3001 Arabic (LEBANON)</gentext>
+<gentext lang="ar">0x1001 Arabic (LIBYAN ARAB JAMAHIRIYA)</gentext>
+<gentext lang="de">0x1407 German (LIECHTENSTEIN)</gentext>
+<gentext lang="lt">0x0427 Lithuanian</gentext>
+<gentext lang="de">0x1007 German (LUXEMBOURG)</gentext>
+<gentext lang="zh">0x1404 Chinese (MACAU)</gentext>
+<gentext lang="mk">0x042f Macedonian</gentext>
+<gentext lang="ms">0x043e Malay (MALAYSIA)</gentext>
+<gentext lang="es">0x080a Spanish (MEXICO)</gentext>
+<gentext lang="fr">0x180c French (MONACO)</gentext>
+<gentext lang="ar">0x1801 Arabic (MOROCCO)</gentext>
+<gentext lang="nl">0x0413 Dutch</gentext>
+<gentext lang="en">0x1409 English (NEW ZEALAND)</gentext>
+<gentext lang="es">0x4c0a Spanish (NICARAGUA)</gentext>
+<gentext lang="no">0x0414 Norwegian</gentext>
+<gentext lang="ar">0x2001 Arabic (OMAN)</gentext>
+<gentext lang="ur">0x0420 Urdu</gentext>
+<gentext lang="es">0x180a Spanish (PANAMA)</gentext>
+<gentext lang="es">0x3c0a Spanish (PARAGUAY)</gentext>
+<gentext lang="es">0x280a Spanish (PERU)</gentext>
+<gentext lang="en">0x3409 English (PHILIPPINES)</gentext>
+<gentext lang="pl">0x0415 Polish</gentext>
+<gentext lang="pt">0x0816 Portuguese (PORTUGAL)</gentext>
+<gentext lang="es">0x500a Spanish (PUERTO RICO)</gentext>
+<gentext lang="ar">0x4001 Arabic (QATAR)</gentext>
+<gentext lang="ro">0x0418 Romanian</gentext>
+<gentext lang="ru">0x0419 Russian</gentext>
+<gentext lang="ar">0x0401 Arabic (SAUDI ARABIA)</gentext>
+<gentext lang="zh">0x1004 Chinese (SINGAPORE)</gentext>
+<gentext lang="sk">0x041b Slovak</gentext>
+<gentext lang="sl">0x0424 Slovenian</gentext>
+<gentext lang="af">0x0436 Afrikaans</gentext>
+<gentext lang="ca">0x0403 Catalan</gentext>
+<gentext lang="sv">0x041d Swedish</gentext>
+<gentext lang="de">0x0807 German (SWITZERLAND)</gentext>
+<gentext lang="ar">0x2801 Arabic (SYRIAN ARAB REPUBLIC)</gentext>
+<gentext lang="zh">0x0404 Chinese (TAIWAN, PROVINCE OF CHINA)</gentext>
+<gentext lang="th">0x041e Thai</gentext>
+<gentext lang="en">0x2c09 English (TRINIDAD AND TOBAGO)</gentext>
+<gentext lang="ar">0x1c01 Arabic (TUNISIA)</gentext>
+<gentext lang="tr">0x041f Turkish</gentext>
+<gentext lang="uk">0x0422 Ukrainian</gentext>
+<gentext lang="ar">0x3801 Arabic (UNITED ARAB EMIRATES)</gentext>
+<gentext lang="en">0x0809 English (UNITED KINGDOM)</gentext>
+<gentext lang="en">0x0409 English (UNITED STATES)</gentext>
+<gentext lang="es">0x380a Spanish (URUGUAY)</gentext>
+<gentext lang="es">0x200a Spanish (VENEZUELA)</gentext>
+<gentext lang="vi">0x242a Vietnamese</gentext>
+<gentext lang="ar">0x2401 Arabic (YEMEN)</gentext>
+<gentext lang="en">0x3009 English (ZIMBABWE)</gentext>
+</localization>
--- /dev/null
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xt="http://www.jclark.com/xt"
+ extension-element-prefixes="xt"
+ version="1.0">
+
+<xsl:import href="../html/xtchunk.xsl"/>
+<xsl:include href="htmlhelp-common.xsl"/>
+
+<xsl:template name="write.text.chunk">
+ <xsl:param name="filename" select="''"/>
+ <xsl:param name="method" select="'html'"/>
+ <xsl:param name="content" select="''"/>
+ <xsl:param name="encoding" select="'iso-8859-1'"/>
+
+ <!-- XT bug, if method is an AVT, it doesn't work -->
+ <!-- encoding doesn't work as an AVT either -->
+ <xt:document method="text" href="{$filename}" encoding="iso-8859-1">
+ <xsl:copy-of select="$content"/>
+ </xt:document>
+</xsl:template>
+
+</xsl:stylesheet>
--- /dev/null
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+<xsl:output method="html"/>
+
+<!-- ********************************************************************
+ $Id$
+ ********************************************************************
+
+ This file is part of the XSL DocBook Stylesheet distribution.
+ See ../README or http://nwalsh.com/docbook/xsl/ for copyright
+ and other information.
+
+ ******************************************************************** -->
+
+<!-- ==================================================================== -->
+
+<xsl:template match="/">
+ <xsl:apply-templates/>
+ <xsl:call-template name="helpset"/>
+ <xsl:call-template name="helptoc"/>
+ <xsl:call-template name="helpmap"/>
+ <xsl:call-template name="helpidx"/>
+</xsl:template>
+
+<xsl:template name="header.navigation">
+</xsl:template>
+
+<xsl:template name="footer.navigation">
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="helpset">
+ <xsl:call-template name="write.chunk.with.doctype">
+ <xsl:with-param name="filename" select="'jhelpset.hs'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN'"/>
+ <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/helpset_1_0.dtd'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="helpset.content"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="helpset.content">
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <helpset version="1.0">
+ <title>
+ <xsl:value-of select="$title"/>
+ </title>
+
+ <!-- maps -->
+ <maps>
+ <homeID>top</homeID>
+ <mapref location="jhelpmap.jhm"/>
+ </maps>
+
+ <!-- views -->
+ <view>
+ <name>TOC</name>
+ <label>Table Of Contents</label>
+ <type>javax.help.TOCView</type>
+ <data>jhelptoc.xml</data>
+ </view>
+
+ <view>
+ <name>Index</name>
+ <label>Index</label>
+ <type>javax.help.IndexView</type>
+ <data>jhelpidx.xml</data>
+ </view>
+
+ <view>
+ <name>Search</name>
+ <label>Search</label>
+ <type>javax.help.SearchView</type>
+ <data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+ </view>
+ </helpset>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="helptoc">
+ <xsl:call-template name="write.chunk.with.doctype">
+ <xsl:with-param name="filename" select="'jhelptoc.xml'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN'"/>
+ <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/toc_1_0.dtd'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="helptoc.content"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="helptoc.content">
+ <toc version="1.0">
+ <xsl:apply-templates select="." mode="toc"/>
+ </toc>
+</xsl:template>
+
+<xsl:template match="set" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="."/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="book" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="book" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="part|reference|preface|chapter|appendix"
+ mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="part|reference|preface|chapter|appendix"
+ mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates
+ select="preface|chapter|appendix|refentry|section|sect1"
+ mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="section" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="section" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect1" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="sect2" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect2" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="sect3" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect3" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="sect4" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect4" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ <xsl:apply-templates select="sect5" mode="toc"/>
+ </tocitem>
+</xsl:template>
+
+<xsl:template match="sect5" mode="toc">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+ <xsl:variable name="title">
+ <xsl:apply-templates select="." mode="title.markup"/>
+ </xsl:variable>
+
+ <tocitem target="{$id}">
+ <xsl:attribute name="text">
+ <xsl:value-of select="$title"/>
+ </xsl:attribute>
+ </tocitem>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="helpmap">
+ <xsl:call-template name="write.chunk.with.doctype">
+ <xsl:with-param name="filename" select="'jhelpmap.jhm'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN'"/>
+ <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/map_1_0.dtd'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="helpmap.content"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="helpmap.content">
+ <map version="1.0">
+ <xsl:apply-templates select="//set
+ | //book
+ | //part
+ | //reference
+ | //preface
+ | //chapter
+ | //appendix
+ | //refentry
+ | //section
+ | //sect1
+ | //sect2
+ | //sect3
+ | //sect4
+ | //sect5
+ | //indexterm"
+ mode="map"/>
+ </map>
+</xsl:template>
+
+<xsl:template match="set" mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="."/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<xsl:template match="book" mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<xsl:template match="part|reference|preface|chapter|appendix"
+ mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<xsl:template match="section|sect1|sect2|sect3|sect4|sect5" mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="map">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <mapID target="{$id}">
+ <xsl:attribute name="url">
+ <xsl:apply-templates mode="chunk-filename" select="."/>
+ </xsl:attribute>
+ </mapID>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="helpidx">
+ <xsl:call-template name="write.chunk.with.doctype">
+ <xsl:with-param name="filename" select="'jhelpidx.xml'"/>
+ <xsl:with-param name="method" select="'xml'"/>
+ <xsl:with-param name="indent" select="'yes'"/>
+ <xsl:with-param name="doctype-public" select="'-//Sun Microsystems Inc.//DTD JavaHelp Index Version 1.0//EN'"/>
+ <xsl:with-param name="doctype-system" select="'http://java.sun.com/products/javahelp/index_1_0.dtd'"/>
+ <xsl:with-param name="content">
+ <xsl:call-template name="helpidx.content"/>
+ </xsl:with-param>
+ </xsl:call-template>
+</xsl:template>
+
+<xsl:template name="helpidx.content">
+ <index version="1.0">
+ <xsl:apply-templates select="//indexterm" mode="idx"/>
+ </index>
+</xsl:template>
+
+<xsl:template match="indexterm" mode="idx">
+ <xsl:variable name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:variable>
+
+ <xsl:variable name="text">
+ <xsl:value-of select="primary"/>
+ <xsl:if test="secondary">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="secondary"/>
+ </xsl:if>
+ <xsl:if test="tertiary">
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="tertiary"/>
+ </xsl:if>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="see">
+ <xsl:variable name="see"><xsl:value-of select="see"/></xsl:variable>
+ <indexitem text="{$text} see '{$see}'"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <indexitem text="{$text}" target="{$id}"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- ==================================================================== -->
+
+</xsl:stylesheet>
\ No newline at end of file
--- /dev/null
+<?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">
+
+<xsl:import href="../html/chunk.xsl"/>
+<xsl:include href="javahelp-common.xsl"/>
+
+</xsl:stylesheet>
--- /dev/null
+<?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">
+
+<xsl:import href="../html/xtchunk.xsl"/>
+<xsl:include href="javahelp-common.xsl"/>
+
+<xsl:template match="/">
+ <xsl:message terminate="yes">
+ <xsl:text>JavaHelp cannot work with XT; XT does not support</xsl:text>
+ <xsl:text> writing doctype public and system identifiers</xsl:text>
+ </xsl:message>
+</xsl:template>
+
+</xsl:stylesheet>