Hallo,
Nur stellt sich mir nun eine sicherlich nicht besonders komplexe Frage:
Wenn ich als W3C-Beispiel ein
<xsl:template match="document">
fo:block
<fo:initial-property-set font-variant="small-caps"/>
xsl:apply-templates/
</fo:block>
</xsl:template>
angeboten bekomme hab ich bisher keine Ahnung wie ich diese tollen fo-Tags umsetzen soll.
wenn ich deinen unteren code ansehe, möchtest du eigentlich eine xml -> html transformation.
ausholt: hinter xsl verbergen sich 2 versch. standards: xslt und xsl (xsl-fo).
xsl (oder xsl-fo = xsl formating objects) ist für layoutformatierung von xml dokumenten, sie definiert layout-blöcke und andere layout-eigenschaften (farbe, schriftart etc.) für xml elemente. zur ziet wird xsl-fo in erster linie für xml -> pdf konvertierung verwendet.
<xsl:template match="document">
<H1><xsl:value-of select="//title"/></H1>
</xsl:template>
</xsl:stylesheet>
da ist vom prinzip ok, aber vom technik etwas schlecht:
mit //title selektierts du eigentlich alle <title> elemente im gesamten dokument. das geht wenn du nur ein <title> hast noch halbwegs gut, nicht desto trotz gehen solche selektierungen sehr zu lasten der performance.
wenn dein xml so aussieht:
<?xml version="1.0"?>
<document>
<title>der titel</title>
</document>
kannst eine xslt dazu schreiben:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title><xsl:value-of select="title" /></title>
</head>
<body>
xsl:apply-templates/
</body>
</html>
</xsl:template>
<xsl:template match="title">
<h1><xsl:value-of select="." /></h1>
</xsl:template>
</xsl:stylesheet>
und das würe eine html ergeben:
<html>
<head>
<title>der titel</title>
</head>
<body>
<h1>der titel</h1>
</body>
</html>
grüße
thomas