Hi Thomas
Das Weglassen der literalen html- und body-Elemente im Stylesheet sollte reichen:
Nein, das funktioniert leider nicht: Der Body des XML-Dokuments soll in den neu generierten Body, der nun auch einen Index enthält, kopiert werden.
<xsl:template match="/">
<xsl:copy-of select="/html/head" />
<xsl:call-template name="DocumentIndex" />
<xsl:call-template name="DocumentBody" />
</xsl:template>(unter Vorbehalt der Unkenntnis des DocumentIndex-Templates)
<xsl:template name="DocumentIndex">
<h3>Inhalt</h3>
<xsl:for-each select="/html/body/h3">
<xsl:variable name="anc" select="a/@name"/>
<p><a><xsl:attribute name="href">?xsl=index#<xsl:value-of elect="a/@name"/></xsl:attribute><xsl:value-of select="a"/></a></p>
</xsl:for-each>
</xsl:template>
Dieses Template generiert Links zu den h3-Tags. Es ist ein Proof-of-Concept-Template für ein Inhaltsverzeichnis, welches über dem Dokument im Body-Tag stehen soll. Deshalb darf das DocumentBody-Template den Body-Tag selbst nicht ausgeben. Wenn ich den copy-of-Tag mit einem fixen Text ersetze, dann steht da alles wie ich's haben will.
Freundliche Grüsse
Tom2