summaryrefslogtreecommitdiff
path: root/xslt/docbook
diff options
context:
space:
mode:
authorShaun McCance <shaunm@src.gnome.org>2007-08-07 19:05:30 +0000
committerShaun McCance <shaunm@src.gnome.org>2007-08-07 19:05:30 +0000
commitd9a27c1f84c8b83407ca19b78f2b2111d12e2058 (patch)
treefd54bdae677dd5bf615d683151af59c41f61160d /xslt/docbook
parentb74ee289d13cd345817600fcac4b3b2e2f5d0440 (diff)
downloadgnome-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')
-rw-r--r--xslt/docbook/html/db2html-css.xsl6
-rw-r--r--xslt/docbook/html/db2html-index.xsl229
-rw-r--r--xslt/docbook/html/db2html.xsl1
-rw-r--r--xslt/docbook/html/db2xhtml.xsl1
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"/>