šablona/makra/diagramy.xsl
changeset 51 df1f942f7b69
child 52 a221785fe3ac
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/šablona/makra/diagramy.xsl	Fri Jan 06 20:48:42 2012 +0100
@@ -0,0 +1,53 @@
+<?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>