Volitelná podpora zaostalých prohlížečů (MSIE).
--- a/build.xml Thu Apr 28 00:16:00 2011 +0200
+++ b/build.xml Thu Apr 28 00:16:27 2011 +0200
@@ -7,12 +7,18 @@
<property name="temp" value="temp"/>
<property name="funkce" value="${šablona}/funkce/build/classes"/>
+ <property name="vstupníPřípona" value=".xml"/>
+ <property name="výstupníPřípona" value=".xhtml"/>
+
<target name="generuj" description="Vygeneruje kompletní web." depends="kompiluj-funkce,stránky,agregace">
</target>
<target name="stránky" description="Vygeneruje samotné XHTML webové stránky." depends="statický-obsah">
- <xslt basedir="${vstup}" destdir="${výstup}" includes="*.xml" extension=".xhtml" style="${šablona}/stránka.xsl">
- <param name="konfigurák" expression="../${vstup}/"/>
+ <xslt basedir="${vstup}" destdir="${výstup}" includes="*${vstupníPřípona}" extension="${výstupníPřípona}" style="${šablona}/stránka.xsl">
+ <param name="konfigurák" expression="../${vstup}/"/>
+ <param name="podporaZaostalýchProhlížečů" expression="false"/>
+ <param name="vstupníPřípona" expression="${vstupníPřípona}"/>
+ <param name="výstupníPřípona" expression="${výstupníPřípona}"/>
<classpath location="/usr/share/java/saxonb-9.0.jar"/>
<classpath location="${funkce}"/>
<factory name="net.sf.saxon.TransformerFactoryImpl">
@@ -26,6 +32,8 @@
<!-- Atom -->
<xslt in="${vstup}/web.conf" out="${výstup}/atom.xml" style="${šablona}/atom.xsl">
+ <param name="vstupníPřípona" expression="${vstupníPřípona}"/>
+ <param name="výstupníPřípona" expression="${výstupníPřípona}"/>
<classpath location="/usr/share/java/saxonb-9.0.jar"/>
<classpath location="${funkce}"/>
<factory name="net.sf.saxon.TransformerFactoryImpl">
@@ -42,7 +50,7 @@
</factory>
</xslt>
- <!-- TODO: Sitemap.xml -->
+ <!-- Sitemap.xml -->
<xslt in="${výstup}/atom.xml" out="${výstup}/sitemap.xml" style="${šablona}/sitemap.xsl">
<classpath location="/usr/share/java/saxonb-9.0.jar"/>
<classpath location="${funkce}"/>
--- a/vstup/css/styl.css Thu Apr 28 00:16:00 2011 +0200
+++ b/vstup/css/styl.css Thu Apr 28 00:16:27 2011 +0200
@@ -20,7 +20,7 @@
}
#nabídka {
- width: 160px;
+ width: 10.3em;
position: relative;
left: -20px;
top: -12px;
--- a/vstup/záhlaví.inc Thu Apr 28 00:16:00 2011 +0200
+++ b/vstup/záhlaví.inc Thu Apr 28 00:16:27 2011 +0200
@@ -1,7 +1,7 @@
<stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/prostor">
<text xmlns="http://www.w3.org/1999/xhtml">
<p class="logo">
- [tady bude časem naše logo]
+ <img src="grafika/logo.png" alt="XML Web generátor"/>
</p>
</text>
</stránka>
--- a/šablona/atom.xsl Thu Apr 28 00:16:00 2011 +0200
+++ b/šablona/atom.xsl Thu Apr 28 00:16:27 2011 +0200
@@ -8,6 +8,9 @@
exclude-result-prefixes="fn g j">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+ <xsl:param name="vstupníPřípona" select="'.xml'"/>
+ <xsl:param name="výstupníPřípona" select="'.xhtml'"/>
+
<xsl:template match="/">
<feed>
@@ -23,11 +26,11 @@
<id><xsl:value-of select="concat('urn:uuid:', g:web/g:uuid)"/></id>
<xsl:variable name="konfigurace" select="/"/>
- <xsl:for-each select="collection('../vstup/?select=*.xml')[empty(g:stránka/g:skrytá) or not(g:stránka/g:skrytá)]">
+ <xsl:for-each select="collection(concat('../vstup/?select=*', $vstupníPřípona))[empty(g:stránka/g:skrytá) or not(g:stránka/g:skrytá)]">
<entry>
<title><xsl:value-of select="g:stránka/g:nadpis"/></title>
- <xsl:variable name="soubor" select="replace(tokenize(document-uri(.), '/')[last()], '.xml', '')"/>
- <link href="{concat($konfigurace/g:web/g:url, encode-for-uri($soubor), '.xhtml')}" />
+ <xsl:variable name="soubor" select="replace(tokenize(document-uri(.), '/')[last()], $vstupníPřípona, '')"/>
+ <link href="{concat($konfigurace/g:web/g:url, encode-for-uri($soubor), $výstupníPřípona)}" />
<id><xsl:value-of select="concat('urn:', $konfigurace/g:web/g:kod ,':strana:', encode-for-uri($soubor))"/></id>
<!--2010-10-09T20:51:04Z-->
<updated><xsl:value-of select="j:posledníZměna(document-uri(.))"/></updated>
--- a/šablona/stránka.xsl Thu Apr 28 00:16:00 2011 +0200
+++ b/šablona/stránka.xsl Thu Apr 28 00:16:27 2011 +0200
@@ -6,7 +6,8 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:svg="http://www.w3.org/2000/svg"
- exclude-result-prefixes="fn h g">
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ exclude-result-prefixes="fn h g xs">
<xsl:output
method="xml"
indent="yes"
@@ -16,6 +17,10 @@
<!-- Vstupní adresář: -->
<xsl:param name="vstup" select="'../vstup/'"/>
+ <xsl:param name="vstupníPřípona" select="'.xml'"/>
+ <xsl:param name="výstupníPřípona" select="'.xhtml'"/>
+ <xsl:param name="vsuvkováPřípona" select="'.inc'"/>
+ <xsl:param name="podporaZaostalýchProhlížečů" select="false()" as="xs:boolean"/>
<!-- Celý dokument: -->
<xsl:template match="/">
@@ -31,17 +36,17 @@
<body>
<div id="tělo">
<div id="záhlaví">
- <xsl:apply-templates select="document(fn:encode-for-uri(concat($vstup, 'záhlaví.inc')))/g:stránka/h:text/node()"/>
+ <xsl:apply-templates select="document(fn:encode-for-uri(concat($vstup, 'záhlaví', $vsuvkováPřípona)))/g:stránka/h:text/node()"/>
</div>
<div id="vnitřek">
<h1><xsl:value-of select="g:stránka/g:nadpis"/></h1>
<ul id="nabídka">
- <xsl:for-each select="collection('../vstup/?select=*.xml')[g:stránka/g:pořadí]">
+ <xsl:for-each select="collection(concat('../vstup/?select=*', $vstupníPřípona))[g:stránka/g:pořadí]">
<xsl:sort select="empty(./g:stránka/g:pořadí)"/>
<xsl:sort select="./g:stránka/g:pořadí"/>
<li>
<xsl:variable name="xmlSoubor" select="tokenize(document-uri(.), '/')[last()]"/>
- <xsl:variable name="xhtmlSoubor" select="replace($xmlSoubor, '.xml', '.xhtml')"/>
+ <xsl:variable name="xhtmlSoubor" select="replace($xmlSoubor, $vstupníPřípona, $výstupníPřípona)"/>
<a href="{fn:encode-for-uri($xhtmlSoubor)}"><xsl:value-of select="./g:stránka/g:nadpis"/></a>
</li>
</xsl:for-each>
@@ -51,7 +56,7 @@
</div>
</div>
<div id="zápatí">
- <xsl:apply-templates select="document(fn:encode-for-uri(concat($vstup, 'zápatí.inc')))/g:stránka/h:text/node()"/>
+ <xsl:apply-templates select="document(fn:encode-for-uri(concat($vstup, 'zápatí', $vsuvkováPřípona)))/g:stránka/h:text/node()"/>
</div>
</div>
</body>
@@ -67,8 +72,19 @@
</xsl:template>
<!-- Odkazy na JavaScript a kaskádové styly -->
- <xsl:template match="g:web/g:js">
- <script src="{text()}" type="text/javascript" />
+ <xsl:template name="varováníRetardace">
+ <xsl:if test="$podporaZaostalýchProhlížečů">
+ <xsl:comment>
+ Generátor byl spuštěn v režimu podpory zaostalých prohlížečů.
+ Uživatelům doporučujeme upgrade na skutečný WWW prohlížeč,
+ jako je např. Firefox nebo Chromium (případně Opera či Safari).
+ </xsl:comment>
+ </xsl:if>
+ </xsl:template>
+ <xsl:template match="g:web/g:js">
+ <script src="{text()}" type="text/javascript">
+ <xsl:call-template name="varováníRetardace"/>
+ </script>
</xsl:template>
<xsl:template match="g:web/g:css">
<link href="{text()}" type="text/css" rel="StyleSheet" />