Přesunutí ukázkového obsahu do adresáře „ukázka“ a vytvoření symbolického odkazu „vstup“, který na něj ukazuje.
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat Nov 17 23:05:59 2012 +0100 (2012-11-17)
changeset 1204d33f14e99dd
parent 119 eec920c4bddf
child 121 1a32988c4fef
Přesunutí ukázkového obsahu do adresáře „ukázka“ a vytvoření symbolického odkazu „vstup“, který na něj ukazuje.
Uživatel si může symbolický odkaz smazat a udělat si místo něj adresář „vstup“ nebo odkaz nasměrovat jinam.
.hgignore
ukázka/css/styl.css
ukázka/grafika/logo.png
ukázka/index.xml
ukázka/js/skript.js
ukázka/kontakt.xml
ukázka/kočka-a-pes-oop.dot
ukázka/makra/firma.xsl
ukázka/makra/hg-verze.xsl
ukázka/makra/měřák.xsl
ukázka/matrixový-spořič.sh
ukázka/odkazy.xml
ukázka/produkty.xml
ukázka/skriptování-proměnné.pl
ukázka/skriptování.xml
ukázka/služby.xml
ukázka/telefonní-seznam.csv
ukázka/web.conf
ukázka/zdrojáky.xml
ukázka/záhlaví.inc
ukázka/zápatí.inc
ukázka/šachy.xml
vstup
vstup/css/styl.css
vstup/grafika/logo.png
vstup/index.xml
vstup/js/skript.js
vstup/kontakt.xml
vstup/kočka-a-pes-oop.dot
vstup/makra/firma.xsl
vstup/makra/hg-verze.xsl
vstup/makra/měřák.xsl
vstup/matrixový-spořič.sh
vstup/odkazy.xml
vstup/produkty.xml
vstup/skriptování-proměnné.pl
vstup/skriptování.xml
vstup/služby.xml
vstup/telefonní-seznam.csv
vstup/web.conf
vstup/zdrojáky.xml
vstup/záhlaví.inc
vstup/zápatí.inc
vstup/šachy.xml
     1.1 --- a/.hgignore	Sun Jul 08 12:55:27 2012 +0200
     1.2 +++ b/.hgignore	Sat Nov 17 23:05:59 2012 +0100
     1.3 @@ -3,6 +3,7 @@
     1.4  šablona/funkce/build/*
     1.5  šablona/.makra-seznam.xsl
     1.6  vstup/.seznam.xml
     1.7 +ukázka/.seznam.xml
     1.8  analýza/princip.png
     1.9  nbproject/private
    1.10  dokumentace/javadoc
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/ukázka/css/styl.css	Sat Nov 17 23:05:59 2012 +0100
     2.3 @@ -0,0 +1,205 @@
     2.4 +body {
     2.5 +	background-color: #3c3b37;
     2.6 +	font-family: sans-serif;
     2.7 +	text-align: center;
     2.8 +	font-size: 16px;
     2.9 +}
    2.10 +
    2.11 +a img {
    2.12 +	border: none;
    2.13 +}
    2.14 +
    2.15 +a:hover {
    2.16 +	text-shadow: 1px 1px 1px #eee;
    2.17 +}
    2.18 +a[href^="https://"]:hover {
    2.19 +	text-shadow: 1px 1px 1px #6f6;
    2.20 +}
    2.21 +a[href^="http://"]:hover {
    2.22 +	text-shadow: 1px 1px 1px #66f;
    2.23 +}
    2.24 +
    2.25 +#tělo {
    2.26 +	width: 900px;
    2.27 +	text-align: left;
    2.28 +	margin: 0 auto;
    2.29 +	margin-top: 32px;
    2.30 +	margin-bottom: 32px;
    2.31 +	background-color: #77bed2;
    2.32 +	padding-left: 20px;
    2.33 +	padding-right: 20px;
    2.34 +	padding-top: 2px;
    2.35 +	padding-bottom: 2px;
    2.36 +	border-radius: 8px;
    2.37 +}
    2.38 +
    2.39 +#nabídka {	
    2.40 +	width: 10.3em;
    2.41 +	position: relative;
    2.42 +	left: -20px;
    2.43 +	top: -12px;
    2.44 +	background-color: #3c3b37;
    2.45 +	border-top-right-radius: 8px;
    2.46 +	border-bottom-right-radius: 8px;
    2.47 +	padding-top: 6px;
    2.48 +	padding-bottom: 6px;
    2.49 +	padding-left: 10px;
    2.50 +	list-style-type: none;
    2.51 +	float: left;
    2.52 +}
    2.53 +
    2.54 +#nabídka a {
    2.55 +	color: white;
    2.56 +}
    2.57 +
    2.58 +#nabídka a:hover {
    2.59 +	color: #77bed2;
    2.60 +	text-shadow: none;
    2.61 +}
    2.62 +
    2.63 +#text {
    2.64 +	min-height: 400px;
    2.65 +}
    2.66 +
    2.67 +#zápatí {
    2.68 +	font-size: small;
    2.69 +	text-align: center;
    2.70 +}
    2.71 +
    2.72 +pre {
    2.73 +	background-color: #ddf;
    2.74 +	padding: 6px;
    2.75 +	border-radius: 4px;
    2.76 +	overflow: auto;
    2.77 +	
    2.78 +	-moz-tab-size: 4;
    2.79 +	-o-tab-size: 4;
    2.80 +	tab-size: 4;
    2.81 +}
    2.82 +
    2.83 +.zdroják-ke-stažení {
    2.84 +	font-size: 60%;
    2.85 +	margin-top: -20px;
    2.86 +	padding-right: 0px;
    2.87 +	text-align: right;
    2.88 +}
    2.89 +.zdroják-ke-stažení span {
    2.90 +	background-color: #ddf;
    2.91 +	color: black;
    2.92 +	padding: 5px;
    2.93 +	border-radius: 0px 0px 4px 4px;
    2.94 +	padding-top: 0px;
    2.95 +	padding-bottom: 0px;
    2.96 +}
    2.97 +
    2.98 +.zdroják-ke-stažení a {
    2.99 +	text-decoration: none
   2.100 +}
   2.101 +
   2.102 +.diagram {
   2.103 +	background-color: #ddf;
   2.104 +	padding: 6px;
   2.105 +	border-radius: 4px;
   2.106 +	text-align: center;
   2.107 +	max-width: 100%;
   2.108 +	overflow: auto;
   2.109 +}
   2.110 +
   2.111 +.diagram .nadpis {
   2.112 +	font-size: 60%;
   2.113 +	padding: 4px;
   2.114 +	margin-top: 6px;
   2.115 +	margin-bottom: -6px;
   2.116 +	margin-left: -6px;
   2.117 +	margin-right: -6px;	
   2.118 +	background-color: #d0d0f0;
   2.119 +	border-radius: 0px 0px 4px 4px;
   2.120 +}
   2.121 +
   2.122 +table {
   2.123 +	border-collapse:collapse;
   2.124 +	box-shadow: 3px 3px 3px grey;
   2.125 +	margin-top: 10px;
   2.126 +	margin-bottom: 10px;
   2.127 +}
   2.128 +td, th {
   2.129 +	border: 1px solid black;
   2.130 +	padding-top: 4px;
   2.131 +	padding-bottom: 4px;
   2.132 +	padding-left: 6px;
   2.133 +	padding-right: 6px;
   2.134 +	font-weight: normal;
   2.135 +}
   2.136 +td.číslo {
   2.137 +	text-align: right;
   2.138 +}
   2.139 +thead tr {
   2.140 +	background: grey;
   2.141 +	color:black;
   2.142 +}
   2.143 +tbody tr:hover {
   2.144 +	background-color: silver;
   2.145 +	color:black;
   2.146 +}
   2.147 +
   2.148 +.rot13 span {
   2.149 +	color: gray;
   2.150 +	font-family: monospace;
   2.151 +}
   2.152 +
   2.153 +.rot13 a {
   2.154 +	margin-left: -5px;
   2.155 +	color: green;
   2.156 +	text-decoration: none;
   2.157 +}
   2.158 +
   2.159 +.rot13 a:hover {
   2.160 +	color: red;
   2.161 +}
   2.162 +
   2.163 +sup, sub {
   2.164 +	vertical-align: 0;
   2.165 +	position: relative;
   2.166 +}
   2.167 +sup {
   2.168 +	bottom: 1ex;
   2.169 +}
   2.170 +sub {
   2.171 +	top: 0.8ex;
   2.172 +}
   2.173 +
   2.174 +sup.podČarou-odkaz a {
   2.175 +	color: grey;
   2.176 +	text-decoration: none;
   2.177 +}
   2.178 +
   2.179 +div.podČarou-poznámky {
   2.180 +	font-size: 66%;
   2.181 +	border-top:		1px solid grey;
   2.182 +	border-bottom:	1px solid grey;
   2.183 +	padding-left: 20px;
   2.184 +	padding-top: 4px;
   2.185 +	padding-bottom: 4px;
   2.186 +}
   2.187 +
   2.188 +div.podČarou-poznámky p {
   2.189 +	margin-top: 2px;
   2.190 +	margin-bottom: 2px;
   2.191 +}
   2.192 +
   2.193 +div.podČarou-poznámky a.podČarou-odkaz-zpět {
   2.194 +	color: black;
   2.195 +	text-decoration: none;
   2.196 +	margin-right: 4px;
   2.197 +}
   2.198 +
   2.199 +
   2.200 +blockquote {
   2.201 +	background-color: #ddf;
   2.202 +	padding-top: 3px;
   2.203 +	padding-bottom: 3px;
   2.204 +	padding-left: 16px;
   2.205 +	padding-right: 16px;
   2.206 +	border-radius: 4px;
   2.207 +}
   2.208 +
     3.1 Binary file ukázka/grafika/logo.png has changed
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/ukázka/index.xml	Sat Nov 17 23:05:59 2012 +0100
     4.3 @@ -0,0 +1,21 @@
     4.4 +<stránka
     4.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
     4.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
     4.7 +	
     4.8 +	<nadpis>Chovatelská stanice</nadpis>
     4.9 +	<perex>Úvodní stránka našeho webu.</perex>
    4.10 +	<pořadí>10</pořadí>
    4.11 +
    4.12 +	<text xmlns="http://www.w3.org/1999/xhtml">
    4.13 +		<p>
    4.14 +			Vítejte na našich stránkách :-)
    4.15 +			Jsme chovatelská stanice zaměřená na chov tučňáků.<m:podČarou>Jsou to opravdu moc pěkná zvířata.</m:podČarou>
    4.16 +
    4.17 +			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.
    4.18 +		</p>
    4.19 +		<p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="služby">služby</m:a><m:podČarou>Tam se určitě podívejte!</m:podČarou> 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>		
    4.20 +		<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>	
    4.21 +	</text>
    4.22 +
    4.23 +</stránka>
    4.24 +
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/ukázka/js/skript.js	Sat Nov 17 23:05:59 2012 +0100
     5.3 @@ -0,0 +1,65 @@
     5.4 +/**
     5.5 + * XML Web generátor – program na generování webových stránek
     5.6 + * Copyright © 2012 František Kučera (frantovo.cz)
     5.7 + * 
     5.8 + * This program is free software: you can redistribute it and/or modify
     5.9 + * it under the terms of the GNU General Public License as published by
    5.10 + * the Free Software Foundation, either version 3 of the License, or
    5.11 + * (at your option) any later version.
    5.12 + * 
    5.13 + * This program is distributed in the hope that it will be useful,
    5.14 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
    5.15 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    5.16 + * GNU General Public License for more details.
    5.17 + * 
    5.18 + * You should have received a copy of the GNU General Public License
    5.19 + * along with this program.  If not, see <http://www.gnu.org/licenses/>.
    5.20 + */
    5.21 +
    5.22 +/**
    5.23 + * XML Web generátor – jmenný prostor 
    5.24 + */
    5.25 +var xwg = { 
    5.26 +	/**
    5.27 +	 * Zašifruje/dešifruje obsah elementu pomocí Rot13.
    5.28 +	 * @param id ID elementu, jehož text chceme změnit.
    5.29 +	 */
    5.30 +	rot13: function(id) {
    5.31 +		var e = document.getElementById(id);
    5.32 +		e.textContent = e.textContent.rot13();
    5.33 +	},
    5.34 +
    5.35 +	/**
    5.36 +	 * Vloží klikatelný odkaz.
    5.37 +	 * @param id ID span elementu obsahujícího data
    5.38 +	 */
    5.39 +	odkazNaElektronickouPoštu: function(id) {
    5.40 +		var spanČesky = document.getElementById(id);
    5.41 +		var spanObsah = document.getElementById(id + "b");
    5.42 +		var česky = spanČesky.innerHTML;
    5.43 +		var adresa = česky.replace(" zavináč ", "@").replace(" tečka ",".");
    5.44 +
    5.45 +		var odkaz = document.createElement("a");
    5.46 +		odkaz.href = "mailto:" + adresa;
    5.47 +		if (spanObsah.innerHTML.length > 0) {
    5.48 +			odkaz.innerHTML = spanObsah.innerHTML;
    5.49 +		} else {
    5.50 +			odkaz.innerHTML = adresa;
    5.51 +		}
    5.52 +
    5.53 +		spanČesky.parentNode.insertBefore(odkaz, spanČesky);
    5.54 +		spanČesky.parentNode.removeChild(spanČesky);
    5.55 +		spanObsah.parentNode.removeChild(spanObsah);
    5.56 +	},
    5.57 +
    5.58 +};
    5.59 +
    5.60 +/**
    5.61 + * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13 
    5.62 + */
    5.63 +String.prototype.rot13 = function() {
    5.64 +	return this.replace(/[a-zA-Z]/g, function(z) {
    5.65 +		return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26);
    5.66 +	});
    5.67 +};
    5.68 +
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/ukázka/kontakt.xml	Sat Nov 17 23:05:59 2012 +0100
     6.3 @@ -0,0 +1,66 @@
     6.4 +<stránka
     6.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
     6.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
     6.7 +	<nadpis>Kontakt</nadpis>
     6.8 +	<perex>Kde nás najdete.</perex>
     6.9 +	<pořadí>70</pořadí>
    6.10 +	<text xmlns="http://www.w3.org/1999/xhtml">
    6.11 +		<p>
    6.12 +			Nejlépe se k nám dostanete pomocí vírníku (linka 42).
    6.13 +		</p>
    6.14 +		<p>
    6.15 +			<strong>Naše adresa:</strong><br/>
    6.16 +			<m:firma/><br/>
    6.17 +			Polární 128<br/>
    6.18 +			Tučňákova Lhota<br/>
    6.19 +			Česká republika
    6.20 +		</p>
    6.21 +
    6.22 +		<h2>Organizační struktura</h2>
    6.23 +
    6.24 +		<p>
    6.25 +			Zde je orgranizační struktura naší skvělé firmy:
    6.26 +		</p>
    6.27 +
    6.28 +		<m:diagram nadpis="Naše organizační struktura">
    6.29 +			node		[shape="box"];
    6.30 +
    6.31 +			tovarnik	[label="pan továrník\n(majitel)"];
    6.32 +			reditel		[label="pan ředitel"];
    6.33 +			sekretarka	[label="slečna sekretářka"];
    6.34 +			root		[label="Linuxový guru"];
    6.35 +			architekt	[label="Softwarový architekt"];
    6.36 +
    6.37 +			tovarnik	->	reditel;
    6.38 +			reditel		->	sekretarka;
    6.39 +			reditel		->	architekt;
    6.40 +			reditel		->	root;
    6.41 +		</m:diagram>
    6.42 +
    6.43 +		<h2>Procesy</h2>
    6.44 +
    6.45 +		<p>
    6.46 +			Ve firmě máme spoustu procesů. Jeden z nich vypadá takto:
    6.47 +		</p>
    6.48 +
    6.49 +		<m:diagram orientace="vodorovně">
    6.50 +			A -> B;
    6.51 +			B -> C;
    6.52 +		</m:diagram>
    6.53 +
    6.54 +		<p>
    6.55 +			Ale protože je to tajné, tak vám neřekneme, co A, B a C znamenají.
    6.56 +		</p>
    6.57 +
    6.58 +		<h2>Telefonní seznam</h2>
    6.59 +
    6.60 +		<p>
    6.61 +			Můžete nám kdykoli zavolat:
    6.62 +		</p>
    6.63 +
    6.64 +		<m:tabulka src="telefonní-seznam.csv"/>
    6.65 +
    6.66 +	</text>
    6.67 +
    6.68 +</stránka>
    6.69 +
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/ukázka/kočka-a-pes-oop.dot	Sat Nov 17 23:05:59 2012 +0100
     7.3 @@ -0,0 +1,18 @@
     7.4 +digraph G {	
     7.5 +	bgcolor="transparent";
     7.6 +	
     7.7 +	
     7.8 +	// Třídy:
     7.9 +	node	[shape = "record"];
    7.10 +	Pes		[label = "{Pes|+ kouše : boolean\l|+ štěkej() : void\l}"];
    7.11 +	Kočka	[label = "{Kočka|+ spí : boolean\l|+ mňoukej() : void\l}"];
    7.12 +	Zvíře	[label = "{Zvíře|+ jméno : string\l+ věk : int\l|+ běhej() : void\l}"];
    7.13 +	
    7.14 +	
    7.15 +	// Dědičnost:
    7.16 +	edge	[arrowhead = "empty"];
    7.17 +	
    7.18 +	Pes		->	Zvíře;
    7.19 +	Kočka	->	Zvíře;
    7.20 +}
    7.21 +
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/ukázka/makra/firma.xsl	Sat Nov 17 23:05:59 2012 +0100
     8.3 @@ -0,0 +1,25 @@
     8.4 +<?xml version="1.0" encoding="UTF-8"?>
     8.5 +<xsl:stylesheet version="2.0"
     8.6 +	xmlns="http://www.w3.org/1999/xhtml"
     8.7 +	xmlns:h="http://www.w3.org/1999/xhtml"
     8.8 +	xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
     8.9 +	xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
    8.10 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
    8.11 +	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    8.12 +	xmlns:fn="http://www.w3.org/2005/xpath-functions"
    8.13 +	xmlns:svg="http://www.w3.org/2000/svg"
    8.14 +	xmlns:xs="http://www.w3.org/2001/XMLSchema"
    8.15 +	exclude-result-prefixes="fn h s k m xs">
    8.16 +
    8.17 +	<!-- Vypíše název naší firmy: -->
    8.18 +	<xsl:template match="m:firma">Chovatelská stanice a.s.</xsl:template>
    8.19 +	<xsl:template match="m:firma[@pád=1]">Chovatelská stanice a.s.</xsl:template>		<!-- nominativ -->
    8.20 +	<xsl:template match="m:firma[@pád=2]">Chovatelské stanice a.s.</xsl:template>		<!-- genitiv -->
    8.21 +	<xsl:template match="m:firma[@pád=3]">Chovatelské stanici a.s.</xsl:template>		<!-- dativ -->
    8.22 +	<xsl:template match="m:firma[@pád=4]">Chovatelskou stanici a.s.</xsl:template>	<!-- akuzativ -->
    8.23 +	<xsl:template match="m:firma[@pád=5]">Chovatelská stanice a.s.</xsl:template>		<!-- vokativ -->
    8.24 +	<xsl:template match="m:firma[@pád=6]">Chovatelské stanice a.s.</xsl:template>		<!-- lokál -->
    8.25 +	<xsl:template match="m:firma[@pád=7]">Chovatelskou stanicí a.s.</xsl:template>	<!-- instrumentál -->
    8.26 +
    8.27 +</xsl:stylesheet>
    8.28 +
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/ukázka/makra/hg-verze.xsl	Sat Nov 17 23:05:59 2012 +0100
     9.3 @@ -0,0 +1,44 @@
     9.4 +<?xml version="1.0" encoding="UTF-8"?>
     9.5 +<xsl:stylesheet version="2.0"
     9.6 +	xmlns="http://www.w3.org/1999/xhtml"
     9.7 +	xmlns:h="http://www.w3.org/1999/xhtml"
     9.8 +	xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
     9.9 +	xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
    9.10 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
    9.11 +	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    9.12 +	xmlns:fn="http://www.w3.org/2005/xpath-functions"
    9.13 +	xmlns:svg="http://www.w3.org/2000/svg"
    9.14 +	xmlns:xs="http://www.w3.org/2001/XMLSchema"
    9.15 +	exclude-result-prefixes="fn h s k m xs">
    9.16 +	
    9.17 +	<!-- Vypíše verze z verzovacího systému: -->
    9.18 +	<xsl:template match="m:hg-verze">
    9.19 +
    9.20 +		<xsl:variable name="zadáníSkriptu">
    9.21 +			<m:skript jazyk="bash" výstup="xml">hg log --style xml</m:skript>
    9.22 +		</xsl:variable>
    9.23 +
    9.24 +		<xsl:variable name="výstupSkriptu">
    9.25 +			<xsl:apply-templates select="$zadáníSkriptu/*"/>
    9.26 +		</xsl:variable>
    9.27 +
    9.28 +		<table>
    9.29 +			<thead>
    9.30 +				<tr>
    9.31 +					<td>Číslo verze</td>
    9.32 +					<td>Datum vydání</td>
    9.33 +				</tr>
    9.34 +			</thead>
    9.35 +			<tbody style="text-align: right;">
    9.36 +				<xsl:for-each select="$výstupSkriptu/h:log/h:logentry[h:tag[starts-with(text(), 'v')]]">
    9.37 +					<tr>
    9.38 +						<td><xsl:value-of select="substring(h:tag/text(), 2)"/></td>
    9.39 +						<td><xsl:value-of select="format-dateTime(h:date, '[D]. [M]. [Y0001]')"/></td>
    9.40 +					</tr>
    9.41 +				</xsl:for-each>
    9.42 +			</tbody>
    9.43 +		</table>
    9.44 +	</xsl:template>
    9.45 +
    9.46 +</xsl:stylesheet>
    9.47 +
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/ukázka/makra/měřák.xsl	Sat Nov 17 23:05:59 2012 +0100
    10.3 @@ -0,0 +1,33 @@
    10.4 +<?xml version="1.0" encoding="UTF-8"?>
    10.5 +<xsl:stylesheet version="2.0"
    10.6 +	xmlns="http://www.w3.org/1999/xhtml"
    10.7 +	xmlns:h="http://www.w3.org/1999/xhtml"
    10.8 +	xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    10.9 +	xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
   10.10 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
   10.11 +	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   10.12 +	xmlns:fn="http://www.w3.org/2005/xpath-functions"
   10.13 +	xmlns:svg="http://www.w3.org/2000/svg"
   10.14 +	xmlns:xs="http://www.w3.org/2001/XMLSchema"
   10.15 +	exclude-result-prefixes="fn h s k m xs">
   10.16 +
   10.17 +	<!-- Ukázka vlastního „makra“: -->
   10.18 +	<xsl:template match="m:měřák">
   10.19 +		<xsl:variable name="hodnota" select="number(@hodnota)"/>
   10.20 +		<xsl:variable name="šířkaGrafu" select="128"/>
   10.21 +		<xsl:choose>
   10.22 +			<xsl:when test="$hodnota &gt;= 0 and $hodnota &lt;= 100">
   10.23 +				<div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;">
   10.24 +					<div style="margin: 0px; background-color: #A4E666; width: {@hodnota*$šířkaGrafu div 100}px; height: 16px;"><xsl:call-template name="varováníRetardace"/></div>
   10.25 +					<p style="margin: 0px; font-size: 12px; position: relative; top: -15px;">
   10.26 +						<xsl:value-of select="@hodnota"/>/100
   10.27 +					</p>
   10.28 +				</div>
   10.29 +			</xsl:when>
   10.30 +			<xsl:otherwise>
   10.31 +				<xsl:message terminate="yes">Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta).</xsl:message>
   10.32 +			</xsl:otherwise>
   10.33 +		</xsl:choose>
   10.34 +	</xsl:template>
   10.35 +
   10.36 +</xsl:stylesheet>
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/ukázka/matrixový-spořič.sh	Sat Nov 17 23:05:59 2012 +0100
    11.3 @@ -0,0 +1,16 @@
    11.4 +#!/bin/bash
    11.5 +# Matrixový spořič :-)
    11.6 +
    11.7 +case "$1" in
    11.8 +	start)
    11.9 +		echo -e "\033[22;32m";
   11.10 +		cat /dev/urandom | hexdump;
   11.11 +;;
   11.12 +	stop)
   11.13 +		echo -e "\033[0m";
   11.14 +;;
   11.15 +	*)
   11.16 +		$0 start;
   11.17 +;;
   11.18 +esac
   11.19 +
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/ukázka/odkazy.xml	Sat Nov 17 23:05:59 2012 +0100
    12.3 @@ -0,0 +1,60 @@
    12.4 +<stránka
    12.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    12.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    12.7 +	<nadpis>Odkazy</nadpis>
    12.8 +	<perex>Ukázka odkazů – interních, externích…</perex>
    12.9 +	<pořadí>60</pořadí>
   12.10 +
   12.11 +	<text xmlns="http://www.w3.org/1999/xhtml">
   12.12 +
   12.13 +		<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.  Aliquam erat volutpat. Curabitur sed euismod nisl. 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. Aliquam erat volutpat. Curabitur sed euismod nisl.</p>
   12.14 +
   12.15 +		<ul>
   12.16 +			<li><m:a href="kontakt">Kontakt</m:a> – interní odkaz</li>
   12.17 +			<li><m:a href="anonym@example.com" typ="email">Pan <em>Anonym</em></m:a> – obfuskovaný e-mail</li>
   12.18 +			<li>
   12.19 +				<m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a> – vyhledávání pomocí Seznamu
   12.20 +				<m:podČarou>Byl založen roku 1996 <m:a href="Ivo Lukačovič" typ="wiki">Ivem Lukačovičem</m:a>, a stal se prvním českým internetovým vyhledávačem v České republice.
   12.21 +					<m:podČarou>Alespoň tak to píšou na <m:a href="Seznam.cz" typ="wiki">Wikipedii</m:a>. V poznámkách pod čarou můžete používat další značky, jak jste zvyklí z textu. Dokonce lze poznámky vnořovat<m:podČarou>Což nedává až tak velký smysl, ale dělat to klidně můžete :-)</m:podČarou> do sebe.</m:podČarou>
   12.22 +				</m:podČarou>
   12.23 +			</li>
   12.24 +			<li><m:a href="GNU/Linux a tučňák Tux" typ="google"><abbr title="GNU's Not Unix! – GNU Není Unix!">GNU</abbr>/Linux a tučňák Tux</m:a> – vyhledávání pomocí Googlu</li>
   12.25 +			<li><m:a href="1855" typ="rfc"><em>Net</em>iketa</m:a> – internetový standard <abbr title="request for comments">RFC</abbr></li>
   12.26 +			<li><m:a href="Linus Torvalds" typ="wiki">Linus Torvalds</m:a> – encyklopedie Wikipedia – česky</li>
   12.27 +			<li><m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a> – encyklopedie Wikipedia – anglicky</li>
   12.28 +		</ul>
   12.29 +
   12.30 +		<p>
   12.31 +			Podporované typy <m:a href="makro/a" typ="trac">odkazů</m:a> zapisujeme takto:
   12.32 +		</p>
   12.33 +
   12.34 +		<m:pre jazyk="xml"><![CDATA[
   12.35 +<m:a href="kontakt">Kontakt</m:a>
   12.36 +<m:a href="anonym@example.com" typ="email">Pan Anonym</m:a>
   12.37 +<m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a>
   12.38 +<m:a href="GNU/Linux a tučňák Tux" typ="google">GNU/Linux a tučňák Tux</m:a>
   12.39 +<m:a href="1855" typ="rfc">Netiketa</m:a>
   12.40 +<m:a href="Linus Torvalds" typ="wiki">Linus Torvalds</m:a>
   12.41 +<m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a>
   12.42 +]]></m:pre>
   12.43 +
   12.44 +		<p>
   12.45 +			Libovolné odkazy se zadávají pomocí úplně obyčejné XHTML značky, jak jste zvyklí :-)
   12.46 +		</p>
   12.47 +
   12.48 +		<m:pre jazyk="xml"><![CDATA[
   12.49 +<a href="http://example.com/">nějaká stránka</a>
   12.50 +<a href="mailto:anonym@example.com">nějaký e-mail</a>
   12.51 +]]></m:pre>
   12.52 +
   12.53 +		<p>
   12.54 +			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)
   12.55 +			můžeme klidně používat další makra nebo vkládat jiné značky
   12.56 +			– třeba obrázky nebo formátování 
   12.57 +			– nemusíme se omezovat na prostý text!
   12.58 +		</p>
   12.59 +
   12.60 +	</text>
   12.61 +
   12.62 +</stránka>
   12.63 +
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/ukázka/produkty.xml	Sat Nov 17 23:05:59 2012 +0100
    13.3 @@ -0,0 +1,38 @@
    13.4 +<stránka
    13.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    13.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    13.7 +	<nadpis>Produkty</nadpis>
    13.8 +	<perex>Co vyrábíme.</perex>
    13.9 +	<pořadí>20</pořadí>
   13.10 +
   13.11 +	<text xmlns="http://www.w3.org/1999/xhtml">
   13.12 +
   13.13 +		<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>
   13.14 +		<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>
   13.15 +
   13.16 +		<h2>Tučňák domácí</h2>
   13.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 <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>
   13.18 +
   13.19 +		<p>Vhodnost zvířete do domácnosti:</p>
   13.20 +		<m:měřák hodnota="95"/>
   13.21 +		<p><m:šifra>Tučňáky si prostě oblíbíte!</m:šifra></p>
   13.22 +
   13.23 +		<h2>Panda malá</h2>
   13.24 +		<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>
   13.25 +		<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>
   13.26 +
   13.27 +		<p>Vhodnost zvířete do domácnosti:</p>
   13.28 +		<m:měřák hodnota="80"/>
   13.29 +
   13.30 +		<!--
   13.31 +			Můžeme vložit vycpávkový text Lorem Ipsum:
   13.32 +
   13.33 +			<m:vycpávka odstavců="3"/>
   13.34 +
   13.35 +			Pozor: v současné verzi se stahuje ze Sítě při každém generování.
   13.36 +		-->
   13.37 +
   13.38 +	</text>
   13.39 +
   13.40 +</stránka>
   13.41 +
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/ukázka/skriptování-proměnné.pl	Sat Nov 17 23:05:59 2012 +0100
    14.3 @@ -0,0 +1,17 @@
    14.4 +#!/usr/bin/perl
    14.5 +
    14.6 +# Projde zdroják v javě a najde v něm,
    14.7 +# jaké proměnné prostředí se nastavují pro běh skriptů
    14.8 +# Výstup: tělo XHTML tabulky (řádky)
    14.9 +
   14.10 +use strict;
   14.11 +use warnings;
   14.12 +
   14.13 +open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
   14.14 +
   14.15 +while (<JAVA>) {
   14.16 +	if (/"(.*)=".*\/\/\s+env:(.*)/) {
   14.17 +		print "<tr><td><code>$1</code></td><td>$2</td></tr>\n";
   14.18 +	}
   14.19 +}
   14.20 +
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/ukázka/skriptování.xml	Sat Nov 17 23:05:59 2012 +0100
    15.3 @@ -0,0 +1,358 @@
    15.4 +<stránka
    15.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    15.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    15.7 +	<nadpis>Skriptování</nadpis>
    15.8 +	<perex>Na stránku můžeme vložit výstup skriptů.</perex>
    15.9 +	<pořadí>50</pořadí>
   15.10 +
   15.11 +	<text xmlns="http://www.w3.org/1999/xhtml">
   15.12 +
   15.13 +		<p>
   15.14 +			Na stránkách můžeme používat skripty.
   15.15 +			Spouští se při generování a jejich standardní výstup se vloží do stránky.
   15.16 +			Třeba doprostřed textu ostavce nebo do jiného elementu.
   15.17 +		</p>
   15.18 +		<p>
   15.19 +			Příklad:
   15.20 +			<em>
   15.21 +				Tyto stránky byly vygenerované v systému
   15.22 +				<span title="tento text pochází ze skriptu"><m:skript jazyk="bash">uname -o</m:skript></span>.
   15.23 +			</em>
   15.24 +		</p>
   15.25 +
   15.26 +		<p>
   15.27 +			Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah – 
   15.28 +			jak prostý text, tak i XHTML fragmenty.<m:podČarou>
   15.29 +				Zapíná se pomocí atributu <code>výstup="xhtml"</code> a generátor pak kontroluje správné formátování – 
   15.30 +				nestane se vám, že byste omylem vygenerovali stránky s překříženými nebo neuzavřenými značkami.
   15.31 +				Výchozím jmenným prostorem je XHTML a je dostupný i jmenný prostor pro makra (<code>m</code>).
   15.32 +			</m:podČarou>
   15.33 +		</p>
   15.34 +		<p>
   15.35 +			Skriptování ale může být nebezpečné, pokud byste spustili generátor na stránkách,
   15.36 +			které psal někdo nedůvěryhodný a vložil do nich škodlivý kód.
   15.37 +			Kromě toho, ukázková sada stránek by měla být přeložitelná kdekoli a mít minimum závislostí
   15.38 +			(ne každý musí mít nainstalovaný Perl nebo Python či další podporované interprety).
   15.39 +			Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru <code>web.conf</code>.
   15.40 +		</p>
   15.41 +
   15.42 +		<h2>Podporované jazyky</h2>
   15.43 +		<p>
   15.44 +			V současnosti jsou podporované tyto jazyky:
   15.45 +		</p>
   15.46 +
   15.47 +		<table>
   15.48 +			<thead>
   15.49 +				<tr>
   15.50 +					<td>Jazyk</td>
   15.51 +					<td>Interpret</td>
   15.52 +				</tr>
   15.53 +			</thead>
   15.54 +			<tbody>
   15.55 +				<m:skript jazyk="perl" výstup="xhtml"><![CDATA[
   15.56 +use strict;
   15.57 +use warnings;
   15.58 +
   15.59 +open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
   15.60 +
   15.61 +while (<JAVA>) {
   15.62 +	if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) {
   15.63 +		print "<tr><td><code>$1</code></td><td><code>$2</code></td></tr>\n";
   15.64 +	}
   15.65 +}
   15.66 +				]]></m:skript>
   15.67 +			</tbody>
   15.68 +		</table>
   15.69 +
   15.70 +		<h3>Perl – ukázka</h3>
   15.71 +		<p>Jazyky použité nebo citované na této stránce:</p>
   15.72 +		<!--
   15.73 +			Lepšího výsledku bychom samozřejmě dosáhli pomocí XPath dotazu,
   15.74 +			ale toto je příklad na Perl :-)
   15.75 +		-->
   15.76 +		<pre><m:skript jazyk="perl"><![CDATA[
   15.77 +use strict;
   15.78 +use warnings;
   15.79 +
   15.80 +open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"}) or die $!;
   15.81 +my %skripty;
   15.82 +
   15.83 +while (<XML>) {
   15.84 +	if (/m:skript\s+jazyk="(\w+)"/) {
   15.85 +		$skripty{$1}++;
   15.86 +	}
   15.87 +}
   15.88 +
   15.89 +for(keys(%skripty)) {
   15.90 +	print "$skripty{$_}×\t $_\n";
   15.91 +}
   15.92 +			]]></m:skript></pre>
   15.93 +
   15.94 +		<h3>BASH – ukázka</h3>
   15.95 +		<pre><m:skript jazyk="bash"><![CDATA[
   15.96 +echo -n "Právě je: ";
   15.97 +date;
   15.98 +echo -n "Operační systém: ";
   15.99 +uname -o;
  15.100 +echo -n "SHA-1 otisk zdrojáku této stránky: ";
  15.101 +sha1sum "$XWG_STRANKA_SOUBOR" | cut -f 1 -d " ";
  15.102 +			]]></m:skript></pre>
  15.103 +
  15.104 +			<!--
  15.105 +			<h2>PHP</h2>
  15.106 +			<pre style="max-height: 200px;"><m:skript jazyk="php"><![CDATA[
  15.107 +<?php
  15.108 +phpinfo();
  15.109 +?>
  15.110 +			]]></m:skript></pre>
  15.111 +			-->
  15.112 +
  15.113 +			<h2>Proměnné prostředí</h2>
  15.114 +			<p>
  15.115 +				Ve skriptech máme dostupné následující proměnné prostředí:
  15.116 +			</p>
  15.117 +
  15.118 +			<table>
  15.119 +				<thead>
  15.120 +					<tr>
  15.121 +						<td>Proměnná</td>
  15.122 +						<td>Význam</td>
  15.123 +					</tr>
  15.124 +				</thead>
  15.125 +				<tbody>
  15.126 +					<!-- Pokud načítáme skript ze souboru, je atribut jazyk nepovinný. -->
  15.127 +					<m:skript jazyk="perl" výstup="xhtml" src="skriptování-proměnné.pl"/>
  15.128 +				</tbody>
  15.129 +			</table>
  15.130 +
  15.131 +			<p>
  15.132 +				Kód:
  15.133 +			</p>
  15.134 +
  15.135 +			<m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash">
  15.136 +echo "URI:    $XWG_STRANKA_URI";
  15.137 +echo "Soubor: $XWG_STRANKA_SOUBOR";
  15.138 +echo "Nadpis: $XWG_STRANKA_NADPIS";
  15.139 +echo "Perex:  $XWG_STRANKA_PEREX";
  15.140 +</m:skript>]]></m:pre>
  15.141 +
  15.142 +			<p>nám vypíše:</p>
  15.143 +
  15.144 +			<pre><m:skript jazyk="bash"><![CDATA[
  15.145 +echo "URI:    $XWG_STRANKA_URI" | sed "s#/mnt/sshfs/[^/]*/#/#" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
  15.146 +echo "Soubor: $XWG_STRANKA_SOUBOR" | sed "s#/mnt/sshfs/[^/]*/#/#" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
  15.147 +echo "Nadpis: $XWG_STRANKA_NADPIS";
  15.148 +echo "Perex:  $XWG_STRANKA_PEREX";
  15.149 +		]]></m:skript></pre>
  15.150 +
  15.151 +		<h2 id="makraZeSkriptů">Makra ze skriptů</h2>
  15.152 +		<p>
  15.153 +			XML generované skriptem může také obsahovat makra, která se následně interptetují.
  15.154 +			<m:skript jazyk="bash" výstup="xhtml"><![CDATA[
  15.155 +echo '<m:skript jazyk="bash">'; # Ty zrůdo! :-)
  15.156 +echo 'echo "Takže můžeš skriptovat, když skriptuješ,";';
  15.157 +echo '</m:skript>';
  15.158 +			]]></m:skript>
  15.159 +			nebo dělat něco užitečnějšího.
  15.160 +		</p>
  15.161 +		
  15.162 +		<m:skript jazyk="perl" výstup="xhtml"><![CDATA[
  15.163 +use strict;
  15.164 +use warnings;
  15.165 +
  15.166 +my $adresar = "vstup/makra";
  15.167 +
  15.168 +print "<m:diagram nadpis='Uživatelská makra v adresáři $adresar'>\n";
  15.169 +print "	node		[shape=\"box\"];\n";
  15.170 +print "	koren	[label=\"Uživatelská makra\"];\n";
  15.171 +
  15.172 +opendir(DIR, $adresar) or die $!;
  15.173 +my $i = 0;
  15.174 +while (readdir(DIR)) {
  15.175 +	next if (/^\./);
  15.176 +	# Měli bychom ošetřit zvláštní znaky v názvech souborů,
  15.177 +	# abychom nezpůsobili chybu GraphVizu.
  15.178 +	print "	n$i		[label=\"$_\"];\n";
  15.179 +	print "	koren	-> n$i;\n";
  15.180 +	$i++;
  15.181 +}
  15.182 +
  15.183 +print "</m:diagram>";
  15.184 +closedir(DIR);
  15.185 +		]]></m:skript>
  15.186 +
  15.187 +		<p>…třeba vygenerovat tento diagram následujícím perlovským skriptem:</p>
  15.188 +
  15.189 +		<m:pre jazyk="perl"><![CDATA[
  15.190 +use strict;
  15.191 +use warnings;
  15.192 +
  15.193 +my $adresar = "vstup/makra";
  15.194 +
  15.195 +print "<m:diagram nadpis='Uživatelská makra v adresáři $adresar'>\n";
  15.196 +print "	node	[shape=\"box\"];\n";
  15.197 +print "	koren	[label=\"Uživatelská makra\"];\n";
  15.198 +
  15.199 +opendir(DIR, $adresar) or die $!;
  15.200 +my $i = 0;
  15.201 +while (readdir(DIR)) {
  15.202 +	next if (/^\./);
  15.203 +	# Měli bychom ošetřit zvláštní znaky v názvech souborů,
  15.204 +	# abychom nezpůsobili chybu GraphVizu.
  15.205 +	print "	n$i		[label=\"$_\"];\n";
  15.206 +	print "	koren	-> n$i;\n";
  15.207 +	$i++;
  15.208 +}
  15.209 +
  15.210 +print "</m:diagram>";
  15.211 +closedir(DIR);]]></m:pre>
  15.212 +
  15.213 +		<p>
  15.214 +			Který vložíme zabalený v <code><![CDATA[<m:skript jazyk="perl" výstup="xhtml"> … </m:skript>]]></code> do stránky.
  15.215 +		</p>
  15.216 +		<p>
  15.217 +			Známá chyba: ve skriptech zatím nefungují poznámky pod čarou (a není jisté, jestli kdy fungovat budou – pravděpodobně by to vyžadovalo vícefázové zpracování).
  15.218 +		</p>
  15.219 +
  15.220 +		<h2>Makra ve skriptech</h2>
  15.221 +		
  15.222 +		<p>
  15.223 +			Uvnitř zdrojového kódu skriptu můžeme používat jiná makra.
  15.224 +			Např. tento kód:
  15.225 +		</p>
  15.226 +
  15.227 +		<m:pre jazyk="xml"><![CDATA[<pre>
  15.228 +	<m:skript jazyk="perl">
  15.229 +		print "Náš podnik se jmenuje <m:firma/>";
  15.230 +	</m:skript>
  15.231 +</pre>]]></m:pre>
  15.232 +
  15.233 +		<p>
  15.234 +			nám vygeneruje:
  15.235 +		</p>
  15.236 +
  15.237 +		<pre><m:skript jazyk="perl">
  15.238 +				print "Náš podnik se jmenuje <m:firma/>";
  15.239 +		</m:skript></pre>
  15.240 +
  15.241 +		<p>
  15.242 +			Můžete si tak vytvořit makra pro opakující se části
  15.243 +			a používat je jak v textu stránek, tak ve skriptech nebo diagramech.<m:podČarou>
  15.244 +				Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje,
  15.245 +				je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> 
  15.246 +				pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky).
  15.247 +			</m:podČarou>
  15.248 +		</p>
  15.249 +		
  15.250 +		<p>
  15.251 +			Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu
  15.252 +			– makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy
  15.253 +			a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu.
  15.254 +		</p>
  15.255 +		
  15.256 +		<pre><m:skript jazyk="bash">
  15.257 +			echo "S naší <m:firma pád="7"/> budete jistě spokojeni!";
  15.258 +			echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
  15.259 +		</m:skript></pre>
  15.260 +		
  15.261 +		<p>
  15.262 +			Zdrojový kód:
  15.263 +		</p>
  15.264 +		
  15.265 +		<!-- Pozor: ve zvýrazňovači syntaxe Pygmentize je chyba – neumí diakritiku – správně je: pád="7" -->
  15.266 +		<m:pre jazyk="xml"><![CDATA[<pre>
  15.267 +	<m:skript jazyk="bash">
  15.268 +		echo "S naší <m:firma pad="7"/> budete jistě spokojeni!";
  15.269 +		echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
  15.270 +	</m:skript>
  15.271 +</pre>]]></m:pre>
  15.272 +
  15.273 +		<p>
  15.274 +			Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text,
  15.275 +			který by šlo vložit přímo do XML stránky
  15.276 +			– předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-)
  15.277 +		</p>
  15.278 +
  15.279 +		<h2>Skripty v makrech</h2>
  15.280 +		<p>
  15.281 +			Uvnitř definic maker můžeme volat<m:podČarou>
  15.282 +				Ovšem trochu jiným způsobem, než ve stránkách –
  15.283 +				nacházíme se totiž v <em>programu</em> (XSL šablona definující makro)
  15.284 +				nikoli v <em>datovém souboru</em> (XML stránka).
  15.285 +			</m:podČarou>
  15.286 +			jiná makra – mj. skripty.
  15.287 +			Toho jsme využili v makru, které generuje tabulku verzí z mercurialu
  15.288 +			– ten umí vypsat historii úložiště v XML, které následně snadno zpracujeme v XSLT.
  15.289 +		</p>
  15.290 +
  15.291 +		<m:hg-verze/>
  15.292 +
  15.293 +		<p>
  15.294 +			Toto makro naleznete v souboru <code>vstup/makra/hg-verze.xsl</code>.
  15.295 +		</p>
  15.296 +
  15.297 +		<h2>Vnořování maker</h2>
  15.298 +		<p>
  15.299 +			Trochu jiný případ je vnořování maker na stránce.
  15.300 +			Např. si chceme vypsat vybrané internetové služby:
  15.301 +		</p>
  15.302 +		<m:tabulka>
  15.303 +			<m:skript jazyk="perl"><![CDATA[
  15.304 +use strict;
  15.305 +use warnings;
  15.306 +
  15.307 +print "Port\tSlužba\tProtokol\n";
  15.308 +open(S, "<", "/etc/services") or die $!;
  15.309 +while (<S>) {
  15.310 +	if (/(\w+)\s+(21|22|25|80)\/(tcp)/) {
  15.311 +		print "$2\t$1\t$3\n";
  15.312 +	}
  15.313 +}
  15.314 +			]]></m:skript>
  15.315 +		</m:tabulka>
  15.316 +		
  15.317 +		<p>
  15.318 +			Pro vygenerování použijeme dvě makra – tabulku a skript – která vložíme do textu stránky:
  15.319 +		</p>
  15.320 +		
  15.321 +		<m:pre jazyk="xml"><![CDATA[
  15.322 +<m:tabulka>
  15.323 +	<m:skript jazyk="perl"><![CDATA[
  15.324 +		print "Port\tSlužba\tProtokol\n";
  15.325 +		open(S, "<", "/etc/services") or die $!;
  15.326 +		while (<S>) {
  15.327 +			if (/(\w+)\s+(21|22|25|80)\/(tcp)/) {
  15.328 +				print "$2\t$1\t$3\n";
  15.329 +			}
  15.330 +		}
  15.331 +	]]]]>&gt;<![CDATA[</m:skript>
  15.332 +</m:tabulka>]]></m:pre>
  15.333 +
  15.334 +		<p>
  15.335 +			Ve skriptu v tomto případě negenerujeme XHTML značky, ale CSV (s tabulátory)
  15.336 +			a o převod na XHTML tabulku se postará XSL šablona.
  15.337 +		</p>
  15.338 +
  15.339 +		<!--
  15.340 +			Nebo to taky můžeme napsat na jeden řádek:
  15.341 +			cat /etc/services | perl -ne 'if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { print "$2\t$1\t$3\n";}'
  15.342 +			a vložit do tabulky jako BASH skript :-)
  15.343 +		-->
  15.344 +
  15.345 +		<p>
  15.346 +			Podobně bychom mohli postupovat i u <a href="#makraZeSkriptů">diagramu</a> –
  15.347 +			negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část.
  15.348 +			Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky.
  15.349 +		</p>
  15.350 +
  15.351 +		<p>
  15.352 +			Skriptování lze použít i pro generování zdrojového kódu, který bude následně zvýrazněn
  15.353 +			pomocí značky <code>&lt;m:pre jazyk="…"/&gt;</code>.
  15.354 +			Toho využíváme na stránce <m:a href="zdrojáky">Zdrojové kódy</m:a> v případě SQL a XML ukázek.
  15.355 +			Skript můžeme použít mj. i ke zkrácení zdrojáku – když chceme vypsat jen jeho relevantní část.
  15.356 +		</p>
  15.357 +
  15.358 +	</text>
  15.359 +
  15.360 +</stránka>
  15.361 +
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/ukázka/služby.xml	Sat Nov 17 23:05:59 2012 +0100
    16.3 @@ -0,0 +1,42 @@
    16.4 +<stránka 
    16.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    16.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    16.7 +	<nadpis>Služby</nadpis>
    16.8 +	<perex>Co poskytujeme.</perex>
    16.9 +	<pořadí>30</pořadí>
   16.10 +
   16.11 +	<text xmlns="http://www.w3.org/1999/xhtml">
   16.12 +
   16.13 +		<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>
   16.14 +		<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>
   16.15 +
   16.16 +		<h2>Pravidelné krmení ptáků</h2>
   16.17 +		<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>
   16.18 +
   16.19 +		<m:tabulka>
   16.20 +			Velikost ptáka		Cena za jedno krmení
   16.21 +			malý				250
   16.22 +			střední				500
   16.23 +			velký				1000
   16.24 +		</m:tabulka>
   16.25 +
   16.26 +		<p>Dodáváme pouze prvotřídní krmivo.</p>
   16.27 +
   16.28 +		<m:wiki>
   16.29 +Pravidelné krmení savců
   16.30 +-----------------------
   16.31 +
   16.32 +Tato služba je určena především pro pakoně a slony, vhodná je ale i pro jednorožce. _Vivamus nec dictum dolor_. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. Markdown 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.
   16.33 +
   16.34 +Aliquam erat volutpat. Quisque vitae libero est. Aliquam erat volutpat. [Integer](http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html) 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.
   16.35 +
   16.36 +Dodáváme pouze prvotřídní krmivo.
   16.37 +		</m:wiki>
   16.38 +
   16.39 +		<h2>Jednorázová výměna podestýlky</h2>
   16.40 +		<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>
   16.41 +		<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>
   16.42 +	</text>
   16.43 +
   16.44 +</stránka>
   16.45 +
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/ukázka/telefonní-seznam.csv	Sat Nov 17 23:05:59 2012 +0100
    17.3 @@ -0,0 +1,6 @@
    17.4 +Osoba;Místnost;Telefon
    17.5 +pan továrník (majitel);1;+420 604 123456
    17.6 +pan ředitel;2;+420 604 123654
    17.7 +slečna sekretářka;2;+420 604 123465
    17.8 +Linuxový guru;3;+420 604 123546
    17.9 +Softwarový architekt;4;+420 604 123645
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/ukázka/web.conf	Sat Nov 17 23:05:59 2012 +0100
    18.3 @@ -0,0 +1,39 @@
    18.4 +<web xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace">
    18.5 +	<název>Chovatelská stanice tučňáků</název>
    18.6 +	<podtitul>vše pro tučňáky</podtitul>
    18.7 +	<autor>
    18.8 +		<jméno>František Kučera</jméno>
    18.9 +		<email>nereknu_nechci_spam@example.com</email>
   18.10 +	</autor>
   18.11 +
   18.12 +	<!-- TODO: XML Schéma a popisy v něm-->
   18.13 +
   18.14 +	<!-- Základní URL našeho webu, mělo by končit lomítkem – pro generování RSS/Atom -->
   18.15 +	<url>https://frantovo.cz/projekty/xml-web-generator/demo1/</url>
   18.16 +
   18.17 +	<!-- ID našeho webu (každý by si měl vygenerovat svoje) – pro Atom -->
   18.18 +	<uuid>399a714c-956e-444c-a8f4-afe8f0df802a</uuid>
   18.19 +
   18.20 +	<!-- Kód našeho webu, použije se jako součást identifikátoru položek v RSS/Atomu -->
   18.21 +	<kod>PokusnyWeb123</kod>
   18.22 +
   18.23 +	<!--
   18.24 +		Odkazy na JavaScripty a kaskádové styly, které se vloží do hlavičky každé stránky.
   18.25 +		Můžeme jich uvést libovolné množství.
   18.26 +	-->
   18.27 +	<css>css/styl.css</css>
   18.28 +	<css>css/syntaxe.css</css>
   18.29 +	<js>js/skript.js</js>
   18.30 +
   18.31 +	<skriptování>
   18.32 +		<!--
   18.33 +			povolit – skripty se vykonají
   18.34 +			zakázat – skripty se nevykonají a dojde k chybě
   18.35 +			ignorovat – skripty se v tichosti přeskočí 
   18.36 +			varovat – skripty se v přeskočí a na jejich místo se vloží varování – výchozí možnost
   18.37 +			vložit – místo výstupu skriptu se vloží jeho zdroják
   18.38 +		-->
   18.39 +		<režim>povolit</režim>
   18.40 +	</skriptování>
   18.41 +</web>
   18.42 +
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/ukázka/zdrojáky.xml	Sat Nov 17 23:05:59 2012 +0100
    19.3 @@ -0,0 +1,110 @@
    19.4 +<stránka
    19.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    19.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    19.7 +	<nadpis>Zdrojové kódy</nadpis>
    19.8 +	<perex>Ukázka našich zdrojových kódů.</perex>
    19.9 +	<pořadí>40</pořadí>
   19.10 +
   19.11 +	<text xmlns="http://www.w3.org/1999/xhtml">
   19.12 +
   19.13 +		<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>
   19.14 +		<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>
   19.15 +
   19.16 +		<h2>C++</h2>
   19.17 +		<p>Ukázka převzatá ze stránky <a href="https://podnik.frantovo.cz/s/zdrojovy-kod">Zdrojový kód</a>:</p>
   19.18 +
   19.19 +		<m:pre jazyk="cpp"><![CDATA[# include <iostream>
   19.20 +using namespace std;
   19.21 +
   19.22 +int main(int argc, char *argv[]) {
   19.23 +
   19.24 +	cout << "Chcete slyšet vtip?" << endl;
   19.25 +	char odpoved = cin.get();
   19.26 +	cin.get();
   19.27 +
   19.28 +	if (odpoved == 'a') {
   19.29 +		cout
   19.30 +		<< "Lidé se dělí do 10 skupin." << endl
   19.31 +		<< "Na ty, kteří rozumějí binárnímu kódu, "
   19.32 +		<< "a na ty ostatní." << endl;
   19.33 +		return 0;
   19.34 +	} else if (odpoved == 'n') {
   19.35 +		cout << "Dobře, tak ne." << endl;
   19.36 +		return 0;
   19.37 +	} else {
   19.38 +		cout
   19.39 +		<< "Nerozumím odpovědi "
   19.40 +		<< "– očekávám „ano“ nebo „ne“." << endl;
   19.41 +		return 1;
   19.42 +	}
   19.43 +}]]></m:pre>
   19.44 +
   19.45 +		<h2>Java</h2>
   19.46 +
   19.47 +		<m:pre jazyk="java"><m:skript jazyk="bash">
   19.48 +			cat "šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java" | awk 'NR > 17 {print}';
   19.49 +		</m:skript></m:pre>
   19.50 +
   19.51 +		<h2>XML</h2>
   19.52 +
   19.53 +		<p>
   19.54 +			Zdroják aktuální stránky – <abbr title="diakritika byla odstraněna, protože v Pygmentize je chyba – neumí značky s diakritikou, přestože to je platné XML">upravený</abbr> a zkrácený pomocí <m:a href="skriptování">skriptu</m:a>:
   19.55 +		</p>
   19.56 +		<m:pre jazyk="xml"><m:skript jazyk="bash">
   19.57 +# V zvýrazňovači Pygmentize je chyba: nepodporuje znaky s diakritikou, přestože v daném jazyce můžou být.
   19.58 +# TODO: opravit to tam (zřejmě špatný regulární výraz).
   19.59 +
   19.60 +cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | head -n 8;
   19.61 +echo -e "\t\t… zkráceno …";
   19.62 +cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | tail -n 4;
   19.63 +
   19.64 +# Případně:
   19.65 +# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | head -n 8;
   19.66 +# echo -e "\t\t… zkráceno …";
   19.67 +# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | tail -n 4;
   19.68 +		</m:skript></m:pre>
   19.69 +
   19.70 +		<p>Další ukázka XML: <m:a href="šablona/makra/tabulka.xsl" typ="zdroják" řádek="25">tabulka.xsl</m:a>.</p>
   19.71 +
   19.72 +		<h2>BASH</h2>
   19.73 +
   19.74 +		<m:pre jazyk="bash" src="matrixový-spořič.sh" odkaz="ano"/>
   19.75 +
   19.76 +		<h2>SQL</h2>
   19.77 +
   19.78 +		<p>
   19.79 +			Tento SQL kód není zapsán přímo ve stránce, ale byl vygenerován pomocí <m:a href="skriptování">skriptu</m:a>,
   19.80 +			a poté zvýrazněn.
   19.81 +		</p>
   19.82 +
   19.83 +		<m:pre jazyk="sql"><m:skript jazyk="perl"><![CDATA[
   19.84 +use strict;
   19.85 +use warnings;
   19.86 +
   19.87 +for (my $i = 0; $i < 10; $i++) {
   19.88 +	print "INSERT INTO tabulka VALUES ('abc $i', 'def ". $i*($i+1) . "', " . 2**$i . ");\n";
   19.89 +}
   19.90 +		]]></m:skript></m:pre>
   19.91 +
   19.92 +		<h2>Chyby</h2>
   19.93 +
   19.94 +		<p>Následující ukázky kódu nebudou zvýrazněné:</p>
   19.95 +
   19.96 +		<m:pre jazyk="xxxxxxxx">Nepodporovaný jazyk → syntaxe nebude zvýrazněna &lt;blee/&gt;</m:pre>
   19.97 +
   19.98 +		<m:pre>#!/bin/bash
   19.99 +# tento kód nebude zvýrazněn, protože atribut „jazyk“ chybí
  19.100 +# &lt;blee/&gt;</m:pre>
  19.101 +
  19.102 +		<h2>Objekty</h2>
  19.103 +
  19.104 +		<p>
  19.105 +			Při vývoji softwaru používáme <abbr title="objektově orientované programování">OOP</abbr>.
  19.106 +		</p>
  19.107 +
  19.108 +		<m:diagram src="kočka-a-pes-oop.dot" nadpis="Třídy Kočka a Pes jsou potomkem třídy Zvíře"/>
  19.109 +
  19.110 +	</text>
  19.111 +
  19.112 +</stránka>
  19.113 +
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/ukázka/záhlaví.inc	Sat Nov 17 23:05:59 2012 +0100
    20.3 @@ -0,0 +1,10 @@
    20.4 +<stránka
    20.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    20.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    20.7 +	<text xmlns="http://www.w3.org/1999/xhtml">
    20.8 +		<p class="logo">
    20.9 +			<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>
   20.10 +		</p>
   20.11 +	</text>
   20.12 +</stránka>
   20.13 +
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/ukázka/zápatí.inc	Sat Nov 17 23:05:59 2012 +0100
    21.3 @@ -0,0 +1,8 @@
    21.4 +<stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana">
    21.5 +	<text xmlns="http://www.w3.org/1999/xhtml">
    21.6 +		<p>
    21.7 +			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.
    21.8 +		</p>
    21.9 +	</text>
   21.10 +</stránka>
   21.11 +
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/ukázka/šachy.xml	Sat Nov 17 23:05:59 2012 +0100
    22.3 @@ -0,0 +1,24 @@
    22.4 +<stránka
    22.5 +	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    22.6 +	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    22.7 +	<nadpis>Šachy</nadpis>
    22.8 +	<perex>Královská hra.</perex>
    22.9 +
   22.10 +	<text xmlns="http://www.w3.org/1999/xhtml">
   22.11 +
   22.12 +		<m:tabulka>
   22.13 +			 	a	b	c	d	e	f	g	h
   22.14 +			8	♖	♘	♗	♔	♕	♗	♘	♖
   22.15 +			7	♙	♙	♙	♙	♙	♙	♙	♙
   22.16 +			6	 	 	 	 	 	 	 	 
   22.17 +			5	 	 	 	 	 	 	 	 
   22.18 +			4	 	 	 	 	 	 	 	 
   22.19 +			3	 	 	 	 	 	 	 	 
   22.20 +			2	♟	♟	♟	♟	♟	♟	♟	♟
   22.21 +			1	♜	♞	♝	♚	♛	♝	♞	♜
   22.22 +		</m:tabulka>
   22.23 +
   22.24 +	</text>
   22.25 +
   22.26 +</stránka>
   22.27 +
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/vstup	Sat Nov 17 23:05:59 2012 +0100
    23.3 @@ -0,0 +1,1 @@
    23.4 +ukázka/
    23.5 \ No newline at end of file
    24.1 --- a/vstup/css/styl.css	Sun Jul 08 12:55:27 2012 +0200
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,205 +0,0 @@
    24.4 -body {
    24.5 -	background-color: #3c3b37;
    24.6 -	font-family: sans-serif;
    24.7 -	text-align: center;
    24.8 -	font-size: 16px;
    24.9 -}
   24.10 -
   24.11 -a img {
   24.12 -	border: none;
   24.13 -}
   24.14 -
   24.15 -a:hover {
   24.16 -	text-shadow: 1px 1px 1px #eee;
   24.17 -}
   24.18 -a[href^="https://"]:hover {
   24.19 -	text-shadow: 1px 1px 1px #6f6;
   24.20 -}
   24.21 -a[href^="http://"]:hover {
   24.22 -	text-shadow: 1px 1px 1px #66f;
   24.23 -}
   24.24 -
   24.25 -#tělo {
   24.26 -	width: 900px;
   24.27 -	text-align: left;
   24.28 -	margin: 0 auto;
   24.29 -	margin-top: 32px;
   24.30 -	margin-bottom: 32px;
   24.31 -	background-color: #77bed2;
   24.32 -	padding-left: 20px;
   24.33 -	padding-right: 20px;
   24.34 -	padding-top: 2px;
   24.35 -	padding-bottom: 2px;
   24.36 -	border-radius: 8px;
   24.37 -}
   24.38 -
   24.39 -#nabídka {	
   24.40 -	width: 10.3em;
   24.41 -	position: relative;
   24.42 -	left: -20px;
   24.43 -	top: -12px;
   24.44 -	background-color: #3c3b37;
   24.45 -	border-top-right-radius: 8px;
   24.46 -	border-bottom-right-radius: 8px;
   24.47 -	padding-top: 6px;
   24.48 -	padding-bottom: 6px;
   24.49 -	padding-left: 10px;
   24.50 -	list-style-type: none;
   24.51 -	float: left;
   24.52 -}
   24.53 -
   24.54 -#nabídka a {
   24.55 -	color: white;
   24.56 -}
   24.57 -
   24.58 -#nabídka a:hover {
   24.59 -	color: #77bed2;
   24.60 -	text-shadow: none;
   24.61 -}
   24.62 -
   24.63 -#text {
   24.64 -	min-height: 400px;
   24.65 -}
   24.66 -
   24.67 -#zápatí {
   24.68 -	font-size: small;
   24.69 -	text-align: center;
   24.70 -}
   24.71 -
   24.72 -pre {
   24.73 -	background-color: #ddf;
   24.74 -	padding: 6px;
   24.75 -	border-radius: 4px;
   24.76 -	overflow: auto;
   24.77 -	
   24.78 -	-moz-tab-size: 4;
   24.79 -	-o-tab-size: 4;
   24.80 -	tab-size: 4;
   24.81 -}
   24.82 -
   24.83 -.zdroják-ke-stažení {
   24.84 -	font-size: 60%;
   24.85 -	margin-top: -20px;
   24.86 -	padding-right: 0px;
   24.87 -	text-align: right;
   24.88 -}
   24.89 -.zdroják-ke-stažení span {
   24.90 -	background-color: #ddf;
   24.91 -	color: black;
   24.92 -	padding: 5px;
   24.93 -	border-radius: 0px 0px 4px 4px;
   24.94 -	padding-top: 0px;
   24.95 -	padding-bottom: 0px;
   24.96 -}
   24.97 -
   24.98 -.zdroják-ke-stažení a {
   24.99 -	text-decoration: none
  24.100 -}
  24.101 -
  24.102 -.diagram {
  24.103 -	background-color: #ddf;
  24.104 -	padding: 6px;
  24.105 -	border-radius: 4px;
  24.106 -	text-align: center;
  24.107 -	max-width: 100%;
  24.108 -	overflow: auto;
  24.109 -}
  24.110 -
  24.111 -.diagram .nadpis {
  24.112 -	font-size: 60%;
  24.113 -	padding: 4px;
  24.114 -	margin-top: 6px;
  24.115 -	margin-bottom: -6px;
  24.116 -	margin-left: -6px;
  24.117 -	margin-right: -6px;	
  24.118 -	background-color: #d0d0f0;
  24.119 -	border-radius: 0px 0px 4px 4px;
  24.120 -}
  24.121 -
  24.122 -table {
  24.123 -	border-collapse:collapse;
  24.124 -	box-shadow: 3px 3px 3px grey;
  24.125 -	margin-top: 10px;
  24.126 -	margin-bottom: 10px;
  24.127 -}
  24.128 -td, th {
  24.129 -	border: 1px solid black;
  24.130 -	padding-top: 4px;
  24.131 -	padding-bottom: 4px;
  24.132 -	padding-left: 6px;
  24.133 -	padding-right: 6px;
  24.134 -	font-weight: normal;
  24.135 -}
  24.136 -td.číslo {
  24.137 -	text-align: right;
  24.138 -}
  24.139 -thead tr {
  24.140 -	background: grey;
  24.141 -	color:black;
  24.142 -}
  24.143 -tbody tr:hover {
  24.144 -	background-color: silver;
  24.145 -	color:black;
  24.146 -}
  24.147 -
  24.148 -.rot13 span {
  24.149 -	color: gray;
  24.150 -	font-family: monospace;
  24.151 -}
  24.152 -
  24.153 -.rot13 a {
  24.154 -	margin-left: -5px;
  24.155 -	color: green;
  24.156 -	text-decoration: none;
  24.157 -}
  24.158 -
  24.159 -.rot13 a:hover {
  24.160 -	color: red;
  24.161 -}
  24.162 -
  24.163 -sup, sub {
  24.164 -	vertical-align: 0;
  24.165 -	position: relative;
  24.166 -}
  24.167 -sup {
  24.168 -	bottom: 1ex;
  24.169 -}
  24.170 -sub {
  24.171 -	top: 0.8ex;
  24.172 -}
  24.173 -
  24.174 -sup.podČarou-odkaz a {
  24.175 -	color: grey;
  24.176 -	text-decoration: none;
  24.177 -}
  24.178 -
  24.179 -div.podČarou-poznámky {
  24.180 -	font-size: 66%;
  24.181 -	border-top:		1px solid grey;
  24.182 -	border-bottom:	1px solid grey;
  24.183 -	padding-left: 20px;
  24.184 -	padding-top: 4px;
  24.185 -	padding-bottom: 4px;
  24.186 -}
  24.187 -
  24.188 -div.podČarou-poznámky p {
  24.189 -	margin-top: 2px;
  24.190 -	margin-bottom: 2px;
  24.191 -}
  24.192 -
  24.193 -div.podČarou-poznámky a.podČarou-odkaz-zpět {
  24.194 -	color: black;
  24.195 -	text-decoration: none;
  24.196 -	margin-right: 4px;
  24.197 -}
  24.198 -
  24.199 -
  24.200 -blockquote {
  24.201 -	background-color: #ddf;
  24.202 -	padding-top: 3px;
  24.203 -	padding-bottom: 3px;
  24.204 -	padding-left: 16px;
  24.205 -	padding-right: 16px;
  24.206 -	border-radius: 4px;
  24.207 -}
  24.208 -
    25.1 Binary file vstup/grafika/logo.png has changed
    26.1 --- a/vstup/index.xml	Sun Jul 08 12:55:27 2012 +0200
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,21 +0,0 @@
    26.4 -<stránka
    26.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    26.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    26.7 -	
    26.8 -	<nadpis>Chovatelská stanice</nadpis>
    26.9 -	<perex>Úvodní stránka našeho webu.</perex>
   26.10 -	<pořadí>10</pořadí>
   26.11 -
   26.12 -	<text xmlns="http://www.w3.org/1999/xhtml">
   26.13 -		<p>
   26.14 -			Vítejte na našich stránkách :-)
   26.15 -			Jsme chovatelská stanice zaměřená na chov tučňáků.<m:podČarou>Jsou to opravdu moc pěkná zvířata.</m:podČarou>
   26.16 -
   26.17 -			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.
   26.18 -		</p>
   26.19 -		<p>Morbi et magna a ligula pulvinar posuere. Pellentesque sit amet sem <m:a href="služby">služby</m:a><m:podČarou>Tam se určitě podívejte!</m:podČarou> 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>		
   26.20 -		<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>	
   26.21 -	</text>
   26.22 -
   26.23 -</stránka>
   26.24 -
    27.1 --- a/vstup/js/skript.js	Sun Jul 08 12:55:27 2012 +0200
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,65 +0,0 @@
    27.4 -/**
    27.5 - * XML Web generátor – program na generování webových stránek
    27.6 - * Copyright © 2012 František Kučera (frantovo.cz)
    27.7 - * 
    27.8 - * This program is free software: you can redistribute it and/or modify
    27.9 - * it under the terms of the GNU General Public License as published by
   27.10 - * the Free Software Foundation, either version 3 of the License, or
   27.11 - * (at your option) any later version.
   27.12 - * 
   27.13 - * This program is distributed in the hope that it will be useful,
   27.14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
   27.15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   27.16 - * GNU General Public License for more details.
   27.17 - * 
   27.18 - * You should have received a copy of the GNU General Public License
   27.19 - * along with this program.  If not, see <http://www.gnu.org/licenses/>.
   27.20 - */
   27.21 -
   27.22 -/**
   27.23 - * XML Web generátor – jmenný prostor 
   27.24 - */
   27.25 -var xwg = { 
   27.26 -	/**
   27.27 -	 * Zašifruje/dešifruje obsah elementu pomocí Rot13.
   27.28 -	 * @param id ID elementu, jehož text chceme změnit.
   27.29 -	 */
   27.30 -	rot13: function(id) {
   27.31 -		var e = document.getElementById(id);
   27.32 -		e.textContent = e.textContent.rot13();
   27.33 -	},
   27.34 -
   27.35 -	/**
   27.36 -	 * Vloží klikatelný odkaz.
   27.37 -	 * @param id ID span elementu obsahujícího data
   27.38 -	 */
   27.39 -	odkazNaElektronickouPoštu: function(id) {
   27.40 -		var spanČesky = document.getElementById(id);
   27.41 -		var spanObsah = document.getElementById(id + "b");
   27.42 -		var česky = spanČesky.innerHTML;
   27.43 -		var adresa = česky.replace(" zavináč ", "@").replace(" tečka ",".");
   27.44 -
   27.45 -		var odkaz = document.createElement("a");
   27.46 -		odkaz.href = "mailto:" + adresa;
   27.47 -		if (spanObsah.innerHTML.length > 0) {
   27.48 -			odkaz.innerHTML = spanObsah.innerHTML;
   27.49 -		} else {
   27.50 -			odkaz.innerHTML = adresa;
   27.51 -		}
   27.52 -
   27.53 -		spanČesky.parentNode.insertBefore(odkaz, spanČesky);
   27.54 -		spanČesky.parentNode.removeChild(spanČesky);
   27.55 -		spanObsah.parentNode.removeChild(spanObsah);
   27.56 -	},
   27.57 -
   27.58 -};
   27.59 -
   27.60 -/**
   27.61 - * Vrací hodnotu textového řetězce zašifrovanou/dešifrovanou algoritmem Rot13 
   27.62 - */
   27.63 -String.prototype.rot13 = function() {
   27.64 -	return this.replace(/[a-zA-Z]/g, function(z) {
   27.65 -		return String.fromCharCode((z <= "Z" ? 90 : 122) >= (z = z.charCodeAt(0) + 13) ? z : z - 26);
   27.66 -	});
   27.67 -};
   27.68 -
    28.1 --- a/vstup/kontakt.xml	Sun Jul 08 12:55:27 2012 +0200
    28.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.3 @@ -1,66 +0,0 @@
    28.4 -<stránka
    28.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    28.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    28.7 -	<nadpis>Kontakt</nadpis>
    28.8 -	<perex>Kde nás najdete.</perex>
    28.9 -	<pořadí>70</pořadí>
   28.10 -	<text xmlns="http://www.w3.org/1999/xhtml">
   28.11 -		<p>
   28.12 -			Nejlépe se k nám dostanete pomocí vírníku (linka 42).
   28.13 -		</p>
   28.14 -		<p>
   28.15 -			<strong>Naše adresa:</strong><br/>
   28.16 -			<m:firma/><br/>
   28.17 -			Polární 128<br/>
   28.18 -			Tučňákova Lhota<br/>
   28.19 -			Česká republika
   28.20 -		</p>
   28.21 -
   28.22 -		<h2>Organizační struktura</h2>
   28.23 -
   28.24 -		<p>
   28.25 -			Zde je orgranizační struktura naší skvělé firmy:
   28.26 -		</p>
   28.27 -
   28.28 -		<m:diagram nadpis="Naše organizační struktura">
   28.29 -			node		[shape="box"];
   28.30 -
   28.31 -			tovarnik	[label="pan továrník\n(majitel)"];
   28.32 -			reditel		[label="pan ředitel"];
   28.33 -			sekretarka	[label="slečna sekretářka"];
   28.34 -			root		[label="Linuxový guru"];
   28.35 -			architekt	[label="Softwarový architekt"];
   28.36 -
   28.37 -			tovarnik	->	reditel;
   28.38 -			reditel		->	sekretarka;
   28.39 -			reditel		->	architekt;
   28.40 -			reditel		->	root;
   28.41 -		</m:diagram>
   28.42 -
   28.43 -		<h2>Procesy</h2>
   28.44 -
   28.45 -		<p>
   28.46 -			Ve firmě máme spoustu procesů. Jeden z nich vypadá takto:
   28.47 -		</p>
   28.48 -
   28.49 -		<m:diagram orientace="vodorovně">
   28.50 -			A -> B;
   28.51 -			B -> C;
   28.52 -		</m:diagram>
   28.53 -
   28.54 -		<p>
   28.55 -			Ale protože je to tajné, tak vám neřekneme, co A, B a C znamenají.
   28.56 -		</p>
   28.57 -
   28.58 -		<h2>Telefonní seznam</h2>
   28.59 -
   28.60 -		<p>
   28.61 -			Můžete nám kdykoli zavolat:
   28.62 -		</p>
   28.63 -
   28.64 -		<m:tabulka src="telefonní-seznam.csv"/>
   28.65 -
   28.66 -	</text>
   28.67 -
   28.68 -</stránka>
   28.69 -
    29.1 --- a/vstup/kočka-a-pes-oop.dot	Sun Jul 08 12:55:27 2012 +0200
    29.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.3 @@ -1,18 +0,0 @@
    29.4 -digraph G {	
    29.5 -	bgcolor="transparent";
    29.6 -	
    29.7 -	
    29.8 -	// Třídy:
    29.9 -	node	[shape = "record"];
   29.10 -	Pes		[label = "{Pes|+ kouše : boolean\l|+ štěkej() : void\l}"];
   29.11 -	Kočka	[label = "{Kočka|+ spí : boolean\l|+ mňoukej() : void\l}"];
   29.12 -	Zvíře	[label = "{Zvíře|+ jméno : string\l+ věk : int\l|+ běhej() : void\l}"];
   29.13 -	
   29.14 -	
   29.15 -	// Dědičnost:
   29.16 -	edge	[arrowhead = "empty"];
   29.17 -	
   29.18 -	Pes		->	Zvíře;
   29.19 -	Kočka	->	Zvíře;
   29.20 -}
   29.21 -
    30.1 --- a/vstup/makra/firma.xsl	Sun Jul 08 12:55:27 2012 +0200
    30.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.3 @@ -1,25 +0,0 @@
    30.4 -<?xml version="1.0" encoding="UTF-8"?>
    30.5 -<xsl:stylesheet version="2.0"
    30.6 -	xmlns="http://www.w3.org/1999/xhtml"
    30.7 -	xmlns:h="http://www.w3.org/1999/xhtml"
    30.8 -	xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    30.9 -	xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
   30.10 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
   30.11 -	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   30.12 -	xmlns:fn="http://www.w3.org/2005/xpath-functions"
   30.13 -	xmlns:svg="http://www.w3.org/2000/svg"
   30.14 -	xmlns:xs="http://www.w3.org/2001/XMLSchema"
   30.15 -	exclude-result-prefixes="fn h s k m xs">
   30.16 -
   30.17 -	<!-- Vypíše název naší firmy: -->
   30.18 -	<xsl:template match="m:firma">Chovatelská stanice a.s.</xsl:template>
   30.19 -	<xsl:template match="m:firma[@pád=1]">Chovatelská stanice a.s.</xsl:template>		<!-- nominativ -->
   30.20 -	<xsl:template match="m:firma[@pád=2]">Chovatelské stanice a.s.</xsl:template>		<!-- genitiv -->
   30.21 -	<xsl:template match="m:firma[@pád=3]">Chovatelské stanici a.s.</xsl:template>		<!-- dativ -->
   30.22 -	<xsl:template match="m:firma[@pád=4]">Chovatelskou stanici a.s.</xsl:template>	<!-- akuzativ -->
   30.23 -	<xsl:template match="m:firma[@pád=5]">Chovatelská stanice a.s.</xsl:template>		<!-- vokativ -->
   30.24 -	<xsl:template match="m:firma[@pád=6]">Chovatelské stanice a.s.</xsl:template>		<!-- lokál -->
   30.25 -	<xsl:template match="m:firma[@pád=7]">Chovatelskou stanicí a.s.</xsl:template>	<!-- instrumentál -->
   30.26 -
   30.27 -</xsl:stylesheet>
   30.28 -
    31.1 --- a/vstup/makra/hg-verze.xsl	Sun Jul 08 12:55:27 2012 +0200
    31.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.3 @@ -1,44 +0,0 @@
    31.4 -<?xml version="1.0" encoding="UTF-8"?>
    31.5 -<xsl:stylesheet version="2.0"
    31.6 -	xmlns="http://www.w3.org/1999/xhtml"
    31.7 -	xmlns:h="http://www.w3.org/1999/xhtml"
    31.8 -	xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    31.9 -	xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
   31.10 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
   31.11 -	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   31.12 -	xmlns:fn="http://www.w3.org/2005/xpath-functions"
   31.13 -	xmlns:svg="http://www.w3.org/2000/svg"
   31.14 -	xmlns:xs="http://www.w3.org/2001/XMLSchema"
   31.15 -	exclude-result-prefixes="fn h s k m xs">
   31.16 -	
   31.17 -	<!-- Vypíše verze z verzovacího systému: -->
   31.18 -	<xsl:template match="m:hg-verze">
   31.19 -
   31.20 -		<xsl:variable name="zadáníSkriptu">
   31.21 -			<m:skript jazyk="bash" výstup="xml">hg log --style xml</m:skript>
   31.22 -		</xsl:variable>
   31.23 -
   31.24 -		<xsl:variable name="výstupSkriptu">
   31.25 -			<xsl:apply-templates select="$zadáníSkriptu/*"/>
   31.26 -		</xsl:variable>
   31.27 -
   31.28 -		<table>
   31.29 -			<thead>
   31.30 -				<tr>
   31.31 -					<td>Číslo verze</td>
   31.32 -					<td>Datum vydání</td>
   31.33 -				</tr>
   31.34 -			</thead>
   31.35 -			<tbody style="text-align: right;">
   31.36 -				<xsl:for-each select="$výstupSkriptu/h:log/h:logentry[h:tag[starts-with(text(), 'v')]]">
   31.37 -					<tr>
   31.38 -						<td><xsl:value-of select="substring(h:tag/text(), 2)"/></td>
   31.39 -						<td><xsl:value-of select="format-dateTime(h:date, '[D]. [M]. [Y0001]')"/></td>
   31.40 -					</tr>
   31.41 -				</xsl:for-each>
   31.42 -			</tbody>
   31.43 -		</table>
   31.44 -	</xsl:template>
   31.45 -
   31.46 -</xsl:stylesheet>
   31.47 -
    32.1 --- a/vstup/makra/měřák.xsl	Sun Jul 08 12:55:27 2012 +0200
    32.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.3 @@ -1,33 +0,0 @@
    32.4 -<?xml version="1.0" encoding="UTF-8"?>
    32.5 -<xsl:stylesheet version="2.0"
    32.6 -	xmlns="http://www.w3.org/1999/xhtml"
    32.7 -	xmlns:h="http://www.w3.org/1999/xhtml"
    32.8 -	xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    32.9 -	xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
   32.10 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
   32.11 -	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   32.12 -	xmlns:fn="http://www.w3.org/2005/xpath-functions"
   32.13 -	xmlns:svg="http://www.w3.org/2000/svg"
   32.14 -	xmlns:xs="http://www.w3.org/2001/XMLSchema"
   32.15 -	exclude-result-prefixes="fn h s k m xs">
   32.16 -
   32.17 -	<!-- Ukázka vlastního „makra“: -->
   32.18 -	<xsl:template match="m:měřák">
   32.19 -		<xsl:variable name="hodnota" select="number(@hodnota)"/>
   32.20 -		<xsl:variable name="šířkaGrafu" select="128"/>
   32.21 -		<xsl:choose>
   32.22 -			<xsl:when test="$hodnota &gt;= 0 and $hodnota &lt;= 100">
   32.23 -				<div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;">
   32.24 -					<div style="margin: 0px; background-color: #A4E666; width: {@hodnota*$šířkaGrafu div 100}px; height: 16px;"><xsl:call-template name="varováníRetardace"/></div>
   32.25 -					<p style="margin: 0px; font-size: 12px; position: relative; top: -15px;">
   32.26 -						<xsl:value-of select="@hodnota"/>/100
   32.27 -					</p>
   32.28 -				</div>
   32.29 -			</xsl:when>
   32.30 -			<xsl:otherwise>
   32.31 -				<xsl:message terminate="yes">Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta).</xsl:message>
   32.32 -			</xsl:otherwise>
   32.33 -		</xsl:choose>
   32.34 -	</xsl:template>
   32.35 -
   32.36 -</xsl:stylesheet>
    33.1 --- a/vstup/matrixový-spořič.sh	Sun Jul 08 12:55:27 2012 +0200
    33.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.3 @@ -1,16 +0,0 @@
    33.4 -#!/bin/bash
    33.5 -# Matrixový spořič :-)
    33.6 -
    33.7 -case "$1" in
    33.8 -	start)
    33.9 -		echo -e "\033[22;32m";
   33.10 -		cat /dev/urandom | hexdump;
   33.11 -;;
   33.12 -	stop)
   33.13 -		echo -e "\033[0m";
   33.14 -;;
   33.15 -	*)
   33.16 -		$0 start;
   33.17 -;;
   33.18 -esac
   33.19 -
    34.1 --- a/vstup/odkazy.xml	Sun Jul 08 12:55:27 2012 +0200
    34.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.3 @@ -1,60 +0,0 @@
    34.4 -<stránka
    34.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    34.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    34.7 -	<nadpis>Odkazy</nadpis>
    34.8 -	<perex>Ukázka odkazů – interních, externích…</perex>
    34.9 -	<pořadí>60</pořadí>
   34.10 -
   34.11 -	<text xmlns="http://www.w3.org/1999/xhtml">
   34.12 -
   34.13 -		<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.  Aliquam erat volutpat. Curabitur sed euismod nisl. 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. Aliquam erat volutpat. Curabitur sed euismod nisl.</p>
   34.14 -
   34.15 -		<ul>
   34.16 -			<li><m:a href="kontakt">Kontakt</m:a> – interní odkaz</li>
   34.17 -			<li><m:a href="anonym@example.com" typ="email">Pan <em>Anonym</em></m:a> – obfuskovaný e-mail</li>
   34.18 -			<li>
   34.19 -				<m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a> – vyhledávání pomocí Seznamu
   34.20 -				<m:podČarou>Byl založen roku 1996 <m:a href="Ivo Lukačovič" typ="wiki">Ivem Lukačovičem</m:a>, a stal se prvním českým internetovým vyhledávačem v České republice.
   34.21 -					<m:podČarou>Alespoň tak to píšou na <m:a href="Seznam.cz" typ="wiki">Wikipedii</m:a>. V poznámkách pod čarou můžete používat další značky, jak jste zvyklí z textu. Dokonce lze poznámky vnořovat<m:podČarou>Což nedává až tak velký smysl, ale dělat to klidně můžete :-)</m:podČarou> do sebe.</m:podČarou>
   34.22 -				</m:podČarou>
   34.23 -			</li>
   34.24 -			<li><m:a href="GNU/Linux a tučňák Tux" typ="google"><abbr title="GNU's Not Unix! – GNU Není Unix!">GNU</abbr>/Linux a tučňák Tux</m:a> – vyhledávání pomocí Googlu</li>
   34.25 -			<li><m:a href="1855" typ="rfc"><em>Net</em>iketa</m:a> – internetový standard <abbr title="request for comments">RFC</abbr></li>
   34.26 -			<li><m:a href="Linus Torvalds" typ="wiki">Linus Torvalds</m:a> – encyklopedie Wikipedia – česky</li>
   34.27 -			<li><m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a> – encyklopedie Wikipedia – anglicky</li>
   34.28 -		</ul>
   34.29 -
   34.30 -		<p>
   34.31 -			Podporované typy <m:a href="makro/a" typ="trac">odkazů</m:a> zapisujeme takto:
   34.32 -		</p>
   34.33 -
   34.34 -		<m:pre jazyk="xml"><![CDATA[
   34.35 -<m:a href="kontakt">Kontakt</m:a>
   34.36 -<m:a href="anonym@example.com" typ="email">Pan Anonym</m:a>
   34.37 -<m:a href="nejlepší linuxová distribuce" typ="seznam">Nejlepší distribuce</m:a>
   34.38 -<m:a href="GNU/Linux a tučňák Tux" typ="google">GNU/Linux a tučňák Tux</m:a>
   34.39 -<m:a href="1855" typ="rfc">Netiketa</m:a>
   34.40 -<m:a href="Linus Torvalds" typ="wiki">Linus Torvalds</m:a>
   34.41 -<m:a href="Richard Stallman" typ="wiki" jazyk="en">Richard Stallman</m:a>
   34.42 -]]></m:pre>
   34.43 -
   34.44 -		<p>
   34.45 -			Libovolné odkazy se zadávají pomocí úplně obyčejné XHTML značky, jak jste zvyklí :-)
   34.46 -		</p>
   34.47 -
   34.48 -		<m:pre jazyk="xml"><![CDATA[
   34.49 -<a href="http://example.com/">nějaká stránka</a>
   34.50 -<a href="mailto:anonym@example.com">nějaký e-mail</a>
   34.51 -]]></m:pre>
   34.52 -
   34.53 -		<p>
   34.54 -			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)
   34.55 -			můžeme klidně používat další makra nebo vkládat jiné značky
   34.56 -			– třeba obrázky nebo formátování 
   34.57 -			– nemusíme se omezovat na prostý text!
   34.58 -		</p>
   34.59 -
   34.60 -	</text>
   34.61 -
   34.62 -</stránka>
   34.63 -
    35.1 --- a/vstup/produkty.xml	Sun Jul 08 12:55:27 2012 +0200
    35.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    35.3 @@ -1,38 +0,0 @@
    35.4 -<stránka
    35.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    35.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    35.7 -	<nadpis>Produkty</nadpis>
    35.8 -	<perex>Co vyrábíme.</perex>
    35.9 -	<pořadí>20</pořadí>
   35.10 -
   35.11 -	<text xmlns="http://www.w3.org/1999/xhtml">
   35.12 -
   35.13 -		<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>
   35.14 -		<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>
   35.15 -
   35.16 -		<h2>Tučňák domácí</h2>
   35.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 <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>
   35.18 -
   35.19 -		<p>Vhodnost zvířete do domácnosti:</p>
   35.20 -		<m:měřák hodnota="95"/>
   35.21 -		<p><m:šifra>Tučňáky si prostě oblíbíte!</m:šifra></p>
   35.22 -
   35.23 -		<h2>Panda malá</h2>
   35.24 -		<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>
   35.25 -		<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>
   35.26 -
   35.27 -		<p>Vhodnost zvířete do domácnosti:</p>
   35.28 -		<m:měřák hodnota="80"/>
   35.29 -
   35.30 -		<!--
   35.31 -			Můžeme vložit vycpávkový text Lorem Ipsum:
   35.32 -
   35.33 -			<m:vycpávka odstavců="3"/>
   35.34 -
   35.35 -			Pozor: v současné verzi se stahuje ze Sítě při každém generování.
   35.36 -		-->
   35.37 -
   35.38 -	</text>
   35.39 -
   35.40 -</stránka>
   35.41 -
    36.1 --- a/vstup/skriptování-proměnné.pl	Sun Jul 08 12:55:27 2012 +0200
    36.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.3 @@ -1,17 +0,0 @@
    36.4 -#!/usr/bin/perl
    36.5 -
    36.6 -# Projde zdroják v javě a najde v něm,
    36.7 -# jaké proměnné prostředí se nastavují pro běh skriptů
    36.8 -# Výstup: tělo XHTML tabulky (řádky)
    36.9 -
   36.10 -use strict;
   36.11 -use warnings;
   36.12 -
   36.13 -open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
   36.14 -
   36.15 -while (<JAVA>) {
   36.16 -	if (/"(.*)=".*\/\/\s+env:(.*)/) {
   36.17 -		print "<tr><td><code>$1</code></td><td>$2</td></tr>\n";
   36.18 -	}
   36.19 -}
   36.20 -
    37.1 --- a/vstup/skriptování.xml	Sun Jul 08 12:55:27 2012 +0200
    37.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    37.3 @@ -1,358 +0,0 @@
    37.4 -<stránka
    37.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    37.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    37.7 -	<nadpis>Skriptování</nadpis>
    37.8 -	<perex>Na stránku můžeme vložit výstup skriptů.</perex>
    37.9 -	<pořadí>50</pořadí>
   37.10 -
   37.11 -	<text xmlns="http://www.w3.org/1999/xhtml">
   37.12 -
   37.13 -		<p>
   37.14 -			Na stránkách můžeme používat skripty.
   37.15 -			Spouští se při generování a jejich standardní výstup se vloží do stránky.
   37.16 -			Třeba doprostřed textu ostavce nebo do jiného elementu.
   37.17 -		</p>
   37.18 -		<p>
   37.19 -			Příklad:
   37.20 -			<em>
   37.21 -				Tyto stránky byly vygenerované v systému
   37.22 -				<span title="tento text pochází ze skriptu"><m:skript jazyk="bash">uname -o</m:skript></span>.
   37.23 -			</em>
   37.24 -		</p>
   37.25 -
   37.26 -		<p>
   37.27 -			Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah – 
   37.28 -			jak prostý text, tak i XHTML fragmenty.<m:podČarou>
   37.29 -				Zapíná se pomocí atributu <code>výstup="xhtml"</code> a generátor pak kontroluje správné formátování – 
   37.30 -				nestane se vám, že byste omylem vygenerovali stránky s překříženými nebo neuzavřenými značkami.
   37.31 -				Výchozím jmenným prostorem je XHTML a je dostupný i jmenný prostor pro makra (<code>m</code>).
   37.32 -			</m:podČarou>
   37.33 -		</p>
   37.34 -		<p>
   37.35 -			Skriptování ale může být nebezpečné, pokud byste spustili generátor na stránkách,
   37.36 -			které psal někdo nedůvěryhodný a vložil do nich škodlivý kód.
   37.37 -			Kromě toho, ukázková sada stránek by měla být přeložitelná kdekoli a mít minimum závislostí
   37.38 -			(ne každý musí mít nainstalovaný Perl nebo Python či další podporované interprety).
   37.39 -			Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru <code>web.conf</code>.
   37.40 -		</p>
   37.41 -
   37.42 -		<h2>Podporované jazyky</h2>
   37.43 -		<p>
   37.44 -			V současnosti jsou podporované tyto jazyky:
   37.45 -		</p>
   37.46 -
   37.47 -		<table>
   37.48 -			<thead>
   37.49 -				<tr>
   37.50 -					<td>Jazyk</td>
   37.51 -					<td>Interpret</td>
   37.52 -				</tr>
   37.53 -			</thead>
   37.54 -			<tbody>
   37.55 -				<m:skript jazyk="perl" výstup="xhtml"><![CDATA[
   37.56 -use strict;
   37.57 -use warnings;
   37.58 -
   37.59 -open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
   37.60 -
   37.61 -while (<JAVA>) {
   37.62 -	if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) {
   37.63 -		print "<tr><td><code>$1</code></td><td><code>$2</code></td></tr>\n";
   37.64 -	}
   37.65 -}
   37.66 -				]]></m:skript>
   37.67 -			</tbody>
   37.68 -		</table>
   37.69 -
   37.70 -		<h3>Perl – ukázka</h3>
   37.71 -		<p>Jazyky použité nebo citované na této stránce:</p>
   37.72 -		<!--
   37.73 -			Lepšího výsledku bychom samozřejmě dosáhli pomocí XPath dotazu,
   37.74 -			ale toto je příklad na Perl :-)
   37.75 -		-->
   37.76 -		<pre><m:skript jazyk="perl"><![CDATA[
   37.77 -use strict;
   37.78 -use warnings;
   37.79 -
   37.80 -open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"}) or die $!;
   37.81 -my %skripty;
   37.82 -
   37.83 -while (<XML>) {
   37.84 -	if (/m:skript\s+jazyk="(\w+)"/) {
   37.85 -		$skripty{$1}++;
   37.86 -	}
   37.87 -}
   37.88 -
   37.89 -for(keys(%skripty)) {
   37.90 -	print "$skripty{$_}×\t $_\n";
   37.91 -}
   37.92 -			]]></m:skript></pre>
   37.93 -
   37.94 -		<h3>BASH – ukázka</h3>
   37.95 -		<pre><m:skript jazyk="bash"><![CDATA[
   37.96 -echo -n "Právě je: ";
   37.97 -date;
   37.98 -echo -n "Operační systém: ";
   37.99 -uname -o;
  37.100 -echo -n "SHA-1 otisk zdrojáku této stránky: ";
  37.101 -sha1sum "$XWG_STRANKA_SOUBOR" | cut -f 1 -d " ";
  37.102 -			]]></m:skript></pre>
  37.103 -
  37.104 -			<!--
  37.105 -			<h2>PHP</h2>
  37.106 -			<pre style="max-height: 200px;"><m:skript jazyk="php"><![CDATA[
  37.107 -<?php
  37.108 -phpinfo();
  37.109 -?>
  37.110 -			]]></m:skript></pre>
  37.111 -			-->
  37.112 -
  37.113 -			<h2>Proměnné prostředí</h2>
  37.114 -			<p>
  37.115 -				Ve skriptech máme dostupné následující proměnné prostředí:
  37.116 -			</p>
  37.117 -
  37.118 -			<table>
  37.119 -				<thead>
  37.120 -					<tr>
  37.121 -						<td>Proměnná</td>
  37.122 -						<td>Význam</td>
  37.123 -					</tr>
  37.124 -				</thead>
  37.125 -				<tbody>
  37.126 -					<!-- Pokud načítáme skript ze souboru, je atribut jazyk nepovinný. -->
  37.127 -					<m:skript jazyk="perl" výstup="xhtml" src="skriptování-proměnné.pl"/>
  37.128 -				</tbody>
  37.129 -			</table>
  37.130 -
  37.131 -			<p>
  37.132 -				Kód:
  37.133 -			</p>
  37.134 -
  37.135 -			<m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash">
  37.136 -echo "URI:    $XWG_STRANKA_URI";
  37.137 -echo "Soubor: $XWG_STRANKA_SOUBOR";
  37.138 -echo "Nadpis: $XWG_STRANKA_NADPIS";
  37.139 -echo "Perex:  $XWG_STRANKA_PEREX";
  37.140 -</m:skript>]]></m:pre>
  37.141 -
  37.142 -			<p>nám vypíše:</p>
  37.143 -
  37.144 -			<pre><m:skript jazyk="bash"><![CDATA[
  37.145 -echo "URI:    $XWG_STRANKA_URI" | sed "s#/mnt/sshfs/[^/]*/#/#" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
  37.146 -echo "Soubor: $XWG_STRANKA_SOUBOR" | sed "s#/mnt/sshfs/[^/]*/#/#" | sed s/\\/home\\/$USER/\\/home\\/xwg/g;
  37.147 -echo "Nadpis: $XWG_STRANKA_NADPIS";
  37.148 -echo "Perex:  $XWG_STRANKA_PEREX";
  37.149 -		]]></m:skript></pre>
  37.150 -
  37.151 -		<h2 id="makraZeSkriptů">Makra ze skriptů</h2>
  37.152 -		<p>
  37.153 -			XML generované skriptem může také obsahovat makra, která se následně interptetují.
  37.154 -			<m:skript jazyk="bash" výstup="xhtml"><![CDATA[
  37.155 -echo '<m:skript jazyk="bash">'; # Ty zrůdo! :-)
  37.156 -echo 'echo "Takže můžeš skriptovat, když skriptuješ,";';
  37.157 -echo '</m:skript>';
  37.158 -			]]></m:skript>
  37.159 -			nebo dělat něco užitečnějšího.
  37.160 -		</p>
  37.161 -		
  37.162 -		<m:skript jazyk="perl" výstup="xhtml"><![CDATA[
  37.163 -use strict;
  37.164 -use warnings;
  37.165 -
  37.166 -my $adresar = "vstup/makra";
  37.167 -
  37.168 -print "<m:diagram nadpis='Uživatelská makra v adresáři $adresar'>\n";
  37.169 -print "	node		[shape=\"box\"];\n";
  37.170 -print "	koren	[label=\"Uživatelská makra\"];\n";
  37.171 -
  37.172 -opendir(DIR, $adresar) or die $!;
  37.173 -my $i = 0;
  37.174 -while (readdir(DIR)) {
  37.175 -	next if (/^\./);
  37.176 -	# Měli bychom ošetřit zvláštní znaky v názvech souborů,
  37.177 -	# abychom nezpůsobili chybu GraphVizu.
  37.178 -	print "	n$i		[label=\"$_\"];\n";
  37.179 -	print "	koren	-> n$i;\n";
  37.180 -	$i++;
  37.181 -}
  37.182 -
  37.183 -print "</m:diagram>";
  37.184 -closedir(DIR);
  37.185 -		]]></m:skript>
  37.186 -
  37.187 -		<p>…třeba vygenerovat tento diagram následujícím perlovským skriptem:</p>
  37.188 -
  37.189 -		<m:pre jazyk="perl"><![CDATA[
  37.190 -use strict;
  37.191 -use warnings;
  37.192 -
  37.193 -my $adresar = "vstup/makra";
  37.194 -
  37.195 -print "<m:diagram nadpis='Uživatelská makra v adresáři $adresar'>\n";
  37.196 -print "	node	[shape=\"box\"];\n";
  37.197 -print "	koren	[label=\"Uživatelská makra\"];\n";
  37.198 -
  37.199 -opendir(DIR, $adresar) or die $!;
  37.200 -my $i = 0;
  37.201 -while (readdir(DIR)) {
  37.202 -	next if (/^\./);
  37.203 -	# Měli bychom ošetřit zvláštní znaky v názvech souborů,
  37.204 -	# abychom nezpůsobili chybu GraphVizu.
  37.205 -	print "	n$i		[label=\"$_\"];\n";
  37.206 -	print "	koren	-> n$i;\n";
  37.207 -	$i++;
  37.208 -}
  37.209 -
  37.210 -print "</m:diagram>";
  37.211 -closedir(DIR);]]></m:pre>
  37.212 -
  37.213 -		<p>
  37.214 -			Který vložíme zabalený v <code><![CDATA[<m:skript jazyk="perl" výstup="xhtml"> … </m:skript>]]></code> do stránky.
  37.215 -		</p>
  37.216 -		<p>
  37.217 -			Známá chyba: ve skriptech zatím nefungují poznámky pod čarou (a není jisté, jestli kdy fungovat budou – pravděpodobně by to vyžadovalo vícefázové zpracování).
  37.218 -		</p>
  37.219 -
  37.220 -		<h2>Makra ve skriptech</h2>
  37.221 -		
  37.222 -		<p>
  37.223 -			Uvnitř zdrojového kódu skriptu můžeme používat jiná makra.
  37.224 -			Např. tento kód:
  37.225 -		</p>
  37.226 -
  37.227 -		<m:pre jazyk="xml"><![CDATA[<pre>
  37.228 -	<m:skript jazyk="perl">
  37.229 -		print "Náš podnik se jmenuje <m:firma/>";
  37.230 -	</m:skript>
  37.231 -</pre>]]></m:pre>
  37.232 -
  37.233 -		<p>
  37.234 -			nám vygeneruje:
  37.235 -		</p>
  37.236 -
  37.237 -		<pre><m:skript jazyk="perl">
  37.238 -				print "Náš podnik se jmenuje <m:firma/>";
  37.239 -		</m:skript></pre>
  37.240 -
  37.241 -		<p>
  37.242 -			Můžete si tak vytvořit makra pro opakující se části
  37.243 -			a používat je jak v textu stránek, tak ve skriptech nebo diagramech.<m:podČarou>
  37.244 -				Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje,
  37.245 -				je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> 
  37.246 -				pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky).
  37.247 -			</m:podČarou>
  37.248 -		</p>
  37.249 -		
  37.250 -		<p>
  37.251 -			Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu
  37.252 -			– makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy
  37.253 -			a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu.
  37.254 -		</p>
  37.255 -		
  37.256 -		<pre><m:skript jazyk="bash">
  37.257 -			echo "S naší <m:firma pád="7"/> budete jistě spokojeni!";
  37.258 -			echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
  37.259 -		</m:skript></pre>
  37.260 -		
  37.261 -		<p>
  37.262 -			Zdrojový kód:
  37.263 -		</p>
  37.264 -		
  37.265 -		<!-- Pozor: ve zvýrazňovači syntaxe Pygmentize je chyba – neumí diakritiku – správně je: pád="7" -->
  37.266 -		<m:pre jazyk="xml"><![CDATA[<pre>
  37.267 -	<m:skript jazyk="bash">
  37.268 -		echo "S naší <m:firma pad="7"/> budete jistě spokojeni!";
  37.269 -		echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
  37.270 -	</m:skript>
  37.271 -</pre>]]></m:pre>
  37.272 -
  37.273 -		<p>
  37.274 -			Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text,
  37.275 -			který by šlo vložit přímo do XML stránky
  37.276 -			– předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-)
  37.277 -		</p>
  37.278 -
  37.279 -		<h2>Skripty v makrech</h2>
  37.280 -		<p>
  37.281 -			Uvnitř definic maker můžeme volat<m:podČarou>
  37.282 -				Ovšem trochu jiným způsobem, než ve stránkách –
  37.283 -				nacházíme se totiž v <em>programu</em> (XSL šablona definující makro)
  37.284 -				nikoli v <em>datovém souboru</em> (XML stránka).
  37.285 -			</m:podČarou>
  37.286 -			jiná makra – mj. skripty.
  37.287 -			Toho jsme využili v makru, které generuje tabulku verzí z mercurialu
  37.288 -			– ten umí vypsat historii úložiště v XML, které následně snadno zpracujeme v XSLT.
  37.289 -		</p>
  37.290 -
  37.291 -		<m:hg-verze/>
  37.292 -
  37.293 -		<p>
  37.294 -			Toto makro naleznete v souboru <code>vstup/makra/hg-verze.xsl</code>.
  37.295 -		</p>
  37.296 -
  37.297 -		<h2>Vnořování maker</h2>
  37.298 -		<p>
  37.299 -			Trochu jiný případ je vnořování maker na stránce.
  37.300 -			Např. si chceme vypsat vybrané internetové služby:
  37.301 -		</p>
  37.302 -		<m:tabulka>
  37.303 -			<m:skript jazyk="perl"><![CDATA[
  37.304 -use strict;
  37.305 -use warnings;
  37.306 -
  37.307 -print "Port\tSlužba\tProtokol\n";
  37.308 -open(S, "<", "/etc/services") or die $!;
  37.309 -while (<S>) {
  37.310 -	if (/(\w+)\s+(21|22|25|80)\/(tcp)/) {
  37.311 -		print "$2\t$1\t$3\n";
  37.312 -	}
  37.313 -}
  37.314 -			]]></m:skript>
  37.315 -		</m:tabulka>
  37.316 -		
  37.317 -		<p>
  37.318 -			Pro vygenerování použijeme dvě makra – tabulku a skript – která vložíme do textu stránky:
  37.319 -		</p>
  37.320 -		
  37.321 -		<m:pre jazyk="xml"><![CDATA[
  37.322 -<m:tabulka>
  37.323 -	<m:skript jazyk="perl"><![CDATA[
  37.324 -		print "Port\tSlužba\tProtokol\n";
  37.325 -		open(S, "<", "/etc/services") or die $!;
  37.326 -		while (<S>) {
  37.327 -			if (/(\w+)\s+(21|22|25|80)\/(tcp)/) {
  37.328 -				print "$2\t$1\t$3\n";
  37.329 -			}
  37.330 -		}
  37.331 -	]]]]>&gt;<![CDATA[</m:skript>
  37.332 -</m:tabulka>]]></m:pre>
  37.333 -
  37.334 -		<p>
  37.335 -			Ve skriptu v tomto případě negenerujeme XHTML značky, ale CSV (s tabulátory)
  37.336 -			a o převod na XHTML tabulku se postará XSL šablona.
  37.337 -		</p>
  37.338 -
  37.339 -		<!--
  37.340 -			Nebo to taky můžeme napsat na jeden řádek:
  37.341 -			cat /etc/services | perl -ne 'if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { print "$2\t$1\t$3\n";}'
  37.342 -			a vložit do tabulky jako BASH skript :-)
  37.343 -		-->
  37.344 -
  37.345 -		<p>
  37.346 -			Podobně bychom mohli postupovat i u <a href="#makraZeSkriptů">diagramu</a> –
  37.347 -			negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část.
  37.348 -			Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky.
  37.349 -		</p>
  37.350 -
  37.351 -		<p>
  37.352 -			Skriptování lze použít i pro generování zdrojového kódu, který bude následně zvýrazněn
  37.353 -			pomocí značky <code>&lt;m:pre jazyk="…"/&gt;</code>.
  37.354 -			Toho využíváme na stránce <m:a href="zdrojáky">Zdrojové kódy</m:a> v případě SQL a XML ukázek.
  37.355 -			Skript můžeme použít mj. i ke zkrácení zdrojáku – když chceme vypsat jen jeho relevantní část.
  37.356 -		</p>
  37.357 -
  37.358 -	</text>
  37.359 -
  37.360 -</stránka>
  37.361 -
    38.1 --- a/vstup/služby.xml	Sun Jul 08 12:55:27 2012 +0200
    38.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.3 @@ -1,42 +0,0 @@
    38.4 -<stránka 
    38.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    38.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    38.7 -	<nadpis>Služby</nadpis>
    38.8 -	<perex>Co poskytujeme.</perex>
    38.9 -	<pořadí>30</pořadí>
   38.10 -
   38.11 -	<text xmlns="http://www.w3.org/1999/xhtml">
   38.12 -
   38.13 -		<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>
   38.14 -		<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>
   38.15 -
   38.16 -		<h2>Pravidelné krmení ptáků</h2>
   38.17 -		<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>
   38.18 -
   38.19 -		<m:tabulka>
   38.20 -			Velikost ptáka		Cena za jedno krmení
   38.21 -			malý				250
   38.22 -			střední				500
   38.23 -			velký				1000
   38.24 -		</m:tabulka>
   38.25 -
   38.26 -		<p>Dodáváme pouze prvotřídní krmivo.</p>
   38.27 -
   38.28 -		<m:wiki>
   38.29 -Pravidelné krmení savců
   38.30 ------------------------
   38.31 -
   38.32 -Tato služba je určena především pro pakoně a slony, vhodná je ale i pro jednorožce. _Vivamus nec dictum dolor_. Aliquam et tellus dolor. Curabitur et est sapien. Sed nec neque massa. Markdown 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.
   38.33 -
   38.34 -Aliquam erat volutpat. Quisque vitae libero est. Aliquam erat volutpat. [Integer](http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html) 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.
   38.35 -
   38.36 -Dodáváme pouze prvotřídní krmivo.
   38.37 -		</m:wiki>
   38.38 -
   38.39 -		<h2>Jednorázová výměna podestýlky</h2>
   38.40 -		<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>
   38.41 -		<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>
   38.42 -	</text>
   38.43 -
   38.44 -</stránka>
   38.45 -
    39.1 --- a/vstup/telefonní-seznam.csv	Sun Jul 08 12:55:27 2012 +0200
    39.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.3 @@ -1,6 +0,0 @@
    39.4 -Osoba;Místnost;Telefon
    39.5 -pan továrník (majitel);1;+420 604 123456
    39.6 -pan ředitel;2;+420 604 123654
    39.7 -slečna sekretářka;2;+420 604 123465
    39.8 -Linuxový guru;3;+420 604 123546
    39.9 -Softwarový architekt;4;+420 604 123645
    40.1 --- a/vstup/web.conf	Sun Jul 08 12:55:27 2012 +0200
    40.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.3 @@ -1,39 +0,0 @@
    40.4 -<web xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace">
    40.5 -	<název>Chovatelská stanice tučňáků</název>
    40.6 -	<podtitul>vše pro tučňáky</podtitul>
    40.7 -	<autor>
    40.8 -		<jméno>František Kučera</jméno>
    40.9 -		<email>nereknu_nechci_spam@example.com</email>
   40.10 -	</autor>
   40.11 -
   40.12 -	<!-- TODO: XML Schéma a popisy v něm-->
   40.13 -
   40.14 -	<!-- Základní URL našeho webu, mělo by končit lomítkem – pro generování RSS/Atom -->
   40.15 -	<url>https://frantovo.cz/projekty/xml-web-generator/demo1/</url>
   40.16 -
   40.17 -	<!-- ID našeho webu (každý by si měl vygenerovat svoje) – pro Atom -->
   40.18 -	<uuid>399a714c-956e-444c-a8f4-afe8f0df802a</uuid>
   40.19 -
   40.20 -	<!-- Kód našeho webu, použije se jako součást identifikátoru položek v RSS/Atomu -->
   40.21 -	<kod>PokusnyWeb123</kod>
   40.22 -
   40.23 -	<!--
   40.24 -		Odkazy na JavaScripty a kaskádové styly, které se vloží do hlavičky každé stránky.
   40.25 -		Můžeme jich uvést libovolné množství.
   40.26 -	-->
   40.27 -	<css>css/styl.css</css>
   40.28 -	<css>css/syntaxe.css</css>
   40.29 -	<js>js/skript.js</js>
   40.30 -
   40.31 -	<skriptování>
   40.32 -		<!--
   40.33 -			povolit – skripty se vykonají
   40.34 -			zakázat – skripty se nevykonají a dojde k chybě
   40.35 -			ignorovat – skripty se v tichosti přeskočí 
   40.36 -			varovat – skripty se v přeskočí a na jejich místo se vloží varování – výchozí možnost
   40.37 -			vložit – místo výstupu skriptu se vloží jeho zdroják
   40.38 -		-->
   40.39 -		<režim></režim>
   40.40 -	</skriptování>
   40.41 -</web>
   40.42 -
    41.1 --- a/vstup/zdrojáky.xml	Sun Jul 08 12:55:27 2012 +0200
    41.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.3 @@ -1,110 +0,0 @@
    41.4 -<stránka
    41.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    41.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    41.7 -	<nadpis>Zdrojové kódy</nadpis>
    41.8 -	<perex>Ukázka našich zdrojových kódů.</perex>
    41.9 -	<pořadí>40</pořadí>
   41.10 -
   41.11 -	<text xmlns="http://www.w3.org/1999/xhtml">
   41.12 -
   41.13 -		<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>
   41.14 -		<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>
   41.15 -
   41.16 -		<h2>C++</h2>
   41.17 -		<p>Ukázka převzatá ze stránky <a href="https://podnik.frantovo.cz/s/zdrojovy-kod">Zdrojový kód</a>:</p>
   41.18 -
   41.19 -		<m:pre jazyk="cpp"><![CDATA[# include <iostream>
   41.20 -using namespace std;
   41.21 -
   41.22 -int main(int argc, char *argv[]) {
   41.23 -
   41.24 -	cout << "Chcete slyšet vtip?" << endl;
   41.25 -	char odpoved = cin.get();
   41.26 -	cin.get();
   41.27 -
   41.28 -	if (odpoved == 'a') {
   41.29 -		cout
   41.30 -		<< "Lidé se dělí do 10 skupin." << endl
   41.31 -		<< "Na ty, kteří rozumějí binárnímu kódu, "
   41.32 -		<< "a na ty ostatní." << endl;
   41.33 -		return 0;
   41.34 -	} else if (odpoved == 'n') {
   41.35 -		cout << "Dobře, tak ne." << endl;
   41.36 -		return 0;
   41.37 -	} else {
   41.38 -		cout
   41.39 -		<< "Nerozumím odpovědi "
   41.40 -		<< "– očekávám „ano“ nebo „ne“." << endl;
   41.41 -		return 1;
   41.42 -	}
   41.43 -}]]></m:pre>
   41.44 -
   41.45 -		<h2>Java</h2>
   41.46 -
   41.47 -		<m:pre jazyk="java"><m:skript jazyk="bash">
   41.48 -			cat "šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java" | awk 'NR > 17 {print}';
   41.49 -		</m:skript></m:pre>
   41.50 -
   41.51 -		<h2>XML</h2>
   41.52 -
   41.53 -		<p>
   41.54 -			Zdroják aktuální stránky – <abbr title="diakritika byla odstraněna, protože v Pygmentize je chyba – neumí značky s diakritikou, přestože to je platné XML">upravený</abbr> a zkrácený pomocí <m:a href="skriptování">skriptu</m:a>:
   41.55 -		</p>
   41.56 -		<m:pre jazyk="xml"><m:skript jazyk="bash">
   41.57 -# V zvýrazňovači Pygmentize je chyba: nepodporuje znaky s diakritikou, přestože v daném jazyce můžou být.
   41.58 -# TODO: opravit to tam (zřejmě špatný regulární výraz).
   41.59 -
   41.60 -cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | head -n 8;
   41.61 -echo -e "\t\t… zkráceno …";
   41.62 -cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | tail -n 4;
   41.63 -
   41.64 -# Případně:
   41.65 -# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | head -n 8;
   41.66 -# echo -e "\t\t… zkráceno …";
   41.67 -# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | tail -n 4;
   41.68 -		</m:skript></m:pre>
   41.69 -
   41.70 -		<p>Další ukázka XML: <m:a href="šablona/makra/tabulka.xsl" typ="zdroják" řádek="25">tabulka.xsl</m:a>.</p>
   41.71 -
   41.72 -		<h2>BASH</h2>
   41.73 -
   41.74 -		<m:pre jazyk="bash" src="matrixový-spořič.sh" odkaz="ano"/>
   41.75 -
   41.76 -		<h2>SQL</h2>
   41.77 -
   41.78 -		<p>
   41.79 -			Tento SQL kód není zapsán přímo ve stránce, ale byl vygenerován pomocí <m:a href="skriptování">skriptu</m:a>,
   41.80 -			a poté zvýrazněn.
   41.81 -		</p>
   41.82 -
   41.83 -		<m:pre jazyk="sql"><m:skript jazyk="perl"><![CDATA[
   41.84 -use strict;
   41.85 -use warnings;
   41.86 -
   41.87 -for (my $i = 0; $i < 10; $i++) {
   41.88 -	print "INSERT INTO tabulka VALUES ('abc $i', 'def ". $i*($i+1) . "', " . 2**$i . ");\n";
   41.89 -}
   41.90 -		]]></m:skript></m:pre>
   41.91 -
   41.92 -		<h2>Chyby</h2>
   41.93 -
   41.94 -		<p>Následující ukázky kódu nebudou zvýrazněné:</p>
   41.95 -
   41.96 -		<m:pre jazyk="xxxxxxxx">Nepodporovaný jazyk → syntaxe nebude zvýrazněna &lt;blee/&gt;</m:pre>
   41.97 -
   41.98 -		<m:pre>#!/bin/bash
   41.99 -# tento kód nebude zvýrazněn, protože atribut „jazyk“ chybí
  41.100 -# &lt;blee/&gt;</m:pre>
  41.101 -
  41.102 -		<h2>Objekty</h2>
  41.103 -
  41.104 -		<p>
  41.105 -			Při vývoji softwaru používáme <abbr title="objektově orientované programování">OOP</abbr>.
  41.106 -		</p>
  41.107 -
  41.108 -		<m:diagram src="kočka-a-pes-oop.dot" nadpis="Třídy Kočka a Pes jsou potomkem třídy Zvíře"/>
  41.109 -
  41.110 -	</text>
  41.111 -
  41.112 -</stránka>
  41.113 -
    42.1 --- a/vstup/záhlaví.inc	Sun Jul 08 12:55:27 2012 +0200
    42.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    42.3 @@ -1,10 +0,0 @@
    42.4 -<stránka
    42.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    42.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    42.7 -	<text xmlns="http://www.w3.org/1999/xhtml">
    42.8 -		<p class="logo">
    42.9 -			<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>
   42.10 -		</p>
   42.11 -	</text>
   42.12 -</stránka>
   42.13 -
    43.1 --- a/vstup/zápatí.inc	Sun Jul 08 12:55:27 2012 +0200
    43.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    43.3 @@ -1,8 +0,0 @@
    43.4 -<stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana">
    43.5 -	<text xmlns="http://www.w3.org/1999/xhtml">
    43.6 -		<p>
    43.7 -			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.
    43.8 -		</p>
    43.9 -	</text>
   43.10 -</stránka>
   43.11 -
    44.1 --- a/vstup/šachy.xml	Sun Jul 08 12:55:27 2012 +0200
    44.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    44.3 @@ -1,24 +0,0 @@
    44.4 -<stránka
    44.5 -	xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
    44.6 -	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro">
    44.7 -	<nadpis>Šachy</nadpis>
    44.8 -	<perex>Královská hra.</perex>
    44.9 -
   44.10 -	<text xmlns="http://www.w3.org/1999/xhtml">
   44.11 -
   44.12 -		<m:tabulka>
   44.13 -			 	a	b	c	d	e	f	g	h
   44.14 -			8	♖	♘	♗	♔	♕	♗	♘	♖
   44.15 -			7	♙	♙	♙	♙	♙	♙	♙	♙
   44.16 -			6	 	 	 	 	 	 	 	 
   44.17 -			5	 	 	 	 	 	 	 	 
   44.18 -			4	 	 	 	 	 	 	 	 
   44.19 -			3	 	 	 	 	 	 	 	 
   44.20 -			2	♟	♟	♟	♟	♟	♟	♟	♟
   44.21 -			1	♜	♞	♝	♚	♛	♝	♞	♜
   44.22 -		</m:tabulka>
   44.23 -
   44.24 -	</text>
   44.25 -
   44.26 -</stránka>
   44.27 -