Tom2: / (XSL) Von XHTML zu XHTML, nur wie?

Hi Leute

Ich habe micht mit den Tutorials von http://www.w3schools.com und natürlich ein winig http://www.w3.org in XML eingearbeitet und bin jetzt bei meinen ersten Gehversuchen hingefallen, bzw. ich kenne noch keine einfache Lösung für mein eigentlich nicht all zu schweres Problem.

Während dem Lesen der Tutorials habe ich mir fleissig einige Notizen in ein XHTML-Dokument gemacht. Das Dokument ist wohlgeformt und gut strukturiert. Bei einem neuen Themenbereich habe ich mit h3 eine Überschrift und diese gleich mit einem Anchor anspringbar gemacht.
Nun wollte ich, von XSLT fasziniert, ein Inhaltsverzeichnis erstellen - per XSLT. Gesagt, getan, per ASP öffne ich die beiden Datein, und füge sie zusammen. Ich erhalte als Ausgabe das Inhaltsverzeichnis, so wie ich es gern hätte, nur von dem HTML-Dokument ist nicht mehr viel zu sehen. Alle Tags sind weg. Ich sehe nur noch den Titel, dann kommt mein Inhaltsverzeichnis und am Schluss noch die ganzen Inhalte aus meinem Dokument - Tagfrei. Wie krieg ich das hin, dass er die HTML-Tags stehen lässt?

Hier noch mein XSL

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/html/body">
 <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 select="a/@name" /></xsl:attribute>
    <xsl:value-of select="a" />
   </a>
  </p>
 </xsl:for-each>

<xsl:value-of select="." />

</xsl:template>

</xsl:stylesheet>

Das  value-of am Schluss muss durch irgend wass ersetzt werden, oder?

FG

Tom2

--
SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}
  1. Hi,

    Nun wollte ich, von XSLT fasziniert, ein Inhaltsverzeichnis erstellen - per XSLT. Gesagt, getan, per ASP öffne ich die beiden Datein, und füge sie zusammen. Ich erhalte als Ausgabe das Inhaltsverzeichnis, so wie ich es gern hätte, nur von dem HTML-Dokument ist nicht mehr viel zu sehen. Alle Tags sind weg. Ich sehe nur noch den Titel, dann kommt mein Inhaltsverzeichnis und am Schluss noch die ganzen Inhalte aus meinem Dokument - Tagfrei. Wie krieg ich das hin, dass er die HTML-Tags stehen lässt?

    Für Elemente, für die kein Template angegeben ist, wird das default-Template verwendet.
    Das default-Template schreibt den Textinhalt eines Elements in die Ausgabe (und ruft, wenn ich mich richtig erinnere, für Kind-Elemente wieder apply-templates auf).

    Informier Dich über xsl:copy-of und xsl:copy.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi Andreas

      Informier Dich über xsl:copy-of und xsl:copy.

      Besten Dank für deine Hilfe, genau das habe ich gebraucht! Ich habe jetzt ein kleines XSL-File erstellt, welches mir ein Inhaltsverzeichnis hinmalt.

      <?xml version="1.0"?>
      <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

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

      <xsl:template match="body">
       <body>
       <h3>Inhalt</h3>
       <xsl:for-each select="./h3">
        <xsl:apply-templates select="a/@name" />
       </xsl:for-each>
       <xsl:copy-of select="*" />
       </body>
      </xsl:template>

      <xsl:template match="a/@name">
       <p>
        <a>
         <xsl:attribute name="href">?xsl=index#<xsl:value-of select="." /></xsl:attribute>
          <xsl:value-of select="../." />
        </a>
       </p>
      </xsl:template>

      </xsl:stylesheet>

      Das wars auch schon - und es funktioniert einwandfrei. Mal schauen, ob ich es auch auf andere Dokumente anwenden kann... das scheint noch nicht zu funktionieren. Tja, ich schaff das schon noch. Besten Dank für deine Hilfe!

      FG

      Tom2

      --
      SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
      ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}