Bastian G.: Verlinktes Inhaltsverzeichnis erstellen

Beitrag lesen

Hallo XSL(T)-Wizzards,

Zu vielen gegebenen XML Datei(en), die ich nicht verändern darf, soll ich durch XSLT eine HTML erzeugen - soweit so gut alles klein Problem. Jetzt möchte ich noch ein klickbares Inhaltsverzeichnis generieren, wie man das kennt: Im HTML oben stehen dann die Links und bei Klick darauf wird zur jeweiligen Stelle gesprungen.

Das XML sieht so aus (stark vereinfacht)

<root>  
<inhaltsverzeichnis>  
<inhalt>link1</inhalt>  
<inhalt>link2</inhalt>  
</inhaltsverzeichnis>  
...  
<content>  
<inhaltstitel>link1-titel</inhaltsitel><text>lorem.ipsum1</text>  
<inhaltstitel>link2-titel</inhaltsitel><text>lorem.ipsum2</text>  
</content>  
</root>

--------------------------------------

Auszug aus meinem bisherigem XSL:

<xsl:template match="//inhaltsverzeichnis/inhalt">  
<xsl:for-each select=".">  
	<p>  
	<a href="#{generate-id()}"><xsl:value-of select="text()"/></a>  
	</p>  
	</xsl:for-each>  
</xsl:template>  
...  
<xsl:template match="//content">  
<xsl:for-each select="inhaltstitel">  
<h3><a name="{generate-id(//inhaltverzeichnis/inhalt)}"><xsl:value-of select="text()"/></a></h3>  
	</xsl:for-each>  
</xsl:template>

Im HTML wird mir nur für das Inhaltsverzeichnis (oben) IDs in das a href geschrieben, und genau die gleiche ID benötige ich nun für das a name im Content (unten). Wie "übernehme" ich diese ID? - das der Sprunganker von oben nach unten funktioniert. Bzw. wo ist mein Denkfehler? Bin dankbar für jegliche Hinweise, viele Grüße aus Stuttgart :)