Vyčlenění uživatelských maker do samostatného souboru: #8 v0.1
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 30 Apr 2011 20:20:54 +0200
changeset 19b81b96475fe0
parent 18 45e41566f8a6
child 20 29361e026fa3
Vyčlenění uživatelských maker do samostatného souboru: #8
vstup/makra.xsl
šablona/makra.xsl
šablona/stránka.xsl
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/vstup/makra.xsl	Sat Apr 30 20:20:54 2011 +0200
     1.3 @@ -0,0 +1,33 @@
     1.4 +<?xml version="1.0" encoding="UTF-8"?>
     1.5 +<xsl:stylesheet version="2.0"
     1.6 +	xmlns="http://www.w3.org/1999/xhtml"
     1.7 +	xmlns:h="http://www.w3.org/1999/xhtml"
     1.8 +	xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
     1.9 +	xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
    1.10 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
    1.11 +	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    1.12 +	xmlns:fn="http://www.w3.org/2005/xpath-functions"
    1.13 +	xmlns:svg="http://www.w3.org/2000/svg"
    1.14 +	xmlns:xs="http://www.w3.org/2001/XMLSchema"
    1.15 +	exclude-result-prefixes="fn h s k m xs">
    1.16 +    
    1.17 +    <!-- Ukázka vlastního „makra“: -->
    1.18 +    <xsl:template match="m:měřák">
    1.19 +    	<xsl:variable name="hodnota" select="number(@hodnota)"/>
    1.20 +    	<xsl:variable name="šířkaGrafu" select="128"/>
    1.21 +		<xsl:choose>			
    1.22 +			<xsl:when test="$hodnota &gt;= 0 and $hodnota &lt;= 100">				
    1.23 +				<div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;">			
    1.24 +					<div style="margin: 0px; background-color: #A4E666; width: {@hodnota*$šířkaGrafu div 100}px; height: 16px;"><xsl:call-template name="varováníRetardace"/></div>
    1.25 +					<p style="margin: 0px; font-size: 12px; position: relative; top: -15px;">
    1.26 +						<xsl:value-of select="@hodnota"/>/100
    1.27 +					</p>	
    1.28 +				</div>
    1.29 +			</xsl:when>
    1.30 +			<xsl:otherwise>
    1.31 +				<xsl:message terminate="yes">Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta).</xsl:message>
    1.32 +			</xsl:otherwise>
    1.33 +		</xsl:choose>
    1.34 +	</xsl:template>
    1.35 +
    1.36 +</xsl:stylesheet>
    1.37 \ No newline at end of file
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/šablona/makra.xsl	Sat Apr 30 20:20:54 2011 +0200
     2.3 @@ -0,0 +1,1 @@
     2.4 +../vstup/makra.xsl
     2.5 \ No newline at end of file
     3.1 --- a/šablona/stránka.xsl	Sat Apr 30 19:34:55 2011 +0200
     3.2 +++ b/šablona/stránka.xsl	Sat Apr 30 20:20:54 2011 +0200
     3.3 @@ -9,21 +9,22 @@
     3.4  	xmlns:fn="http://www.w3.org/2005/xpath-functions"
     3.5  	xmlns:svg="http://www.w3.org/2000/svg"
     3.6  	xmlns:xs="http://www.w3.org/2001/XMLSchema"
     3.7 -	exclude-result-prefixes="fn h s k xs m">
     3.8 +	exclude-result-prefixes="fn h s k m xs">
     3.9  	<xsl:output 
    3.10  		method="xml" 
    3.11  		indent="yes" 
    3.12  		encoding="UTF-8"		
    3.13  		doctype-public="-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" 
    3.14  		doctype-system="http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"/>
    3.15 -	
    3.16 -	<!-- Vstupní adresář: -->
    3.17 +		
    3.18  	<xsl:param name="vstup" select="'../vstup/'"/>
    3.19  	<xsl:param name="vstupníPřípona" select="'.xml'"/>
    3.20  	<xsl:param name="výstupníPřípona" select="'.xhtml'"/>
    3.21  	<xsl:param name="vsuvkováPřípona" select="'.inc'"/>
    3.22  	<xsl:param name="podporaZaostalýchProhlížečů" select="false()" as="xs:boolean"/>
    3.23  	
    3.24 +	<xsl:include href="makra.xsl"/>
    3.25 +	
    3.26  	<!-- Celý dokument: -->
    3.27  	<xsl:template match="/">
    3.28  		<xsl:variable name="konfigurace" select="document(concat($vstup, 'web.conf'))"/>
    3.29 @@ -111,24 +112,5 @@
    3.30      		<xsl:apply-templates/>
    3.31      	</a>
    3.32      </xsl:template>
    3.33 -    
    3.34 -    <!-- Ukázka vlastního „makra“: -->
    3.35 -    <xsl:template match="m:měřák">
    3.36 -    	<xsl:variable name="hodnota" select="number(@hodnota)"/>
    3.37 -    	<xsl:variable name="šířkaGrafu" select="128"/>
    3.38 -		<xsl:choose>			
    3.39 -			<xsl:when test="$hodnota &gt;= 0 and $hodnota &lt;= 100">				
    3.40 -				<div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;">			
    3.41 -					<div style="margin: 0px; background-color: #A4E666; width: {@hodnota*$šířkaGrafu div 100}px; height: 16px;"><xsl:call-template name="varováníRetardace"/></div>
    3.42 -					<p style="margin: 0px; font-size: 12px; position: relative; top: -15px;">
    3.43 -						<xsl:value-of select="@hodnota"/>/100
    3.44 -					</p>	
    3.45 -				</div>
    3.46 -			</xsl:when>
    3.47 -			<xsl:otherwise>
    3.48 -				<xsl:message terminate="yes">Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta).</xsl:message>
    3.49 -			</xsl:otherwise>
    3.50 -		</xsl:choose>
    3.51 -	</xsl:template>
    3.52  
    3.53  </xsl:stylesheet>