Changeset 114:9302cf6856ea
- Timestamp:
- 07/06/12 17:04:13 (12 years ago)
- Author:
- František Kučera <franta-hg@…>
- Branch:
- default
- Tags:
- v0.4
- Message:
-
#20 Skriptování: firma – pády (parametrizace makra)
- Location:
- vstup
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
r113
|
r114
|
|
13 | 13 | |
14 | 14 | <!-- Vypíše název naší firmy: --> |
15 | | <xsl:template match="m:firma"> |
16 | | <xsl:text>Chovatelská stanice a.s.</xsl:text> |
17 | | </xsl:template> |
| 15 | <xsl:template match="m:firma">Chovatelská stanice a.s.</xsl:template> |
| 16 | <xsl:template match="m:firma[@pád=1]">Chovatelská stanice a.s.</xsl:template> <!-- nominativ --> |
| 17 | <xsl:template match="m:firma[@pád=2]">Chovatelské stanice a.s.</xsl:template> <!-- genitiv --> |
| 18 | <xsl:template match="m:firma[@pád=3]">Chovatelské stanici a.s.</xsl:template> <!-- dativ --> |
| 19 | <xsl:template match="m:firma[@pád=4]">Chovatelskou stanici a.s.</xsl:template> <!-- akuzativ --> |
| 20 | <xsl:template match="m:firma[@pád=5]">Chovatelská stanice a.s.</xsl:template> <!-- vokativ --> |
| 21 | <xsl:template match="m:firma[@pád=6]">Chovatelské stanice a.s.</xsl:template> <!-- lokál --> |
| 22 | <xsl:template match="m:firma[@pád=7]">Chovatelskou stanicí a.s.</xsl:template> <!-- instrumentál --> |
18 | 23 | |
19 | 24 | </xsl:stylesheet> |
| 25 | |
-
r113
|
r114
|
|
223 | 223 | |
224 | 224 | <m:pre jazyk="xml"><![CDATA[<pre> |
225 | | <m:skript jazyk="bash"> |
226 | | echo "Náš podnik se jmenuje <m:firma/>"; |
| 225 | <m:skript jazyk="perl"> |
| 226 | print "Náš podnik se jmenuje <m:firma/>"; |
227 | 227 | </m:skript> |
228 | 228 | </pre>]]></m:pre> |
… |
… |
|
232 | 232 | </p> |
233 | 233 | |
| 234 | <pre><m:skript jazyk="perl"> |
| 235 | print "Náš podnik se jmenuje <m:firma/>"; |
| 236 | </m:skript></pre> |
| 237 | |
| 238 | <p> |
| 239 | Můžete si tak vytvořit makra pro opakující se části |
| 240 | a používat je jak v textu stránek, tak ve skriptech nebo diagramech.<m:podČarou> |
| 241 | Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje, |
| 242 | je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> |
| 243 | pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky). |
| 244 | </m:podČarou> |
| 245 | </p> |
| 246 | |
| 247 | <p> |
| 248 | Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu |
| 249 | – makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy |
| 250 | a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu. |
| 251 | </p> |
| 252 | |
234 | 253 | <pre><m:skript jazyk="bash"> |
235 | | echo "Náš podnik se jmenuje <m:firma/>"; |
| 254 | echo "S naší <m:firma pád="7"/> budete jistě spokojeni!"; |
| 255 | echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`."; |
236 | 256 | </m:skript></pre> |
237 | | |
238 | | <p> |
239 | | Můžete si tak vytvořit makra pro opakující se části |
240 | | a používat je jak v textu stránek, tak ve skriptech nebo diagramech. |
241 | | Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje, |
242 | | je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> |
243 | | pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky). |
| 257 | |
| 258 | <p> |
| 259 | Zdrojový kód: |
| 260 | </p> |
| 261 | |
| 262 | <!-- Pozor: ve zvýrazňovači syntaxe Pygmentize je chyba – neumí diakritiku – správně je: pád="7" --> |
| 263 | <m:pre jazyk="xml"><![CDATA[<pre> |
| 264 | <m:skript jazyk="bash"> |
| 265 | echo "S naší <m:firma pad="7"/> budete jistě spokojeni!"; |
| 266 | echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`."; |
| 267 | </m:skript> |
| 268 | </pre>]]></m:pre> |
| 269 | |
| 270 | <p> |
| 271 | Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text, |
| 272 | který by šlo vložit přímo do XML stránky |
| 273 | – předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-) |
244 | 274 | </p> |
245 | 275 | |