libvirt/docs/page.xsl
2008-04-24 20:24:18 +00:00

129 lines
5.2 KiB
XML

<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
exclude-result-prefixes="xsl exsl"
version="1.0">
<!-- The sitemap.html.in page contains the master navigation structure -->
<xsl:variable name="sitemap" select="document('sitemap.html.in')/html/body/div[@id='sitemap']"/>
<!-- This processes the sitemap to form a context sensitive
navigation menu for the current page -->
<xsl:template match="ul" mode="menu">
<xsl:param name="pagename"/>
<xsl:param name="level"/>
<ul class="{concat('l', $level)}">
<xsl:for-each select="li">
<li>
<!-- A menu is active if there is an 'a' tag with
a href matching this pagename at this level
or a child menu -->
<xsl:variable name="class">
<xsl:choose>
<xsl:when test="count(.//a[@href = $pagename]) > 0">
<xsl:text>active</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>inactive</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- A menu should use a 'span' instead of 'a' if
the immediate 'a' tag has href matching the
current pagename -->
<xsl:choose>
<xsl:when test="$pagename = a/@href">
<span class="{$class}"><xsl:value-of select="a"/></span>
</xsl:when>
<xsl:when test="a/@href = 'http://wiki.libvirt.org'">
<a title="{./span}" class="{$class}" href="{a/@href}"><xsl:value-of select="a"/></a>
</xsl:when>
<xsl:otherwise>
<a title="{./span}" class="{$class}" href="{concat($href_base, a/@href)}"><xsl:value-of select="a"/></a>
</xsl:otherwise>
</xsl:choose>
<!-- A sub-menu should only be expanded it contains
an 'a' tag with href matching this pagename -->
<xsl:if test="count(.//a[@href = $pagename]) > 0">
<xsl:apply-templates select="ul" mode="menu">
<xsl:with-param name="pagename" select="$pagename"/>
<xsl:with-param name="level" select="$level + 1"/>
</xsl:apply-templates>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<!-- This is the master page structure -->
<xsl:template match="/" mode="page">
<xsl:param name="pagename"/>
<html>
<xsl:comment>
This file is autogenerated from <xsl:value-of select="$pagename"/>.in
Do not edit this file. Changes will be lost.
</xsl:comment>
<head>
<link rel="stylesheet" type="text/css" href="{$href_base}main.css"/>
<link rel="SHORTCUT ICON" href="{$href_base}32favicon.png"/>
<title>libvirt: <xsl:value-of select="html/body/h1"/></title>
<meta name="description" content="libvirt, virtualization, virtualization API"/>
</head>
<body>
<div id="header">
<div id="headerLogo"/>
<div id="headerSearch">
<form action="{$href_base}search.php" enctype="application/x-www-form-urlencoded" method="get">
<input id="query" name="query" type="text" size="12" value=""/>
<input id="submit" name="submit" type="submit" value="Search"/>
</form>
</div>
</div>
<div id="body">
<div id="content">
<xsl:copy-of select="html/body/*"/>
</div>
<div id="menu">
<xsl:apply-templates select="exsl:node-set($sitemap)/ul" mode="menu">
<xsl:with-param name="pagename" select="$pagename"/>
<xsl:with-param name="level" select="0"/>
</xsl:apply-templates>
</div>
</div>
<div id="footer">
<div id="projects">
<dl id="p1">
<dt><a href="http://augeas.net/">Augeas</a></dt>
<dd><span>A configuration editing tool and API</span></dd>
<dt><a href="http://libvirt.org/">libvirt</a></dt>
<dd><span>The open source virtualization API</span></dd>
</dl>
<dl id="p2">
<dt><a href="http://cobbler.et.redhat.com/">Cobbler</a></dt>
<dd><span>OS provisioning and profile management</span></dd>
<dt><a href="http://ovirt.org/">oVirt</a></dt>
<dd><span>Virtualization management across the data center</span></dd>
</dl>
<dl id="p3">
<dt><a href="http://freeipa.org/">FreeIPA</a></dt>
<dd><span>Identity, policy and audit management</span></dd>
<dt><a href="http://virt-manager.org/">Virtual Machine Manager</a></dt>
<dd><span>Virtualization management from the desktop</span></dd>
</dl>
</div>
<!--
<p id="sponsor">
Sponsored by:<br/>
<a href="http://et.redhat.com/"><img src="{$href_base}redhat.gif" alt="Project sponsored by Red Hat"/></a>
</p>
-->
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>