thomas1581: CSS in XSLT

Hallo,

ich möchte CSS Stylesheets in einer durch XSLT Transformation erstellten HTML Datei zur formatierung benutzten. Leider macht der Browser (Safari, aber in IE gehts auch nicht )da nicht mit, er gibt zwar alles aus, aber die Formatierung durch CSS funktioniert nicht. Weiß da jemand einen Rat?

Kann man CSS und XSLT mischen? Das sind ja Stylesheets und ich denke mir dass der Browser nur einmal die Stylesheet funktion aufrufen kann, und dann die CSS nicht mehr interpretiert.

Wenn das nicht geht dann werde ich wohl einfach die Formatierung in HTML machen müssen.

Gruß, Thomas

  1. Hallo Thomas,

    meines Kenntnisstandes nach erzeugt XSLT den HTML-Code und zwar in dem Du xsl-test wie zb. "<p style="abc">" vor jeden Absatz <absatz></absatz> setzt etc. pp., dannach kommt dann CSS zum Zuge.

    Vielleicht mal kleinen Auszug vom Quelltext?

    Gruß, Frankx

  2. Hallo,

    ich möchte CSS Stylesheets in einer durch XSLT Transformation erstellten HTML Datei zur formatierung benutzten. Leider macht der Browser (Safari, aber in IE gehts auch nicht )da nicht mit, er gibt zwar alles aus, aber die Formatierung durch CSS funktioniert nicht. Weiß da jemand einen Rat?

    Wenn du nicht zeigt, was du versucht hast: nein. Denn dann kann man zwar raten, aber keinen Rat geben.

    Kann man CSS und XSLT mischen? Das sind ja Stylesheets und ich denke mir dass der Browser nur einmal die Stylesheet funktion aufrufen kann, und dann die CSS nicht mehr interpretiert.

    Du hast da etwas missverstanden. Du kannst CSS und XSLT nicht "mischen". Mit XSLT transformierst du XML in ein anderes Format, mit CSS bestimmst du nur Layout-Eigenschaften von Elementen.
    Was du aber serh wohl machen kannst ist, dass du in deinem XSL deine CSS-Datei verlinkst und/oder ein <style>-Block verwendest:

    <xsl:template match="/">
     <html>
      <head>
       <title>Untitled</title>
       <link rel="stylesheet" type="text/css" href="pfad/zur/datei.css" />
       <style type="text/css">

    </style>
      </head>
      <body>
       xsl:apply-templates  /
      </body>
     </html>
    </xsl:template>

    Grüße
    Thomas