Hallo,
na gut, vielleicht habe ich mich nicht so genau ausgedrückt!
Ein wenig ;-)
Also ich habe ein XML-Dokument und mit einem XSL-Stylesheet parse ich es um in HTML!
Ich weiss ich bin pingelig: es heißt transformieren; parsen bedeutet nur das einlesen der Quelldokument in dem RAM und und die Überprüfung der XML-Regel für Wohlgeformtheit.
<?xml version="1.0" encoding="ISO-8859-1"?> Festgelegtes Encoding von W3, muss bei jedem XML-->
Es muss nicht sein, die XML-Deklaration ist optional,
<xsl:template match="Hauptknoten">
Ich würde entweder einen Template für den Wurzelknoten schreiben:
<xsl:template match="/">
<html>
<head> ...
<body>
<xsl:apply-templates />
</body
</html>
</xsl:template>
oder es so machen:
<xsl:template match="/Hauptknoten">
<xsl:template match="Blockstart">
<div style="margin-left:20px; margin-right:20px; padding-left:10px;"><p style="font-weight:bold; font-size:80%">
<xsl:attribute name="onClick"> doMenu('block<xsl:number level="any" />') </xsl:attribute>
Es wäre besser, wenn du hier nicht <p> nehmen würdest sondern <div>
Tipp: du könntest hier auch die Funktion generate-id() verwenden.
<spanstyle="display:none">
^^^^^^
Tippfehler? <span style="display:none">
<!-- Blöcke werden auf unsichtbar gesetzt-->
Wenn es Blöcke sein sollten, wärst du mit <div> besser dran.
<xsl:attribute name="id">block<xsl:number level="any" /></xsl:attribute> <!-- Alle Blöcke bekommem eine ID, damit sie verschachtelt dargestellt werden-->
Tipp: du könntest hier auch die Funktion generate-id() verwenden.
<span id="{generate-id()}"> ...
<xsl:apply-templates select="./*" /> <!--An dieser Stelle wird der Inhalt des aktuellen Tags eingesetzt,der Punkt ist ein Kürzel für den aktuellen "Standort". -->
Nicht ganz!
Was du hier machst ist folgendes:
<xsl:apply-templates select="self::node()/child::*" /> !
- Der Punkt ist die Abkürzung für self::node().
- Also du ruft die Templates nicht für den aktuellen Element (für Tags gibt es so oder so keinen Template) sonder für jedes Kindelemt in deinem gegenwärtigen Knoten.
War / ist das dein Absicht?
Es fehlt noch dein XML um mehr dazu sagen zu können.
Grüße
Thomas