blob: 2f2754ae22562c3738257f9487485012918dae1b [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright (c) 2011 Mia-Software and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v2.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v20.html
Contributors:
Gregoire Dupe (Mia-Software) - Bug 337584 - Documentation set up
Nicolas Bros (Mia-Software) - Bug 356051 - Move documentation to mediawiki files in documentation plug-ins
-->
<xsl:stylesheet version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="xml" indent="yes" encoding="ISO-8859-1"
doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
doctype-system="http://www.w3.org/TR/html4/loose.dtd"
/>
<xsl:template name="toctpl" match="toc">
<xsl:param name="location" />
<xsl:param name="first" />
<xsl:choose>
<xsl:when test="$first='notfirst'">
<li>
<xsl:value-of select="@label" />
</li>
<ul>
<xsl:apply-templates select="topic">
<xsl:with-param name="location" select="$location" />
<xsl:with-param name="first" select="$first"></xsl:with-param>
</xsl:apply-templates>
</ul>
</xsl:when>
<xsl:otherwise>
<html>
<head>
<style type="text/css">
a { text-decoration:none; color:#000099;}
ul { list-style-type:square; margin-left: 0.75em; padding-left: 0.75em; }
ul ul { list-style-type:square; margin-left: 0.75em; padding-left: 0.75em; }
</style>
<title><xsl:value-of select="@label" /> - table of contents</title>
</head>
<body>
<h1>
<xsl:value-of select="@label" />
</h1>
<xsl:apply-templates select="topic">
<xsl:with-param name="location" select="$location" />
<xsl:with-param name="first" select="'notfirst'"></xsl:with-param>
</xsl:apply-templates>
</body>
</html>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="topic" name="topictpl">
<xsl:param name="location" />
<xsl:param name="first" />
<xsl:choose>
<xsl:when test="@href">
<li>
<xsl:choose>
<xsl:when test="$location">
<a href="{$location}/{@href}" target="content">
<xsl:value-of select="@label" />
</a>
</xsl:when>
<xsl:otherwise>
<a href="{@href}" target="content">
<xsl:value-of select="@label" />
</a>
</xsl:otherwise>
</xsl:choose>
</li>
</xsl:when>
<xsl:when test="link">
<xsl:apply-templates select="link">
<xsl:with-param name="location" select="$location" />
<xsl:with-param name="first" select="$first" />
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<h2><xsl:value-of select="@label" /></h2>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="descendant::topic">
<ul>
<xsl:apply-templates>
<xsl:with-param name="location" select="$location" />
<xsl:with-param name="first" select="$first" />
</xsl:apply-templates>
</ul>
</xsl:if>
</xsl:template>
<xsl:template match="link">
<xsl:param name="first" />
<xsl:apply-templates select="document(@toc)">
<xsl:with-param name="location" select="concat('./',concat(@toc,'/..'))" />
<xsl:with-param name="first" select="$first" />
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>