diff options
author | Shaun McCance <shaunm@src.gnome.org> | 2007-08-07 19:05:30 +0000 |
---|---|---|
committer | Shaun McCance <shaunm@src.gnome.org> | 2007-08-07 19:05:30 +0000 |
commit | d9a27c1f84c8b83407ca19b78f2b2111d12e2058 (patch) | |
tree | fd54bdae677dd5bf615d683151af59c41f61160d /xslt/docbook/html | |
parent | b74ee289d13cd345817600fcac4b3b2e2f5d0440 (diff) | |
download | gnome-doc-utils-d9a27c1f84c8b83407ca19b78f2b2111d12e2058.tar.gz |
- Adding some basic index support
* test/testbook/testbook.xml:
* xslt/docbook/html/db2html-css.xsl:
* xslt/docbook/html/db2html-index.xsl:
* xslt/docbook/html/db2html.xsl:
* xslt/docbook/html/db2xhtml.xsl:
* xslt/gettext/l10n.xml.in:
- Adding some basic index support
svn path=/trunk/; revision=1001
Diffstat (limited to 'xslt/docbook/html')
-rw-r--r-- | xslt/docbook/html/db2html-css.xsl | 6 | ||||
-rw-r--r-- | xslt/docbook/html/db2html-index.xsl | 229 | ||||
-rw-r--r-- | xslt/docbook/html/db2html.xsl | 1 | ||||
-rw-r--r-- | xslt/docbook/html/db2xhtml.xsl | 1 |
4 files changed, 237 insertions, 0 deletions
diff --git a/xslt/docbook/html/db2html-css.xsl b/xslt/docbook/html/db2html-css.xsl index 71d64b0..0c93146 100644 --- a/xslt/docbook/html/db2html-css.xsl +++ b/xslt/docbook/html/db2html-css.xsl @@ -368,6 +368,12 @@ pre.linenumbering { <!-- == unsorted == --> +dl.index dt { margin-top: 0; } +dl.index dd { margin-top: 0; margin-bottom: 0; } +dl.indexdiv dt { margin-top: 0; } +dl.indexdiv dd { margin-top: 0; margin-bottom: 0; } +dl.setindex dt { margin-top: 0; } +dl.setindex dd { margin-top: 0; margin-bottom: 0; } div.list div.title-formal span.title { border-bottom: solid 1px </xsl:text><xsl:value-of select="$theme.color.gray_border"/><xsl:text>; } diff --git a/xslt/docbook/html/db2html-index.xsl b/xslt/docbook/html/db2html-index.xsl new file mode 100644 index 0000000..458775a --- /dev/null +++ b/xslt/docbook/html/db2html-index.xsl @@ -0,0 +1,229 @@ +<?xml version='1.0' encoding='UTF-8'?><!-- -*- indent-tabs-mode: nil -*- --> +<!-- +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free +Software Foundation; either version 2 of the License, or (at your option) any +later version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +details. + +You should have received a copy of the GNU Lesser General Public License +along with this program; see the file COPYING.LGPL. If not, write to the +Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:set="http://exslt.org/sets" + xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" + xmlns="http://www.w3.org/1999/xhtml" + version="1.0"> + +<!--!!========================================================================== +DocBook to HTML - Indexes +:Requires: db-chunk db2html-division gettext + +This module provides templates to process DocBook indexes. +--> + +<!-- FIXME: +indexdiv +seeie +seealsoie +indexterm (autoidx) +--> + +<!-- == Matched Templates == --> + +<!-- = suppress = --> +<xsl:template match="primaryie"/> +<xsl:template match="secondaryie"/> +<xsl:template match="tertiaryie"/> + +<!-- = indexentry = --> +<xsl:template match="indexentry"> + <dt class="primaryie"> + <xsl:apply-templates select="primaryie/node()"/> + </dt> + <xsl:variable name="pri_see" + select="seeie[not(preceding-sibling::secondaryie)]"/> + <xsl:variable name="pri_seealso" + select="seealsoie[not(preceding-sibling::secondaryie)]"/> + <xsl:if test="$pri_see"> + <dd class="see"> + <xsl:call-template name="l10n.gettext"> + <xsl:with-param name="msgid" select="'seeie.format'"/> + <xsl:with-param name="node" select="$pri_see"/> + <xsl:with-param name="format" select="true()"/> + </xsl:call-template> + </dd> + </xsl:if> + <xsl:if test="$pri_seealso"> + <dd class="seealso"> + <xsl:call-template name="l10n.gettext"> + <xsl:with-param name="msgid" select="'seealsoie.format'"/> + <xsl:with-param name="node" select="$pri_seealso"/> + <xsl:with-param name="format" select="true()"/> + </xsl:call-template> + </dd> + </xsl:if> + <xsl:for-each select="secondaryie"> + <dd class="seconary"> + <dl class="secondary"> + <dt class="secondaryie"> + <xsl:apply-templates/> + </dt> + <xsl:variable name="sec_see" + select="following-sibling::seeie + [set:has-same-node(preceding-sibling::secondaryie[1], current())]"/> + <xsl:variable name="sec_seealso" + select="following-sibling::seealsoie + [set:has-same-node(preceding-sibling::secondaryie[1], current())]"/> + <xsl:variable name="tertiary" + select="following-sibling::tertiaryie + [set:has-same-node(preceding-sibling::secondaryie[1], current())]"/> + <xsl:if test="$sec_see"> + <dd class="see"> + <xsl:call-template name="l10n.gettext"> + <xsl:with-param name="msgid" select="'seeie.format'"/> + <xsl:with-param name="node" select="$sec_see"/> + <xsl:with-param name="format" select="true()"/> + </xsl:call-template> + </dd> + </xsl:if> + <xsl:if test="$sec_seealso"> + <dd class="seealso"> + <xsl:call-template name="l10n.gettext"> + <xsl:with-param name="msgid" select="'seealsoie.format'"/> + <xsl:with-param name="node" select="$sec_seealso"/> + <xsl:with-param name="format" select="true()"/> + </xsl:call-template> + </dd> + </xsl:if> + <xsl:if test="$tertiary"> + <!-- FIXME --> + </xsl:if> + </dl> + </dd> + </xsl:for-each> +</xsl:template> + +<!-- = index = --> +<xsl:template match="index"> + <xsl:param name="depth_in_chunk"> + <xsl:call-template name="db.chunk.depth-in-chunk"/> + </xsl:param> + <xsl:param name="depth_of_chunk"> + <xsl:call-template name="db.chunk.depth-of-chunk"/> + </xsl:param> + <xsl:choose> + <xsl:when test="not(title) and not(indexinfo/title)"> + <xsl:call-template name="db2html.division.div"> + <xsl:with-param name="info" select="indexinfo"/> + <xsl:with-param name="divisions" select="indexdiv"/> + <xsl:with-param name="entries" select="indexentry"/> + <xsl:with-param name="title_content"> + <xsl:call-template name="l10n.gettext"> + <xsl:with-param name="msgid" select="'Index'"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="depth_in_chunk" select="$depth_in_chunk"/> + <xsl:with-param name="depth_of_chunk" select="$depth_of_chunk"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="db2html.division.div"> + <xsl:with-param name="info" select="indexinfo"/> + <xsl:with-param name="divisions" select="indexdiv"/> + <xsl:with-param name="entries" select="indexentry"/> + <xsl:with-param name="depth_in_chunk" select="$depth_in_chunk"/> + <xsl:with-param name="depth_of_chunk" select="$depth_of_chunk"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- = setindex = --> +<xsl:template match="setindex"> + <xsl:param name="depth_in_chunk"> + <xsl:call-template name="db.chunk.depth-in-chunk"/> + </xsl:param> + <xsl:param name="depth_of_chunk"> + <xsl:call-template name="db.chunk.depth-of-chunk"/> + </xsl:param> + <xsl:choose> + <xsl:when test="not(title) and not(setindexinfo/title)"> + <xsl:call-template name="db2html.division.div"> + <xsl:with-param name="info" select="setindexinfo"/> + <xsl:with-param name="divisions" select="indexdiv"/> + <xsl:with-param name="entries" select="indexentry"/> + <xsl:with-param name="title_content"> + <xsl:call-template name="l10n.gettext"> + <xsl:with-param name="msgid" select="'Index'"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="depth_in_chunk" select="$depth_in_chunk"/> + <xsl:with-param name="depth_of_chunk" select="$depth_of_chunk"/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="db2html.division.div"> + <xsl:with-param name="info" select="setindexinfo"/> + <xsl:with-param name="divisions" select="indexdiv"/> + <xsl:with-param name="entries" select="indexentry"/> + <xsl:with-param name="depth_in_chunk" select="$depth_in_chunk"/> + <xsl:with-param name="depth_of_chunk" select="$depth_of_chunk"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!--#% l10n.format.mode --> +<xsl:template mode="l10n.format.mode" match="msg:seeie"> + <xsl:param name="node"/> + <xsl:for-each select="$node"> + <xsl:if test="position() != 1"> + <xsl:call-template name="l10n.gettext"> + <xsl:with-param name="msgid" select="', '"/> + </xsl:call-template> + </xsl:if> + <xsl:value-of select="."/> +<!-- + <xsl:choose> + <xsl:when test="@otherterm"> + <a> + <xsl:attribute name="href"> + <xsl:call-template name="db.xref.target"> + <xsl:with-param name="linkend" select="@otherterm"/> + </xsl:call-template> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:call-template name="db.xref.tooltip"> + <xsl:with-param name="linkend" select="@otherterm"/> + </xsl:call-template> + </xsl:attribute> + <xsl:choose> + <xsl:when test="normalize-space(.) != ''"> + <xsl:apply-templates/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="db.xref.content"> + <xsl:with-param name="linkend" select="@otherterm"/> + <xsl:with-param name="role" select="'glosssee'"/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> +--> + </xsl:for-each> +</xsl:template> + +</xsl:stylesheet> diff --git a/xslt/docbook/html/db2html.xsl b/xslt/docbook/html/db2html.xsl index 43c14fa..037c86f 100644 --- a/xslt/docbook/html/db2html.xsl +++ b/xslt/docbook/html/db2html.xsl @@ -52,6 +52,7 @@ DocBook to HTML <xsl:include href="db2html-division.xsl"/> <xsl:include href="db2html-ebnf.xsl"/> <xsl:include href="db2html-funcsynopsis.xsl"/> +<xsl:include href="db2html-index.xsl"/> <xsl:include href="db2html-info.xsl"/> <xsl:include href="db2html-inline.xsl"/> <xsl:include href="db2html-l10n.xsl"/> diff --git a/xslt/docbook/html/db2xhtml.xsl b/xslt/docbook/html/db2xhtml.xsl index a5ad1aa..f66b552 100644 --- a/xslt/docbook/html/db2xhtml.xsl +++ b/xslt/docbook/html/db2xhtml.xsl @@ -50,6 +50,7 @@ DocBook to XHTML <xsl:include href="db2html-division.xsl"/> <xsl:include href="db2html-ebnf.xsl"/> <xsl:include href="db2html-funcsynopsis.xsl"/> +<xsl:include href="db2html-index.xsl"/> <xsl:include href="db2html-info.xsl"/> <xsl:include href="db2html-inline.xsl"/> <xsl:include href="db2html-l10n.xsl"/> |