vkládání zápatí, jmenné prostory, saxon
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 02 Apr 2011 23:54:23 +0200
changeset 2ab9099ff88fa
parent 1 a05c6f3cbc3e
child 3 1529a89b61a5
vkládání zápatí, jmenné prostory, saxon
build.xml
vstup/index.xml
vstup/zápatí.inc
šablona/stránka.xsl
     1.1 --- a/build.xml	Sat Apr 02 19:20:45 2011 +0200
     1.2 +++ b/build.xml	Sat Apr 02 23:54:23 2011 +0200
     1.3 @@ -1,13 +1,25 @@
     1.4  <project name="xhtml-web" basedir="." default="generuj">
     1.5  
     1.6 -	<!-- Používané adresáře (pravděpodobně nepotřebujete měnit) -->
     1.7 +	<!-- Používané adresáře – např. zde můžete vstup a výstup nasměrovat do jiného verzovaného úložiště -->
     1.8  	<property name="vstup" value="vstup"/>
     1.9  	<property name="výstup" value="výstup"/>
    1.10  	<property name="šablona" value="šablona"/>
    1.11  	<property name="temp" value="temp"/>
    1.12 +	<property name="funkce" value="${šablona}/funkce/build/classes"/>
    1.13  	
    1.14 -	<target name="generuj" description="">		
    1.15 -		<xslt basedir="${vstup}" destdir="${výstup}" includes="*.xml" extension=".xhtml" style="${šablona}/stránka.xsl"></xslt>
    1.16 +	<target name="generuj" description="Vygeneruje XHTML webové stránky.">		
    1.17 +		<xslt basedir="${vstup}" destdir="${výstup}" includes="*.xml" extension=".xhtml" style="${šablona}/stránka.xsl">
    1.18 +			<classpath location="/usr/share/java/saxonb-9.0.jar"/>
    1.19 +            <classpath location="${funkce}"/>
    1.20 +			
    1.21 +            <factory name="net.sf.saxon.TransformerFactoryImpl">
    1.22 +				<attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
    1.23 +			</factory>
    1.24 +			
    1.25 +			<sysproperty key="javax.xml.parsers.DocumentBuilderFactory" value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
    1.26 +			<sysproperty key="javax.xml.parsers.SAXParserFactory" value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
    1.27 +			<sysproperty key="org.apache.xerces.xni.parser.XMLParserConfiguration" value="org.apache.xerces.parsers.XIncludeParserConfiguration"/>			
    1.28 +		</xslt>
    1.29  	</target>
    1.30  	
    1.31  </project>
     2.1 --- a/vstup/index.xml	Sat Apr 02 19:20:45 2011 +0200
     2.2 +++ b/vstup/index.xml	Sat Apr 02 23:54:23 2011 +0200
     2.3 @@ -1,8 +1,12 @@
     2.4 -<stránka titulek="Chovatelská stanice">
     2.5 -    
     2.6 -    <p>
     2.7 -    	Vítejte na našich stránkách :-)
     2.8 -    	Jsme chovatelská stanice zaměřená na chov tučňáků.
     2.9 -    </p>
    2.10 +<stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/prostor">
    2.11 +	<nadpis>Chovatelská stanice</nadpis>
    2.12 +	<perex>Úvodní stránka našeho webu.</perex>
    2.13 +	
    2.14 +	<text xmlns="http://www.w3.org/1999/xhtml">
    2.15 +		<p>
    2.16 +			Vítejte na našich stránkách :-)
    2.17 +			Jsme chovatelská stanice zaměřená na chov tučňáků.
    2.18 +		</p>
    2.19 +    </text>
    2.20      
    2.21  </stránka>
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/vstup/zápatí.inc	Sat Apr 02 23:54:23 2011 +0200
     3.3 @@ -0,0 +1,8 @@
     3.4 +<stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/prostor">
     3.5 +	<text xmlns="http://www.w3.org/1999/xhtml">
     3.6 +		<p class="zápatí">
     3.7 +			Zápatí, které bude na <strong>všech</strong> stránkách.
     3.8 +		</p>
     3.9 +    </text>    
    3.10 +</stránka>
    3.11 +
     4.1 --- a/šablona/stránka.xsl	Sat Apr 02 19:20:45 2011 +0200
     4.2 +++ b/šablona/stránka.xsl	Sat Apr 02 23:54:23 2011 +0200
     4.3 @@ -1,41 +1,41 @@
     4.4  <?xml version="1.0" encoding="UTF-8"?>
     4.5  <xsl:stylesheet version="2.0"
     4.6  	xmlns="http://www.w3.org/1999/xhtml"
     4.7 -	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     4.8 -	<xsl:output method="xml" indent="yes" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" doctype-system="http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"/>
     4.9 +	xmlns:h="http://www.w3.org/1999/xhtml"
    4.10 +	xmlns:g="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/prostor"
    4.11 +	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    4.12 +	xmlns:fn="http://www.w3.org/2005/xpath-functions"
    4.13 +	exclude-result-prefixes="fn h g">
    4.14 +	<xsl:output 
    4.15 +		method="xml" 
    4.16 +		indent="yes" 
    4.17 +		encoding="UTF-8"		
    4.18 +		doctype-public="-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" 
    4.19 +		doctype-system="http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"/>
    4.20 +		
    4.21  	
    4.22  	<xsl:template match="/">
    4.23  		<html>
    4.24  			<head>
    4.25 -				<title><xsl:value-of select="stránka/@titulek"/></title>
    4.26 +				<title><xsl:value-of select="g:stránka/g:nadpis"/></title>				
    4.27  			</head>
    4.28  			<body>
    4.29 -				<xsl:choose>
    4.30 -					<xsl:when test="stránka/nadpis">						
    4.31 -						<!--
    4.32 -							Element nadpis je nepovinný, můžeme ho použít, pokud zde chceme formátovaný text
    4.33 -							nebo prostě jiný text než v titulku stránky.						
    4.34 -						-->
    4.35 -						<h1><xsl:value-of select="stránka/nadpis"/></h1>
    4.36 -					</xsl:when>
    4.37 -					<xsl:otherwise>
    4.38 -						<h1><xsl:value-of select="stránka/@titulek"/></h1>
    4.39 -					</xsl:otherwise>
    4.40 -				</xsl:choose>
    4.41 +				<h1><xsl:value-of select="g:stránka/g:nadpis"/></h1>				
    4.42  			
    4.43 -				<!--
    4.44 -					Vložíme obsah stránky:
    4.45 -				-->				
    4.46 -				<xsl:apply-templates select="stránka/node()"/>
    4.47 +				<!-- Vložíme obsah stránky: -->				
    4.48 +				<xsl:apply-templates select="g:stránka/h:text/node()"/>
    4.49 +				
    4.50 +				<!-- Vložíme zápatí: -->
    4.51 +				<xsl:apply-templates select="document(fn:encode-for-uri('../vstup/zápatí.inc'))/g:stránka/h:text/node()"/>
    4.52 +				
    4.53  			</body>
    4.54  		</html>
    4.55  	</xsl:template>
    4.56  	
    4.57 -	
    4.58  	<xsl:template match="node()|@*">
    4.59 -	  <xsl:copy>
    4.60 -		<xsl:apply-templates select="node()|@*"/>
    4.61 -	  </xsl:copy>
    4.62 -  	</xsl:template>
    4.63 +		<xsl:copy>
    4.64 +			<xsl:apply-templates select="node()|@*"/>
    4.65 +		</xsl:copy>
    4.66 +	</xsl:template>
    4.67  
    4.68  </xsl:stylesheet>