#12 Lepší ošetření chyb – vypíšeme varování a na výstup vložíme původní text bez zvýraznění syntaxe.
1 <project name="xhtml-web" basedir="." default="generuj">
3 <!-- Používané adresáře – např. zde můžete vstup a výstup nasměrovat do jiného verzovaného úložiště -->
4 <property name="vstup" value="vstup"/>
5 <property name="výstup" value="výstup"/>
6 <property name="šablona" value="šablona"/>
7 <property name="temp" value="temp"/>
8 <property name="funkce" value="${šablona}/funkce/build/classes"/>
10 <property name="vstupníPřípona" value=".xml"/>
11 <property name="výstupníPřípona" value=".xhtml"/>
13 <target name="generuj" description="Vygeneruje kompletní web." depends="agregace,stránky">
16 <target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah,kompiluj-funkce">
17 <xslt basedir="${vstup}" destdir="${výstup}" includes="*${vstupníPřípona}" extension="${výstupníPřípona}" style="${šablona}/stránka.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
18 <param name="konfigurák" expression="../${vstup}/"/>
19 <param name="podporaZaostalýchProhlížečů" expression="false"/>
20 <param name="vstupníPřípona" expression="${vstupníPřípona}"/>
21 <param name="výstupníPřípona" expression="${výstupníPřípona}"/>
22 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
23 <classpath location="${funkce}"/>
24 <factory name="net.sf.saxon.TransformerFactoryImpl">
25 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
30 <target name="agregace" description="Vytvoří agregované výstupy: RSS, Atom, Sitemap.xml." depends="kompiluj-funkce">
31 <!-- TODO: sloučit, zjednodušit, parametrizovat -->
34 <xslt in="${vstup}/web.conf" out="${výstup}/atom.xml" style="${šablona}/atom.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
35 <param name="vstupníPřípona" expression="${vstupníPřípona}"/>
36 <param name="výstupníPřípona" expression="${výstupníPřípona}"/>
37 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
38 <classpath location="${funkce}"/>
39 <factory name="net.sf.saxon.TransformerFactoryImpl">
40 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
45 <xslt in="${výstup}/atom.xml" out="${výstup}/rss.xml" style="${šablona}/rss.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
46 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
47 <classpath location="${funkce}"/>
48 <factory name="net.sf.saxon.TransformerFactoryImpl">
49 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
54 <xslt in="${výstup}/atom.xml" out="${výstup}/sitemap.xml" style="${šablona}/sitemap.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
55 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
56 <classpath location="${funkce}"/>
57 <factory name="net.sf.saxon.TransformerFactoryImpl">
58 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
62 <!-- Seznam stránek -->
63 <xslt in="${výstup}/atom.xml" out="${vstup}/.seznam.xml" style="${šablona}/seznam.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison">
64 <classpath location="/usr/share/java/saxonb-9.0.jar"/>
65 <classpath location="${funkce}"/>
66 <factory name="net.sf.saxon.TransformerFactoryImpl">
67 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/>
73 <target name="kompiluj-funkce" description="Přeloží funkce napsané v Javě.">
74 <mkdir dir="${funkce}"/>
76 srcdir="${šablona}/funkce/src"
78 includeAntRuntime="no">
82 <target name="statický-obsah" description="Kopíruje JS, CSS, obrázky atd.">
83 <copy todir="${výstup}">
84 <fileset dir="${vstup}" excludes="*.xml,makra.xsl,*.inc,web.conf"/>
88 <target name="čisti" description="Smaže vygenerovaný obsah.">
89 <delete includeemptydirs="true">
90 <fileset dir="${výstup}" includes="**/*"/>
91 <fileset dir="${funkce}" includes="**/*"/>