Tom2: Kind-Elemente kopieren

Beitrag lesen

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