<?xml version="1.0" encoding="UTF-8"?>
<!-- hlavička XSLT a volba výstupu do HTML a podobně -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:saxon="http://saxon.sf.net/" exclude-result-prefixes="saxon">
	<xsl:output method="html" version="4.01" encoding="UTF-8" indent="yes" doctype-public="-//W3C//DTD HTML 4.01//EN" 
		doctype-system="http://www.w3.org/TR/html4/strict.dtd" saxon:character-representation="native;entity;decimal" />
	
	<!-- XSLT bude operovat na elementech <page> zdrojového XML -->
	<xsl:template match="page"> 
		<!-- Pro ladící účely si vypíšeme právě zpracovávanou stranu -->
		<xsl:message>Zpracovavam: <xsl:value-of select="@file"/></xsl:message>
		<!-- Nastavíme výstupní dokument dle atributu file, odkazovaný xpath výraz musí být ve složených závorkách -->
		<xsl:result-document href="{@file}">
			<!-- Následuje běžné html obsahující xsl elementy pro vkládání obsahu ze zdrojového xsl -->
			<html>
				<head>
					<title>
						<!-- Určíme title strany, xsl element <value-of> očekává v atributu select vyraz xpath -->
						<xsl:value-of select="@title"/>
					</title>
				</head>
				<body>
					<div style="float:left; margin-right:5ex">
						Obsah
						<ul>
							<!-- na cely xml soubor necháme použít šablony v modu "obsah" -->
							<xsl:apply-templates select="/" mode="obsah">
								<!-- abychom mohli zvýraznit aktuálni stranu, předáme ji jako parametr -->
								<xsl:with-param name="actpage">
									<xsl:value-of select="@file"/>
								</xsl:with-param>
							</xsl:apply-templates>

						</ul>
					</div>
					<h1>
						<xsl:value-of select="@title"/>
					</h1>
					<!-- vlozime cely obsah aktuálního elementu <page> funkci node() -->
					<xsl:copy-of select="node()"/>
				</body>
			</html>
		</xsl:result-document>
	</xsl:template>

	<!-- šablona aktivní pouze v modu obsah -->
	<xsl:template match="page" mode="obsah">
		<!-- uvedeme přebíraný parametr -->
		<xsl:param name="actpage"/>
		<li>
			<!-- rozlišení aktivní a neaktivní strany dle předaného parametru -->
			<xsl:choose>
				<xsl:when test="@file=$actpage">
					<b>
						<xsl:value-of select="@title"/>
					</b>
				</xsl:when>
				<xsl:otherwise>
					<a href="{@file}">
						<xsl:value-of select="@title"/>
					</a>
				</xsl:otherwise>
			</xsl:choose>
		</li>
	</xsl:template>

</xsl:stylesheet>



