Changeset 87:25dec6931f18
- Timestamp:
- 01/14/12 19:10:26 (13 years ago)
- Branch:
- default
- Files:
-
- 33 modified
Legend:
- Unmodified
- Added
- Removed
-
analýza/princip.dot
r6 r87 1 1 digraph princip { 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 rankdir=LR 3 4 gen [label="Generátor\n(Ant: build.xml)" shape="box"] 5 xml [label="Texty v XML"] 6 xhtml [label="XHTML web"] 7 xslt [label="XSLT šablony"] 8 9 atom [label="Atom"] 10 rss [label="RSS"] 11 sitemap [label="sitemap.xml"] 12 13 xml -> gen; 14 xslt -> gen; 15 16 gen -> xhtml; 17 gen -> atom; 18 gen -> rss; 19 gen -> sitemap; 20 20 } -
build.xml
r82 r87 27 27 <property name="funkce" value="${šablona}/funkce/build/classes"/> 28 28 <property name="čára" value="----------------------------------------------------------------"/> 29 29 30 30 <property name="vstupníPřípona" value=".xml"/> 31 31 <property name="výstupníPřípona" value=".xhtml"/> 32 33 <target name="generuj" description="Vygeneruje kompletní web." depends="licence,agregace,stránky"> 34 </target> 35 36 <target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah,syntaxe,kompiluj-funkce,makra"> 32 33 <target name="generuj" description="Vygeneruje kompletní web." depends="licence,agregace,stránky"/> 34 35 <target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah,syntaxe,kompiluj-funkce,makra"> 37 36 <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"> 38 37 <param name="podporaZaostalýchProhlížečů" expression="false"/> … … 42 41 <classpath location="${funkce}"/> 43 42 <factory name="net.sf.saxon.TransformerFactoryImpl"> 44 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 43 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 45 44 </factory> 46 45 </xslt> 47 46 </target> 48 47 49 48 <target name="syntaxe" description="Vygeneruje CSS styl pro zvýrazňování syntaxe" depends="kompiluj-funkce"> 50 49 <xslt in="${vstup}/web.conf" out="${výstup}/css/syntaxe.css" style="${šablona}/syntaxe.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> … … 52 51 <classpath location="${funkce}"/> 53 52 <factory name="net.sf.saxon.TransformerFactoryImpl"> 54 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 53 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 55 54 </factory> 56 55 </xslt> 57 56 </target> 58 57 59 58 <target name="makra" description="Vygeneruje seznam maker podle souborů v příslušných složkách" depends="kompiluj-funkce"> 60 59 <xslt in="${vstup}/web.conf" out="${seznamMaker}" style="${šablona}/makra.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> … … 62 61 <classpath location="${funkce}"/> 63 62 <factory name="net.sf.saxon.TransformerFactoryImpl"> 64 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 63 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 65 64 </factory> 66 65 </xslt> 67 66 </target> 68 67 69 68 <target name="agregace" description="Vytvoří agregované výstupy: RSS, Atom, Sitemap.xml." depends="kompiluj-funkce"> 70 69 <!-- TODO: sloučit, zjednodušit, parametrizovat --> 71 70 72 71 <!-- Atom --> 73 72 <xslt in="${vstup}/web.conf" out="${výstup}/atom.xml" style="${šablona}/atom.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> … … 77 76 <classpath location="${funkce}"/> 78 77 <factory name="net.sf.saxon.TransformerFactoryImpl"> 79 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 78 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 80 79 </factory> 81 80 </xslt> 82 81 83 82 <!-- RSS --> 84 <xslt in="${výstup}/atom.xml" out="${výstup}/rss.xml" style="${šablona}/rss.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> 83 <xslt in="${výstup}/atom.xml" out="${výstup}/rss.xml" style="${šablona}/rss.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> 85 84 <classpath location="/usr/share/java/saxonb-9.0.jar"/> 86 85 <classpath location="${funkce}"/> 87 86 <factory name="net.sf.saxon.TransformerFactoryImpl"> 88 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 87 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 89 88 </factory> 90 89 </xslt> 91 90 92 91 <!-- Sitemap.xml --> 93 92 <xslt in="${výstup}/atom.xml" out="${výstup}/sitemap.xml" style="${šablona}/sitemap.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> … … 95 94 <classpath location="${funkce}"/> 96 95 <factory name="net.sf.saxon.TransformerFactoryImpl"> 97 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 96 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 98 97 </factory> 99 98 </xslt> 100 99 101 100 <!-- Seznam stránek --> 102 101 <xslt in="${výstup}/atom.xml" out="${vstup}/.seznam.xml" style="${šablona}/seznam.xsl" processor="org.apache.tools.ant.taskdefs.optional.TraXLiaison"> … … 104 103 <classpath location="${funkce}"/> 105 104 <factory name="net.sf.saxon.TransformerFactoryImpl"> 106 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 105 <attribute name="http://saxon.sf.net/feature/allow-external-functions" value="true"/> 107 106 </factory> 108 107 </xslt> 109 108 110 109 </target> 111 112 <target name="kompiluj-funkce" description="Přeloží funkce napsané v Javě."> 110 111 <target name="kompiluj-funkce" description="Přeloží funkce napsané v Javě."> 113 112 <mkdir dir="${funkce}"/> 114 113 <javac 115 114 srcdir="${šablona}/funkce/src" 116 destdir="${funkce}" 115 destdir="${funkce}" 117 116 includeAntRuntime="no"> 118 117 </javac> 119 118 </target> 120 119 121 120 <target name="statický-obsah" description="Kopíruje JS, CSS, obrázky atd."> 122 121 <copy todir="${výstup}"> … … 124 123 </copy> 125 124 </target> 126 125 127 126 <target name="čisti" description="Smaže vygenerovaný obsah."> 128 127 <delete includeemptydirs="true"> … … 132 131 </delete> 133 132 </target> 134 133 135 134 <target name="prohlédni" description="Otevře vygenerované stránky ve www prohlížeči."> 136 135 <exec executable="x-www-browser" os="Linux"> … … 144 143 </javadoc> 145 144 </target> 146 145 147 146 <target name="licence"> 148 147 <echo>${čára} … … 153 152 ${čára}</echo> 154 153 </target> 155 154 156 155 <target name="licence-gpl"> 157 156 <loadfile property="licence.txt" srcFile="licence/licence.txt"/> … … 163 162 <echo>${čára}</echo> 164 163 </target> 165 164 166 165 </project> 166 -
vstup/index.xml
r23 r87 11 11 Vítejte na našich stránkách :-) 12 12 Jsme chovatelská stanice zaměřená na chov tučňáků. 13 14 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mi nisl, tincidunt in viverra vitae, pharetra nec urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer gravida gravida convallis. Phasellus erat ligula, vestibulum vel commodo ac, fringilla quis lorem. Morbi a massa a ligula tincidunt mattis et et felis. Vivamus a quam nulla, at vulputate nisi. Duis gravida placerat luctus. Phasellus vehicula lobortis arcu vitae hendrerit. Maecenas ut molestie elit. Aliquam erat volutpat. Curabitur sed euismod nisl. Mauris molestie tristique nulla, eu pellentesque sem tincidunt non.</p> 13 14 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mi nisl, tincidunt in viverra vitae, pharetra nec urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer gravida gravida convallis. Phasellus erat ligula, vestibulum vel commodo ac, fringilla quis lorem. Morbi a massa a ligula tincidunt mattis et et felis. Vivamus a quam nulla, at vulputate nisi. Duis gravida placerat luctus. Phasellus vehicula lobortis arcu vitae hendrerit. Maecenas ut molestie elit. Aliquam erat volutpat. Curabitur sed euismod nisl. Mauris molestie tristique nulla, eu pellentesque sem tincidunt non. 15 </p> 15 16 <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="služby">služby</m:a> sed orci convallis tincidunt sed sed nisl. Aenean id nibh lorem, eget tempor mauris. Duis diam dui, ullamcorper quis iaculis eget, blandit non dolor. Vestibulum pretium lorem aliquet libero tristique vehicula. Quisque sit amet odio risus, sed tincidunt augue. Proin tincidunt eros eu sem sodales sit amet sollicitudin libero vestibulum. Proin sed nunc elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis, nisl ut sodales sodales, quam lacus elementum magna, nec blandit leo enim id odio. Integer risus leo, sagittis vitae vestibulum vitae, elementum eu eros. </p> 16 17 <p>Fusce eu libero sit amet mauris molestie suscipit. Integer porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis magna sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p> 17 18 </text> 18 19 19 20 </stránka> 21 -
vstup/kontakt.xml
r70 r87 21 21 Zde je orgranizační struktura naší skvělé firmy: 22 22 </p> 23 23 24 24 <m:diagram nadpis="Naše organizační struktura"> 25 25 node [shape="box"]; 26 26 27 27 tovarnik [label="pan továrník\n(majitel)"]; 28 28 reditel [label="pan ředitel"]; … … 38 38 39 39 <h2>Procesy</h2> 40 40 41 41 <p> 42 42 Ve firmě máme spoustu procesů. Jeden z nich vypadá takto: 43 43 </p> 44 44 45 45 <m:diagram orientace="vodorovně"> 46 46 A -> B; … … 51 51 Ale protože je to tajné, tak vám neřekneme, co A, B a C znamenají. 52 52 </p> 53 53 54 54 <h2>Telefonní seznam</h2> 55 55 56 56 <p> 57 57 Můžete nám kdykoli zavolat: 58 58 </p> 59 59 60 60 <m:tabulka src="telefonní-seznam.csv"/> 61 61 … … 63 63 64 64 </stránka> 65 -
vstup/makra/měřák.xsl
r51 r87 11 11 xmlns:xs="http://www.w3.org/2001/XMLSchema" 12 12 exclude-result-prefixes="fn h s k m xs"> 13 14 15 16 17 18 <xsl:choose> 19 <xsl:when test="$hodnota >= 0 and $hodnota <= 100"> 20 <div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;"> 13 14 <!-- Ukázka vlastního „makra“: --> 15 <xsl:template match="m:měřák"> 16 <xsl:variable name="hodnota" select="number(@hodnota)"/> 17 <xsl:variable name="šířkaGrafu" select="128"/> 18 <xsl:choose> 19 <xsl:when test="$hodnota >= 0 and $hodnota <= 100"> 20 <div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;"> 21 21 <div style="margin: 0px; background-color: #A4E666; width: {@hodnota*$šířkaGrafu div 100}px; height: 16px;"><xsl:call-template name="varováníRetardace"/></div> 22 22 <p style="margin: 0px; font-size: 12px; position: relative; top: -15px;"> 23 23 <xsl:value-of select="@hodnota"/>/100 24 </p> 24 </p> 25 25 </div> 26 26 </xsl:when> -
vstup/matrixový-spořič.sh
r83 r87 14 14 ;; 15 15 esac 16 -
vstup/odkazy.xml
r85 r87 7 7 8 8 <text xmlns="http://www.w3.org/1999/xhtml"> 9 9 10 10 <p>Tady jsou nějaké naše odkazy. Lorem ipsum dolor sit amet, consectetur adipiscing elit<m:a href="16" typ="trac" style="text-decoration: none;">.</m:a> Sed mi nisl, tincidunt in viverra vitae, pharetra nec urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer gravida gravida convallis. Phasellus erat ligula, vestibulum vel commodo ac, fringilla quis lorem. Morbi a massa a ligula tincidunt mattis et et felis. Vivamus a quam nulla, at vulputate nisi. Duis gravida placerat luctus. Phasellus vehicula lobortis arcu vitae hendrerit. Maecenas ut molestie elit. Aliquam erat volutpat. Curabitur sed euismod nisl. Mauris molestie tristique nulla, eu pellentesque sem tincidunt non.</p> 11 11 12 12 <ul> 13 13 <li><m:a href="kontakt">Kontakt</m:a> – interní odkaz</li> … … 18 18 <li><m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a> – encyklopedie Wikipedia – anglicky</li> 19 19 </ul> 20 20 21 21 <p> 22 22 Podporované typy <m:a href="makro/a" typ="trac">odkazů</m:a> zapisujeme takto: 23 23 </p> 24 24 25 25 <m:pre jazyk="xml"><![CDATA[ 26 26 <m:a href="kontakt">Kontakt</m:a> … … 35 35 Libovolné odkazy se zadávají pomocí úplně obyčejné XHTML značky, jak jste zvyklí :-) 36 36 </p> 37 37 38 38 <m:pre jazyk="xml"><![CDATA[ 39 39 <a href="http://example.com/">nějaká stránka</a> 40 40 <a href="mailto:anonym@example.com">nějaký e-mail</a> 41 ]]></m:pre> 42 41 ]]></m:pre> 42 43 43 <p> 44 44 Uvnitř textu odkazů (ať už těch vložených pomocí <m:a href="makro" typ="trac">makra</m:a> nebo standardních z XHTML) … … 48 48 </p> 49 49 50 50 </text> 51 51 52 52 </stránka> 53 -
vstup/produkty.xml
r84 r87 7 7 8 8 <text xmlns="http://www.w3.org/1999/xhtml"> 9 9 10 10 <p>Naše produkty jsou prostě úžasné. To, co vám slíbíme, vám nikdo jiný nemůže dát. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mi nisl, tincidunt in viverra vitae, pharetra nec urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer gravida gravida convallis. Phasellus erat ligula, vestibulum vel commodo ac, fringilla quis lorem. Morbi a massa a ligula tincidunt mattis et et felis. Vivamus a quam nulla, at vulputate nisi. Duis gravida placerat luctus. Phasellus vehicula lobortis arcu vitae hendrerit. Maecenas ut molestie elit. Aliquam erat volutpat. Curabitur sed euismod nisl. Mauris molestie tristique nulla, eu pellentesque sem tincidunt non.</p> 11 11 <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem sed orci convallis tincidunt sed sed nisl. Aenean id nibh lorem, eget tempor mauris. Duis diam dui, ullamcorper quis iaculis eget, blandit non dolor. Vestibulum pretium lorem aliquet libero tristique vehicula. Quisque sit amet odio risus, sed tincidunt augue. Proin tincidunt eros eu sem sodales sit amet sollicitudin libero vestibulum. Proin sed nunc elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis, nisl ut sodales sodales, quam lacus elementum magna, nec blandit leo enim id odio. Integer risus leo, sagittis vitae vestibulum vitae, elementum eu eros. </p> 12 12 13 13 <h2>Tučňák domácí</h2> 14 14 <p>Fusce eu libero sit amet mauris molestie suscipit. Integer porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis <m:a href="šachy">magna</m:a> sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p> 15 15 16 16 <p>Vhodnost zvířete do domácnosti:</p> 17 17 <m:měřák hodnota="95"/> 18 18 <p><m:šifra>Tučňáky si prostě oblíbíte!</m:šifra></p> 19 19 20 20 <h2>Panda malá</h2> 21 21 <p>Vivamus nec dictum dolor. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. Integer luctus erat vel arcu molestie ac dapibus dolor pretium. Curabitur eget augue non ipsum pulvinar venenatis eget et lectus. Proin fringilla aliquet sapien, non luctus est lobortis vel. Nunc vehicula volutpat varius. Aliquam suscipit accumsan sollicitudin. Morbi ultricies, mauris id elementum pellentesque, nunc dolor viverra nisl, sit amet consequat velit libero at ligula. Nulla luctus rhoncus tortor nec sollicitudin. Vivamus posuere sodales ipsum, hendrerit cursus felis pharetra sit amet. Nunc interdum facilisis massa ac congue.</p> 22 22 <p>Aliquam erat volutpat. Quisque vitae libero est. <m:šifra>Panda malá je menší než panda velká.</m:šifra> Aliquam erat volutpat. Integer elementum, nisl nec lacinia facilisis, dolor tellus varius eros, sit amet facilisis sem sapien vitae nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer rutrum sodales venenatis. Donec mollis aliquet enim, id venenatis urna faucibus sed. Suspendisse pharetra neque et nibh tincidunt suscipit. Morbi ut justo sit amet lectus faucibus tempor quis non libero. Aenean in dolor sem, in lacinia sem.</p> 23 23 24 24 <p>Vhodnost zvířete do domácnosti:</p> 25 25 <m:měřák hodnota="80"/> 26 26 27 27 <!-- 28 28 Můžeme vložit vycpávkový text Lorem Ipsum: … … 32 32 Pozor: v současné verzi se stahuje ze Sítě při každém generování. 33 33 --> 34 35 34 35 </text> 36 36 37 37 </stránka> 38 -
vstup/služby.xml
r63 r87 9 9 10 10 <p>Naše služby jsou ty nejlepší ze všech. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mi nisl, tincidunt in viverra vitae, pharetra nec urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer gravida gravida convallis. Phasellus erat ligula, vestibulum vel commodo ac, fringilla quis lorem. Morbi a massa a ligula tincidunt mattis et et felis. Vivamus a quam nulla, at vulputate nisi. Duis gravida placerat luctus. Phasellus vehicula lobortis arcu vitae hendrerit. Maecenas ut molestie elit. Aliquam erat volutpat. Curabitur sed euismod nisl. Mauris molestie tristique nulla, eu pellentesque sem tincidunt non.</p> 11 <p>Morbi et magna a ligula pulvinar posuere. Podívejte se také na naše <m:a href="zdrojáky">zdrojové kódy</m:a>. Pellentesque sit amet sem sed orci convallis tincidunt sed sed nisl. Aenean id nibh lorem, eget tempor mauris. Duis diam dui, ullamcorper quis iaculis eget, blandit non dolor. Vestibulum pretium lorem aliquet libero tristique vehicula. Quisque sit amet odio risus, sed tincidunt augue. Proin tincidunt eros eu sem sodales sit amet sollicitudin libero vestibulum. Proin sed nunc elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis, nisl ut sodales sodales, quam lacus elementum magna, nec blandit leo enim id odio. Integer risus leo, sagittis vitae vestibulum vitae, elementum eu eros. 12 11 <p>Morbi et magna a ligula pulvinar posuere. Podívejte se také na naše <m:a href="zdrojáky">zdrojové kódy</m:a>. Pellentesque sit amet sem sed orci convallis tincidunt sed sed nisl. Aenean id nibh lorem, eget tempor mauris. Duis diam dui, ullamcorper quis iaculis eget, blandit non dolor. Vestibulum pretium lorem aliquet libero tristique vehicula. Quisque sit amet odio risus, sed tincidunt augue. Proin tincidunt eros eu sem sodales sit amet sollicitudin libero vestibulum. Proin sed nunc elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis, nisl ut sodales sodales, quam lacus elementum magna, nec blandit leo enim id odio. Integer risus leo, sagittis vitae vestibulum vitae, elementum eu eros.</p> 12 13 13 <h2>Pravidelné krmení ptáků</h2> 14 14 <p>Fusce eu libero sit amet mauris molestie suscipit. <m:a href="java.lang.Integer" typ="javadoc">Integer</m:a> porttitor euismod luctus. Sed elementum quam et quam pharetra tincidunt. Pellentesque vitae augue quis mi blandit dapibus. Vestibulum iaculis magna sit amet nisl tristique at consectetur odio blandit. Proin aliquam lectus ac arcu condimentum tempus. Suspendisse potenti. Suspendisse porttitor euismod accumsan. Sed nibh lacus, laoreet id consequat gravida, eleifend eget lectus. Curabitur accumsan, nisi at elementum aliquam, nisl nulla volutpat lorem, ac elementum metus lacus eget lectus. Praesent odio nulla, porttitor vitae hendrerit vel, ullamcorper in velit. Sed in est ipsum, iaculis accumsan sem. Integer pretium ultrices justo a mattis. Nullam id lacus in lectus bibendum tempor. Nulla non viverra eros. Praesent scelerisque, nisi et placerat convallis, nisi nulla lobortis mauris, eu ultricies est mi ac orci. Suspendisse ullamcorper dapibus interdum. Curabitur ac metus eros, sed venenatis sapien.</p> 15 15 16 16 <m:tabulka> 17 17 Velikost ptáka Cena za jedno krmení … … 20 20 velký 1000 21 21 </m:tabulka> 22 22 23 23 <p>Dodáváme pouze prvotřídní krmivo.</p> 24 24 25 25 <m:wiki> 26 26 Pravidelné krmení savců … … 33 33 Dodáváme pouze prvotřídní krmivo. 34 34 </m:wiki> 35 36 37 35 38 36 <h2>Jednorázová výměna podestýlky</h2> 39 37 <p>Vivamus nec dictum dolor. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. <m:a href="java.lang.Integer" verze="6" typ="javadoc">Integer</m:a> luctus erat vel arcu molestie ac dapibus dolor pretium. Curabitur eget augue non ipsum pulvinar venenatis eget et lectus. Proin fringilla aliquet sapien, non luctus est lobortis vel. Nunc vehicula volutpat varius. Aliquam suscipit accumsan sollicitudin. Morbi ultricies, mauris id elementum pellentesque, nunc dolor viverra nisl, sit amet consequat velit libero at ligula. Nulla luctus rhoncus tortor nec sollicitudin. Vivamus posuere sodales ipsum, hendrerit cursus felis pharetra sit amet. Nunc interdum facilisis massa ac congue.</p> 40 38 <p>Účtováno hodinovou sazbou. Cena je závislá na míře zahnojení systému. Někdy je nutná úplně nová stavba klece nebo kotce.</p> 41 39 </text> 42 40 43 41 </stránka> 42 -
vstup/web.conf
r31 r87 6 6 <email>nereknu_nechci_spam@example.com</email> 7 7 </autor> 8 8 9 9 <!-- TODO: XML Schéma a popisy v něm--> 10 10 11 11 <!-- Základní URL našeho webu, mělo by končit lomítkem – pro generování RSS/Atom --> 12 12 <url>https://frantovo.cz/projekty/xml-web-generator/demo1/</url> 13 13 14 14 <!-- ID našeho webu (každý by si měl vygenerovat svoje) – pro Atom --> 15 15 <uuid>399a714c-956e-444c-a8f4-afe8f0df802a</uuid> 16 16 17 17 <!-- Kód našeho webu, použije se jako součást identifikátoru položek v RSS/Atomu --> 18 18 <kod>PokusnyWeb123</kod> 19 19 20 20 <!-- 21 21 Odkazy na JavaScripty a kaskádové styly, které se vloží do hlavičky každé stránky. … … 25 25 <css>css/syntaxe.css</css> 26 26 <js>js/skript.js</js> 27 27 28 28 </web> 29 -
vstup/zdrojáky.xml
r83 r87 7 7 8 8 <text xmlns="http://www.w3.org/1999/xhtml"> 9 9 10 10 <p>Zde je malá ukázka našich zdrojových kódů. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mi nisl, tincidunt in viverra vitae, pharetra nec urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer gravida gravida convallis. Phasellus erat ligula, vestibulum vel commodo ac, fringilla quis lorem. Morbi a massa a ligula tincidunt mattis et et felis. Vivamus a quam nulla, at vulputate nisi. Duis gravida placerat luctus. Phasellus vehicula lobortis arcu vitae hendrerit. Maecenas ut molestie elit. Aliquam erat volutpat. Curabitur sed euismod nisl. Mauris molestie tristique nulla, eu pellentesque sem tincidunt non.</p> 11 <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="odkazy" title="Ukázka odkazů">sed orci</m:a> convallis tincidunt sed sed nisl. Aenean id nibh lorem, eget tempor mauris. Duis diam dui, ullamcorper quis iaculis eget, blandit non dolor. Vestibulum pretium lorem aliquet libero tristique vehicula. Quisque sit amet odio risus, sed tincidunt augue. Proin tincidunt eros eu sem sodales sit amet sollicitudin libero vestibulum. Proin sed nunc elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis, nisl ut sodales sodales, quam lacus elementum magna, nec blandit leo enim id odio. Integer risus leo, sagittis vitae vestibulum vitae, elementum eu eros. 12 11 <p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="odkazy" title="Ukázka odkazů">sed orci</m:a> convallis tincidunt sed sed nisl. Aenean id nibh lorem, eget tempor mauris. Duis diam dui, ullamcorper quis iaculis eget, blandit non dolor. Vestibulum pretium lorem aliquet libero tristique vehicula. Quisque sit amet odio risus, sed tincidunt augue. Proin tincidunt eros eu sem sodales sit amet sollicitudin libero vestibulum. Proin sed nunc elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mollis, nisl ut sodales sodales, quam lacus elementum magna, nec blandit leo enim id odio. Integer risus leo, sagittis vitae vestibulum vitae, elementum eu eros.</p> 12 13 13 <h2>C++</h2> 14 14 <p>Ukázka převzatá ze stránky <a href="https://podnik.frantovo.cz/s/zdrojovy-kod">Zdrojový kód</a>:</p> 15 15 16 16 <m:pre jazyk="cpp"><![CDATA[# include <iostream> 17 17 using namespace std; … … 19 19 int main(int argc, char *argv[]) { 20 20 21 cout << "Chcete slyšet vtip?" << endl; 21 cout << "Chcete slyšet vtip?" << endl; 22 22 char odpoved = cin.get(); 23 23 cin.get(); 24 24 25 25 if (odpoved == 'a') { 26 26 cout … … 38 38 return 1; 39 39 } 40 }]]></m:pre> 41 40 }]]></m:pre> 41 42 42 <h2>Java</h2> 43 43 44 44 <m:pre jazyk="java">public class Pokus { 45 45 // komentář … … 48 48 49 49 <h2>XML</h2> 50 50 51 51 <m:pre jazyk="xml"><![CDATA[<xmlDokument> 52 52 <element1>toto je <strong>pěkné</strong> XML!!!</element1> … … 56 56 57 57 <h2>BASH</h2> 58 58 59 59 <m:pre jazyk="bash" src="matrixový-spořič.sh" odkaz="ano"/> 60 60 61 61 <h2>Chyby</h2> 62 62 63 63 <p>Následující ukázky kódu nebudou zvýrazněné:</p> 64 64 65 65 <m:pre jazyk="xxxxxxxx">Nepodporovaný jazyk → syntaxe nebude zvýrazněna <blee/></m:pre> 66 66 67 67 <m:pre>#!/bin/bash 68 68 # tento kód nebude zvýrazněn, protože atribut „jazyk“ chybí … … 70 70 71 71 <h2>Objekty</h2> 72 72 73 73 <p> 74 74 Při vývoji softwaru používáme <abbr title="objektově orientované programování">OOP</abbr>. … … 76 76 77 77 <m:diagram src="kočka-a-pes-oop.dot" nadpis="Třídy Kočka a Pes jsou potomkem třídy Zvíře"/> 78 79 78 79 </text> 80 80 81 81 </stránka> 82 -
vstup/záhlaví.inc
r18 r87 6 6 <m:a href="index" title="Klikněte pro přechod na úvodní stránku"><img src="grafika/logo.png" alt="XML Web generátor"/></m:a> 7 7 </p> 8 </text> 8 </text> 9 9 </stránka> 10 10 -
vstup/zápatí.inc
r18 r87 4 4 Poháněno tučňákem. Vytvořeno pomocí <a href="https://trac.frantovo.cz/xml-web-generator/">XML Web generátoru</a>. Používá XML, XSLT, Ant a další dobroty. 5 5 </p> 6 </text> 6 </text> 7 7 </stránka> 8 8 -
vstup/šachy.xml
r58 r87 4 4 <nadpis>Šachy</nadpis> 5 5 <perex>Královská hra.</perex> 6 6 7 7 <text xmlns="http://www.w3.org/1999/xhtml"> 8 8 9 9 <m:tabulka> 10 10 a b c d e f g h … … 18 18 1 ♜ ♞ ♝ ♚ ♛ ♝ ♞ ♜ 19 19 </m:tabulka> 20 20 21 21 </text> 22 22 23 23 </stránka> 24 -
šablona/atom.xsl
r61 r87 26 26 exclude-result-prefixes="fn s k j"> 27 27 <xsl:output method="xml" indent="yes" encoding="UTF-8"/> 28 28 29 29 <xsl:param name="vstupníPřípona" select="'.xml'"/> 30 30 <xsl:param name="výstupníPřípona" select="'.xhtml'"/> 31 31 32 32 <xsl:template match="/"> 33 33 34 34 <xsl:if test="k:web/k:uuid = '399a714c-956e-444c-a8f4-afe8f0df802a'"> 35 35 <xsl:message>Vygenerujte si prosím svoje vlastní UUID pro agregované výstupy a uložte ho do souboru web.conf.</xsl:message> 36 36 <!-- Nové UUID si můžete vygenerovat např. příkazem: uuidgen --> 37 37 </xsl:if> 38 38 39 39 <feed> 40 40 <title><xsl:value-of select="k:web/k:název"/></title> 41 41 <subtitle><xsl:value-of select="k:web/k:podtitul"/></subtitle> 42 42 <link rel="self" href="{concat(k:web/k:url, 'atom.xml')}"/> 43 <link href="{k:web/k:url}"/> 44 <updated><xsl:value-of select="current-dateTime()"/></updated> 43 <link href="{k:web/k:url}"/> 44 <updated><xsl:value-of select="current-dateTime()"/></updated> 45 45 <author> 46 46 <name><xsl:value-of select="k:web/k:autor/k:jméno"/></name> … … 48 48 </author> 49 49 <id><xsl:value-of select="concat('urn:uuid:', k:web/k:uuid)"/></id> 50 50 51 51 <xsl:variable name="konfigurace" select="/"/> 52 52 <xsl:for-each select="collection(concat('../vstup/?select=*', $vstupníPřípona))[empty(s:stránka/s:skrytá) or not(s:stránka/s:skrytá)]"> … … 55 55 <xsl:variable name="soubor" select="replace(tokenize(document-uri(.), '/')[last()], $vstupníPřípona, '')"/> 56 56 <link href="{concat($konfigurace/k:web/k:url, encode-for-uri($soubor), $výstupníPřípona)}" /> 57 <id><xsl:value-of select="concat('urn:', $konfigurace/k:web/k:kod ,':strana:', encode-for-uri($soubor))"/></id> 57 <id><xsl:value-of select="concat('urn:', $konfigurace/k:web/k:kod ,':strana:', encode-for-uri($soubor))"/></id> 58 58 <updated><xsl:value-of select="j:posledníZměna(document-uri(.))"/></updated> 59 59 <summary><xsl:value-of select="s:stránka/s:perex"/></summary> … … 63 63 </feed> 64 64 </xsl:template> 65 65 66 66 </xsl:stylesheet> 67 -
šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java
r76 r87 29 29 */ 30 30 public class Funkce { 31 31 32 32 /** 33 33 * Zjištuje, kdy byl naposledy daný soubor změněn. … … 42 42 } 43 43 } 44 -
šablona/funkce/src/cz/frantovo/xmlWebGenerator/NástrojeCLI.java
r76 r87 31 31 */ 32 32 public class NástrojeCLI { 33 33 34 34 private static final String PŘÍKAZ_WHICH = "which"; 35 35 … … 50 50 } 51 51 } 52 52 53 53 /** 54 54 * Čte proud dat dokud to jde a výsledek pak vrátí jako text. … … 72 72 } 73 73 } 74 -
šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/Diagram.java
r76 r87 118 118 } 119 119 } 120 -
šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/Pre.java
r76 r87 87 87 } 88 88 } 89 -
šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/Wiki.java
r76 r87 72 72 } 73 73 } 74 -
šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/package-info.java
r82 r87 5 5 */ 6 6 package cz.frantovo.xmlWebGenerator.makra; 7 -
šablona/makra.xsl
r61 r87 22 22 <xsl:output method="xml" indent="yes" encoding="UTF-8" /> 23 23 <xsl:namespace-alias stylesheet-prefix="XSL" result-prefix="xsl"/> 24 24 25 25 <xsl:template match="/"> 26 26 <XSL:stylesheet version="2.0"> … … 32 32 </xsl:comment> 33 33 <xsl:text> 34 34 </xsl:text> 35 35 <!-- Makra dodávaná jako součást programu: --> 36 36 <xsl:for-each select="collection('./makra/?select=*.xsl')"> 37 37 <XSL:include href="{document-uri(.)}"/> 38 38 </xsl:for-each> 39 39 40 40 <!-- Uživatelská makra: --> 41 41 <xsl:for-each select="collection('../vstup/makra/?select=*.xsl')"> … … 44 44 </XSL:stylesheet> 45 45 </xsl:template> 46 46 47 47 </xsl:stylesheet> 48 -
šablona/makra/diagramy.xsl
r76 r87 23 23 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 24 24 exclude-result-prefixes="m j"> 25 25 26 26 <!-- 27 27 Diagramy/grafy … … 48 48 </xsl:call-template> 49 49 </xsl:template> 50 51 50 51 <xsl:template name="vložDiagram"> 52 52 <xsl:param name="zadání"/> 53 53 <xsl:param name="kompletní"/> … … 90 90 91 91 </xsl:stylesheet> 92 -
šablona/makra/odkazy.xsl
r81 r87 230 230 231 231 </xsl:stylesheet> 232 -
šablona/makra/vycpávka.xsl
r62 r87 31 31 --> 32 32 <xsl:template match="m:vycpávka"> 33 34 35 36 37 38 39 40 41 42 33 <!-- 34 TODO: stáhnout jen jednou, uložit do souboru a při dalších generováních brát z něj. 35 http://www.w3.org/TR/xslt20/#result-trees 36 --> 37 <xsl:message>Stahuji vycpávkový text z http://lipsum.lipsum.com/</xsl:message> 38 <xsl:variable name="prostýText" select="document(concat('http://lipsum.lipsum.com/feed/xml?amount=', @odstavců, '&what=paragraphs'))/feed/lipsum"/> 39 <xsl:for-each select="tokenize($prostýText, '\n')"> 40 <p><xsl:value-of select="."/></p> 41 </xsl:for-each> 42 </xsl:template> 43 43 44 44 </xsl:stylesheet> 45 -
šablona/makra/wiki.xsl
r76 r87 44 44 45 45 </xsl:stylesheet> 46 -
šablona/makra/zvýraznění-syntaxe.xsl
r76 r87 24 24 exclude-result-prefixes="m j"> 25 25 26 27 28 29 30 31 32 33 34 --> 35 36 37 38 39 40 41 42 43 44 26 <!-- 27 Zvýraznění syntaxe zdrojového kódu 28 ********************************** 29 Ukázky zdrojového kódu budou mít zvýrazněnou syntaxi pro větší přehlednost. 30 * 31 @jazyk programovací jazyk, ve kterém je daný zdrojový kód 32 @src zdrojový kód nemusí být uvnitř elementu, ale můžeme se odkázat na externí soubor 33 @odkaz nastavíme hodnotu „ano“, pokud chceme vložit odkaz na soubor je stažení 34 --> 35 <xsl:template match="m:pre"> 36 <xsl:call-template name="zvýrazniZdroják"> 37 <xsl:with-param name="zdroják" select="text()"/> 38 </xsl:call-template> 39 </xsl:template> 40 41 <xsl:template match="m:pre[@src]"> 42 <xsl:call-template name="zvýrazniZdroják"> 43 <xsl:with-param name="zdroják" select="m:načti-textový-soubor(@src)"/> 44 </xsl:call-template> 45 45 <xsl:if test="@odkaz = 'ano'"> 46 46 <p class="zdroják-ke-stažení"> … … 48 48 </p> 49 49 </xsl:if> 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 </xsl:choose> 65 50 </xsl:template> 51 52 <xsl:template name="zvýrazniZdroják"> 53 <xsl:param name="zdroják"/> 54 <xsl:variable name="zvýrazněnýZdroják" select="j:zvýrazniSyntaxi($zdroják, @jazyk)"/> 55 <xsl:choose> 56 <xsl:when test="$zvýrazněnýZdroják"> 57 <xsl:comment>Následující kód je v jazyce <xsl:value-of select="@jazyk"/></xsl:comment> 58 <xsl:value-of disable-output-escaping="yes" select="$zvýrazněnýZdroják"/> 59 </xsl:when> 60 <xsl:otherwise> 61 <xsl:message>Zvýraznění syntaxe se nezdařilo → bude vložen původní nezvýrazněný kód.</xsl:message> 62 <pre><xsl:value-of select="$zdroják"/></pre> 63 </xsl:otherwise> 64 </xsl:choose> 65 </xsl:template> 66 66 67 67 </xsl:stylesheet> 68 -
šablona/rss.xsl
r61 r87 25 25 exclude-result-prefixes="fn j a"> 26 26 <xsl:output method="xml" indent="yes" encoding="UTF-8"/> 27 28 <xsl:template match="/"> 27 28 <xsl:template match="/"> 29 29 <rss version="2.0"> 30 30 <channel> … … 32 32 <title><xsl:value-of select="a:feed/a:title"/></title> 33 33 <link><xsl:value-of select="$url"/></link> 34 <description><xsl:value-of select="a:feed/a:subtitle"/></description> 34 <description><xsl:value-of select="a:feed/a:subtitle"/></description> 35 35 <atom:link rel="self" href="{$url}rss.xml"/> 36 36 <xsl:apply-templates select="a:feed/a:entry"/> 37 37 </channel> 38 </rss> 38 </rss> 39 39 </xsl:template> 40 40 41 41 <xsl:template match="a:entry"> 42 <item> 42 <item> 43 43 <title><xsl:value-of select="a:title"/></title> 44 44 <link><xsl:value-of select="a:link/@href"/></link> … … 46 46 <guid><xsl:value-of select="a:id"/></guid> 47 47 <pubDate><xsl:value-of select="format-dateTime(a:updated, 48 49 50 51 'US')"/></pubDate> 48 '[FNn,*-3], [D01] [MNn,*-3] [Y0001] [H01]:[m01]:[s01] [Z]', 49 'en', 50 'ISO', 51 'US')"/></pubDate> 52 52 </item> 53 53 </xsl:template> 54 54 55 55 </xsl:stylesheet> 56 -
šablona/seznam.xsl
r61 r87 26 26 exclude-result-prefixes="fn j a"> 27 27 <xsl:output method="xml" indent="yes" encoding="UTF-8"/> 28 28 29 29 <xsl:template match="/"> 30 30 <stránka … … 33 33 <skrytá>ano</skrytá> 34 34 <nadpis>Seznam všech stránek</nadpis> 35 <perex>Všechny stránky tohoto webu.</perex> 36 <text xmlns="http://www.w3.org/1999/xhtml"> 37 <xsl:apply-templates select="a:feed/a:entry"/> 38 </text> 39 </stránka> 35 <perex>Všechny stránky tohoto webu.</perex> 36 <text xmlns="http://www.w3.org/1999/xhtml"> 37 <xsl:apply-templates select="a:feed/a:entry"/> 38 </text> 39 </stránka> 40 40 </xsl:template> 41 41 42 42 <xsl:template match="a:entry"> 43 43 <p style="seznamStranek"> … … 48 48 (<xsl:value-of select="format-dateTime(adjust-dateTime-to-timezone(a:updated), 49 49 '[D1].[M1]. [Y0001] [H1]:[m01]')"/>) 50 </p> 50 </p> 51 51 </xsl:template> 52 52 53 53 </xsl:stylesheet> 54 -
šablona/sitemap.xsl
r61 r87 25 25 exclude-result-prefixes="fn j a"> 26 26 <xsl:output method="xml" indent="yes" encoding="UTF-8"/> 27 27 28 28 <xsl:template match="/"> 29 29 <urlset> … … 31 31 </urlset> 32 32 </xsl:template> 33 33 34 34 <xsl:template match="a:entry"> 35 35 <url> … … 38 38 </url> 39 39 </xsl:template> 40 40 41 41 </xsl:stylesheet> 42 -
šablona/stránka-společné.xsl
r77 r87 41 41 <xsl:include href=".makra-seznam.xsl"/> 42 42 43 <!-- 44 Kopírujeme elementy, ale vynecháme nepoužité xmlns deklarace: 43 <!-- 44 Kopírujeme elementy, ale vynecháme nepoužité xmlns deklarace: 45 45 --> 46 46 <xsl:template match="*"> … … 50 50 </xsl:element> 51 51 </xsl:template> 52 53 <!-- 54 Varování pro případ, že jsme v režimu podpory pro zaostalé prohlížeče 52 53 <!-- 54 Varování pro případ, že jsme v režimu podpory pro zaostalé prohlížeče 55 55 --> 56 56 <xsl:template name="varováníRetardace"> … … 63 63 </xsl:if> 64 64 </xsl:template> 65 65 66 66 <!-- 67 Odkazy na JavaScript a kaskádové styly 67 Odkazy na JavaScript a kaskádové styly 68 68 --> 69 <xsl:template match="k:web/k:js"> 69 <xsl:template match="k:web/k:js"> 70 70 <script src="{text()}" type="text/javascript"> 71 71 <xsl:call-template name="varováníRetardace"/> … … 75 75 <link href="{text()}" type="text/css" rel="StyleSheet" /> 76 76 </xsl:template> 77 78 79 80 81 77 78 <!-- 79 Vloží nečíslovaný seznam obsahující hlavní nabídku webu (seznam stránek) 80 Pro potřeby CSS stylování má nabídka @id='nabídka' 81 --> 82 82 <xsl:template name="vložNabídku"> 83 83 <ul id="nabídka"> … … 93 93 </ul> 94 94 </xsl:template> 95 95 96 96 <!-- 97 97 Vloží záhlaví (společné pro všechny stránky) … … 103 103 </div> 104 104 </xsl:template> 105 105 106 106 <!-- 107 107 Vloží zápatí (společné pro všechny stránky) … … 114 114 </xsl:template> 115 115 116 117 118 119 116 <!-- 117 Vrací cestu v URL kódování, ale lomítka nekóduje 118 --> 119 <xsl:function name="m:escapuj-url-zachovej-lomítka" as="xs:string"> 120 120 <xsl:param name="cesta"/> 121 121 <xsl:value-of select="replace(encode-for-uri($cesta), '%2F', '/')"/> 122 122 </xsl:function> 123 123 124 124 <!-- 125 125 Vrací obsah textového souboru ve vstupním adresáři. … … 130 130 <xsl:value-of select="unparsed-text(concat($vstup, $soubor))"/> 131 131 </xsl:function> 132 132 133 133 </xsl:stylesheet> 134 -
šablona/stránka.xsl
r77 r87 68 68 </html> 69 69 </xsl:template> 70 70 71 71 </xsl:stylesheet> 72 -
šablona/syntaxe.xsl
r78 r87 32 32 33 33 </xsl:stylesheet> 34