šablona/makra/diagramy.xsl
author František Kučera <franta-hg@frantovo.cz>
Fri, 06 Jan 2012 20:48:42 +0100
changeset 51 df1f942f7b69
child 52 a221785fe3ac
permissions -rw-r--r--
Přesun maker do samostatných souborů #8 + automatické generování seznamu maker → nová makra není potřeba nikde registrovat, prostě vytvoříme nový soubor v adresáři šablona/makra nebo vstup/makra a spustíme „ant makra“ – vygenruje se „šablona/.makra-seznam.xsl“ který se vloží do šablony stránky.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
	xmlns:j="java:cz.frantovo.xmlWebGenerator.Funkce"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	exclude-result-prefixes="m j">
    
    <!--
    	Diagramy/grafy
    	**************
    	Můžeme vložit diagram – obrázek.
    	Pro jejich vykreslování se používá Graphviz – diagramy zadáváme v jeho syntaxi.
    	*
    	@orientace „vodorovně“ nebo „svisle“ (výchozí)
    	@nadpis můžeme uvést název diagramu
    -->
    <xsl:template match="m:diagram">
    	<!-- 
    		TODO: umožnit vkládání diagramů ze souboru (@src) 
    	-->
    	<xsl:variable name="souborDiagramu" select="j:vytvořDiagram(text(), @orientace = 'vodorovně')"/>
    	<xsl:choose>
			<xsl:when test="$souborDiagramu">
				<div class="diagram">
					<a href="{$souborDiagramu}.svg">
						<img
							src="{$souborDiagramu}.svg" 
							alt="Diagram {$souborDiagramu} | pokud nevidíte obrázek, váš prohlížeč stojí za starou bačkoru"
							title="{@nadpis} (klikněte pro zobrazení samotného diagramu)"/>
					</a>
					<!-- 
						TODO: SVG+PNG:
						<xsl:variable name="svgDiagramu" select="document(concat($výstup, $souborDiagramu, '.svg'))/svg:svg"/>
						<object
							data="{$souborDiagramu}.svg"
							type="image/svg+xml"
							style="width: {$svgDiagramu/@width}; height: {$svgDiagramu/@height}">
								<img src="{$souborDiagramu}.png" alt="Diagram {$souborDiagramu}"/>
						</object>
					-->
					<xsl:if test="@nadpis">
						<p class="nadpis"><xsl:value-of select="@nadpis"/></p>
					</xsl:if>
				</div>
			</xsl:when>
			<xsl:otherwise>
				<xsl:message terminate="yes">Při vytváření diagramu došlo k chybě.</xsl:message>
			</xsl:otherwise>
    	</xsl:choose>
    </xsl:template>

</xsl:stylesheet>