2011-01-28 15:52:18 +03:00
<?xml version="1.0"?>
<xsl:stylesheet
2013-05-03 19:57:05 +04:00
xmlns="http://www.w3.org/1999/xhtml"
xmlns:html="http://www.w3.org/1999/xhtml"
2011-01-28 15:52:18 +03:00
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
2013-05-03 19:57:05 +04:00
exclude-result-prefixes="xsl exsl html"
2011-01-28 15:52:18 +03:00
version="1.0">
<!-- The sitemap.html.in page contains the master navigation structure -->
2013-05-03 19:57:05 +04:00
<xsl:variable name= "sitemap" select= "document('sitemap.html.in')/html:html/html:body/html:div[@id='sitemap']" />
2011-01-28 15:52:18 +03:00
2013-05-03 19:57:05 +04:00
<xsl:template match= "html:code[@class='docref']" mode= "content" >
2011-01-28 15:52:18 +03:00
<xsl:variable name= "name" > <xsl:value-of select= "." /> </xsl:variable>
<a href= "html/libvirt-libvirt.html#{$name}" > <code > <xsl:value-of select= "$name" /> </code> </a>
</xsl:template>
<xsl:template match= "node() | @*" mode= "content" >
<xsl:copy >
<xsl:apply-templates select= "node() | @*" mode= "content" />
</xsl:copy>
</xsl:template>
2013-05-03 19:57:05 +04:00
<xsl:template match= "html:ul[@id='toc']" mode= "content" >
2011-01-28 15:52:18 +03:00
<xsl:call-template name= "toc" />
</xsl:template>
<!-- This processes the sitemap to form a context sensitive
navigation menu for the current page -->
2013-05-03 19:57:05 +04:00
<xsl:template match= "html:ul" mode= "menu" >
2011-01-28 15:52:18 +03:00
<xsl:param name= "pagename" />
<xsl:param name= "level" />
<ul class= "{concat('l', $level)}" >
2013-05-03 19:57:05 +04:00
<xsl:for-each select= "html:li" >
2011-01-28 15:52:18 +03:00
<!-- The extra div tag here works around an IE6 whitespace collapsing problem -->
<li > <div >
<!-- 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 >
2013-05-03 19:57:05 +04:00
<xsl:when test= "count(.//html:a[@href = $pagename]) > 0" >
2011-01-28 15:52:18 +03:00
<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 >
2013-05-03 19:57:05 +04:00
<xsl:when test= "$pagename = html:a/@href" >
<span class= "{$class}" > <xsl:value-of select= "html:a" /> </span>
2011-01-28 15:52:18 +03:00
</xsl:when>
2013-05-03 19:57:05 +04:00
<xsl:when test= "starts-with(html:a/@href, 'http://wiki.libvirt.org')" >
<a title= "{./html:span}" class= "{$class}" href= "{html:a/@href}" > <xsl:value-of select= "html:a" /> </a>
2011-01-28 15:52:18 +03:00
</xsl:when>
<xsl:otherwise >
2013-05-03 19:57:05 +04:00
<a title= "{./html:span}" class= "{$class}" href= "{concat($href_base, html:a/@href)}" > <xsl:value-of select= "html:a" /> </a>
2011-01-28 15:52:18 +03:00
</xsl:otherwise>
</xsl:choose>
<!-- A sub - menu should only be expanded it contains
an 'a' tag with href matching this pagename -->
2013-05-03 19:57:05 +04:00
<xsl:if test= "count(.//html:a[@href = $pagename]) > 0" >
<xsl:apply-templates select= "html:ul" mode= "menu" >
2011-01-28 15:52:18 +03:00
<xsl:with-param name= "pagename" select= "$pagename" />
<xsl:with-param name= "level" select= "$level + 1" />
</xsl:apply-templates>
</xsl:if>
</div> </li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template name= "toc" >
<ul >
2013-05-03 19:57:05 +04:00
<xsl:for-each select= "/html:html/html:body/html:h2[count(html:a) = 1]" >
2011-01-28 15:52:18 +03:00
<xsl:variable name= "thish2" select= "." />
<li >
2013-05-03 19:57:05 +04:00
<a href= "#{html:a/@name}" > <xsl:value-of select= "html:a/text()" /> </a>
2013-05-03 23:56:04 +04:00
<xsl:if test= "count(./following-sibling::html:h3[preceding-sibling::html:h2[1] = $thish2 and count(html:a) = 1]) > 0" >
2011-01-28 15:52:18 +03:00
<ul >
2013-05-03 19:57:05 +04:00
<xsl:for-each select= "./following-sibling::html:h3[preceding-sibling::html:h2[1] = $thish2 and count(html:a) = 1]" >
2011-01-28 15:52:18 +03:00
<xsl:variable name= "thish3" select= "." />
<li >
2013-05-03 19:57:05 +04:00
<a href= "#{html:a/@name}" > <xsl:value-of select= "html:a/text()" /> </a>
<xsl:if test= "count(./following-sibling::html:h4[preceding-sibling::html:h3[1] = $thish3 and count(html:a) = 1]) > 0" >
2011-01-28 15:52:18 +03:00
<ul >
2013-05-03 19:57:05 +04:00
<xsl:for-each select= "./following-sibling::html:h4[preceding-sibling::html:h3[1] = $thish3 and count(html:a) = 1]" >
2011-01-28 15:52:18 +03:00
<xsl:variable name= "thish4" select= "." />
<li >
2013-05-03 23:56:04 +04:00
<a href= "#{html:a/@name}" > <xsl:value-of select= "html:a/text()" /> </a>
2013-05-03 19:57:05 +04:00
<xsl:if test= "count(./following-sibling::html:h5[preceding-sibling::html:h4[1] = $thish4 and count(html:a) = 1]) > 0" >
2011-01-28 15:52:18 +03:00
<ul >
2013-05-03 19:57:05 +04:00
<xsl:for-each select= "./following-sibling::html:h5[preceding-sibling::html:h4[1] = $thish4 and count(html:a) = 1]" >
2011-01-28 15:52:18 +03:00
<xsl:variable name= "thish5" select= "." />
<li >
2013-05-03 23:56:04 +04:00
<a href= "#{html:a/@name}" > <xsl:value-of select= "html:a/text()" /> </a>
2013-05-03 19:57:05 +04:00
<xsl:if test= "count(./following-sibling::html:h6[preceding-sibling::html:h5[1] = $thish5 and count(html:a) = 1]) > 0" >
2011-01-28 15:52:18 +03:00
<ul >
2013-05-03 19:57:05 +04:00
<xsl:for-each select= "./following-sibling::html:h6[preceding-sibling::html:h5[1] = $thish5 and count(html:a) = 1]" >
2011-01-28 15:52:18 +03:00
<li >
2013-05-03 19:57:05 +04:00
<a href= "#{html:a/@name}" > <xsl:value-of select= "html:a/text()" /> </a>
2011-01-28 15:52:18 +03:00
</li>
</xsl:for-each>
</ul>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</li>
</xsl:for-each>
</ul>
</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" />
2013-05-03 19:57:05 +04:00
<title > libvirt: <xsl:value-of select= "html:html/html:body/html:h1" /> </title>
2011-01-28 15:52:18 +03:00
<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" >
<div >
<input id= "query" name= "query" type= "text" size= "12" value= "" />
<input id= "submit" name= "submit" type= "submit" value= "Search" />
</div>
</form>
</div>
</div>
<div id= "body" >
<div id= "menu" >
2013-05-03 19:57:05 +04:00
<xsl:apply-templates select= "exsl:node-set($sitemap)/html:ul" mode= "menu" >
2011-01-28 15:52:18 +03:00
<xsl:with-param name= "pagename" select= "$pagename" />
<xsl:with-param name= "level" select= "0" />
</xsl:apply-templates>
</div>
<div id= "content" >
2013-05-03 19:57:05 +04:00
<xsl:apply-templates select= "/html:html/html:body/*" mode= "content" />
2011-01-28 15:52:18 +03:00
</div>
</div>
<div id= "footer" >
<p id= "sponsor" >
Sponsored by:<br />
<a href= "http://et.redhat.com/" > <img src= "{$href_base}et.png" alt= "Project sponsored by Red Hat Emerging Technology" /> </a>
</p>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>