Stefan Muenz: Anfänger und die W3C Doku

Beitrag lesen

Hallo Jan,

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.

In dem Beispiel ist "document" ein Element deiner XML-Daten. In den XML-Daten sollte es also so was wie <document>...</document> geben. die fo:-Elemente des Format-Teils von XSL dienen dann dem Zweck, Formate fuer dieses XML-Element zu definieren. Mit

xsl:apply-templates/

wendest du dann noch "alle definierten Schablonen fuer Kindelemente" an. Wenn also innerhalb deines Elements <document>...</document> noch ein Element <xy>...</xy> notiert sein sollte und es auch eine XSL-Template-Definition dafuer gibt, dann wird diese angewendet.
Hm - ja, besonders verstaendlich ist das auch nicht *g*.

<xsl:template match="document">
<H1><xsl:value-of select="//title"/></H1>
</xsl:template>
</xsl:stylesheet>

... ist mir verständlich, wie bastel ich denn nun hier die oberen Tags ein??? (vom Prinzip)

Kann es sein, dass du so was meinst wie:

<xsl:template match="/">
 <html><head></head><body>
  <xsl:apply-templates />
 </body></html>
</xsl:template>

Damit wird die Dokumentwurzel der XML-Daten in ein HTML-Konstrukt uebersetzt, das das uebliche HTML-Grundgeruest darstellt. Durch das "<xsl:apply-templates />" zwischen <body> und </body> werden die untergeordneten Schablonen angewendet, wenn in den Daten untergeordnete Elemente vorkommen.

viele Gruesse
  Stefan Muenz