Changeset 10:4e70453a027f
- Timestamp:
- 04/03/11 20:12:33 (14 years ago)
- Author:
- František Kučera <franta-hg@…>
- Branch:
- default
- Message:
-
Ukázka uživatelského „makra“ a vkládání odkazů na CSS a JS soubory.
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
r9
|
r10
|
|
13 | 13 | <target name="stránky" description="Vygeneruje XHTML webové stránky."> |
14 | 14 | <xslt basedir="${vstup}" destdir="${výstup}" includes="*.xml" extension=".xhtml" style="${šablona}/stránka.xsl"> |
| 15 | <param name="konfigurák" expression="../${vstup}/web.conf"/> |
15 | 16 | <classpath location="/usr/share/java/saxonb-9.0.jar"/> |
16 | 17 | <classpath location="${funkce}"/> |
-
r4
|
r10
|
|
1 | | <stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/prostor"> |
| 1 | <stránka |
| 2 | xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/prostor" |
| 3 | xmlns:g="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/prostor"> |
2 | 4 | <nadpis>Produkty</nadpis> |
3 | 5 | <perex>Co vyrábíme.</perex> |
… |
… |
|
8 | 10 | naše produkty… |
9 | 11 | </p> |
| 12 | |
| 13 | <p>Vhodnost zvířete do domácnosti:</p> |
| 14 | <g:měřák hodnota="80"/> |
10 | 15 | </text> |
11 | 16 | |
-
r6
|
r10
|
|
6 | 6 | <email>nereknu_nechci_spam@example.com</email> |
7 | 7 | </autor> |
| 8 | |
| 9 | <!-- TODO: XML Schéma a popisy v něm--> |
| 10 | |
| 11 | <!-- Základní URL našeho webu, mělo by končit pomlčkou – pro generování RSS/Atom --> |
8 | 12 | <url>https://trac.frantovo.cz/xml-web-generator/</url> |
| 13 | |
| 14 | <!-- ID našeho webu (každý by si měl vygenerovat svoje) – pro Atom --> |
9 | 15 | <uuid>399a714c-956e-444c-a8f4-afe8f0df802a</uuid> |
| 16 | |
| 17 | <!-- Kód našeho webu, použije se jako součást identifikátoru položek v RSS/Atomu --> |
10 | 18 | <kod>PokusnyWeb123</kod> |
11 | 19 | |
| 20 | <!-- |
| 21 | Odkazy na JavaScripty a kaskádové styly, které se vloží do hlavičky každé stránky. |
| 22 | Můžeme jich uvést libovolné množství. |
| 23 | --> |
| 24 | <css>css/styl.css</css> |
| 25 | <js>js/skript.js</js> |
| 26 | |
12 | 27 | </web> |
-
r8
|
r10
|
|
14 | 14 | doctype-public="-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" |
15 | 15 | doctype-system="http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"/> |
| 16 | |
| 17 | <xsl:param name="konfigurák"/> |
16 | 18 | |
17 | 19 | <!-- Celý dokument: --> |
18 | 20 | <xsl:template match="/"> |
| 21 | <xsl:variable name="konfigurace" select="document($konfigurák)"/> |
19 | 22 | <html> |
20 | 23 | <head> |
21 | 24 | <title><xsl:value-of select="g:stránka/g:nadpis"/></title> |
22 | 25 | <link title="Novinky (Atom)" href="atom.xml" type="application/atom+xml" rel="alternate"/> |
23 | | <link title="Novinky (RSS)" href="rss.xml" type="application/rss+xml" rel="alternate"/> |
| 26 | <link title="Novinky (RSS)" href="rss.xml" type="application/rss+xml" rel="alternate"/> |
| 27 | <xsl:apply-templates select="$konfigurace/g:web/g:js"/> |
| 28 | <xsl:apply-templates select="$konfigurace/g:web/g:css"/> |
24 | 29 | </head> |
25 | 30 | <body> |
… |
… |
|
50 | 55 | </xsl:element> |
51 | 56 | </xsl:template> |
| 57 | |
| 58 | <xsl:template match="g:web/g:js"> |
| 59 | <script src="{text()}" type="text/javascript" /> |
| 60 | </xsl:template> |
| 61 | <xsl:template match="g:web/g:css"> |
| 62 | <link href="{text()}" type="text/css" rel="StyleSheet" /> |
| 63 | </xsl:template> |
| 64 | |
| 65 | <!-- Ukázka vlastního „makra“: --> |
| 66 | <xsl:template match="g:měřák"> |
| 67 | <xsl:variable name="hodnota" select="number(@hodnota)"/> |
| 68 | <xsl:variable name="šířkaGrafu" select="128"/> |
| 69 | <xsl:choose> |
| 70 | <xsl:when test="$hodnota >= 0 and $hodnota <= 100"> |
| 71 | <div style="border: 1px solid black; width: {$šířkaGrafu}px; height: 16px; padding: 0px; text-align: center; background-color: #cfc;"> |
| 72 | <div style="margin: 0px; background-color: #A4E666; width: {@hodnota*$šířkaGrafu div 100}px; height: 16px;"/> |
| 73 | <p style="margin: 0px; font-size: 12px; position: relative; top: -15px;"> |
| 74 | <xsl:value-of select="@hodnota"/>/100 |
| 75 | </p> |
| 76 | </div> |
| 77 | </xsl:when> |
| 78 | <xsl:otherwise> |
| 79 | <xsl:message terminate="yes">Hodnota měřáku musí být nejméně 0 a nejvíce 100 (udává procenta).</xsl:message> |
| 80 | </xsl:otherwise> |
| 81 | </xsl:choose> |
| 82 | </xsl:template> |
52 | 83 | |
53 | 84 | </xsl:stylesheet> |