Announcement

Collapse
No announcement yet.

CSS mit XSL verbinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • CSS mit XSL verbinden

    Hallo zusammen,

    mir gelingt es nicht eine css- und eine xsl-Datei zu verlinken/verbinden.
    Wenn ich die Dateien so verlinke, wie unten zu sehen, dann wird die css-Datei ignoriert und nur der xml Inhalt transformiert.

    Die xml-Datei sieht so aus :

    <?xml version="1.0" encoding="UTF-8"?>

    <?xml-stylesheet href="MeineBiblio.css" type="text/css"?>
    <!--xxx-->
    <?xml-stylesheet type="text/xsl" href="Biblio.xsl"?>
    <bibliothek>
    ...

    Die xsl-datei so:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xslutput method="html"/>

    <xsl:template match="/">

    <html>
    <link rel="stylesheet" type="text/css" href="MeineBiblio.css"/>
    <head>
    <h1> <titel>Bibliothek</titel></h1>

    </head>
    <body>

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

    ...

    leider hab ich nichts brauchbares in meiner Literatur gefunden, in der Hoffnung das einer von euch einen Tipp hat,
    beste Grüße Thomas

  • #2
    Entferne die CSS-PI aus dem XML-Dokument. Im erzeugten HTML-Output ist das CSS ja bereits referenziert (link gehört allerdings in den head-Bereich, h1 jedoch nicht, title ist auch kein Kindelement von h1).

    Comment


    • #3
      Originally posted by Thomas Meinike View Post
      Entferne die CSS-PI aus dem XML-Dokument. Im erzeugten HTML-Output ist das CSS ja bereits referenziert (link gehört allerdings in den head-Bereich, h1 jedoch nicht, title ist auch kein Kindelement von h1).
      Danke! hab die Korrekturen vorgenommen. Leider wird die css-datei immer noch nicht berücksichtigt.Stelle noch mal das Dokument ein.

      <?xml version="1.0" encoding="UTF-8"?>
      <!--
      <?xml-stylesheet type="text/css" href="MeineBiblio.css"?>-->

      <?xml-stylesheet type="text/xsl" href="MeineBiblio.xsl"?>
      <bibliothek>


      <buch id="Oldenburg">
      <bild quelle="lighthouse.gif"/>
      <titel>Oldenburg Historisch Konturen</titel>
      <autor>Hermann Lübbing</autor>
      <verlag>Heinz Holzberg Oldenburg</verlag>
      <er.-jahr>1971</er.-jahr>
      <seiten>208</seiten>
      </buch>
      <buch id="Brake">
      <bild quelle="hammelwardermoor.jpg">HA</bild>
      <titel>500 Jahre Hammelwarder Moor</titel>
      <autor>Heiko Wöhlern</autor>
      <verlag>Buchhandlung Gollenstede</verlag>
      <er.-jahr>2000</er.-jahr>
      <seiten>315</seiten>
      </buch>
      <buch id="Wesermarsch">
      <titel>Insel im Strom-Harriersand</titel>
      <autor>Rolf Schmidt</autor>
      <autor>Peter Roloff</autor>
      <verlag>Isensee Verlag</verlag>
      <er.-jahr>2006</er.-jahr>
      <seiten>100</seiten>
      </buch>


      </bibliothek>


      <?xml version="1.0" encoding="UTF-8"?>
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xslutput method="html"/>

      <xsl:template match="/">

      <html>

      <head>
      <link rel="stylesheet" type="text/css" href="MeineBiblio.css"/> <!--a -->

      </head>
      <body>

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

      <xsl:template match="bibliothek">
      <h2>Meine Bücher</h2>

      <xsl:apply-templates />

      </xsl:template>

      <xsl:template match="buch">
      <img src="{bild/@quelle}"/><br/>
      <xsl:value-of select="autor"/><br/>
      <xsl:value-of select="titel"/><br/>
      <xsl:value-of select="verlag"/><br/>
      <xsl:value-of select="er.-jahr"/><br/>
      <xsl:value-of select="seiten"/>Seiten<br/>
      </xsl:template>

      </xsl:stylesheet>

      css

      buch
      {
      font-size:larger;
      color:fuchsia;

      }

      titel
      {
      display:block;
      color:red;
      }

      Comment


      • #4
        In das für HTML bestimmte CSS gehören auch die passenden Elemente, z. B. body und h2 bezogen auf den genannten Code.

        Comment


        • #5
          Originally posted by Thomas Meinike View Post
          In das für HTML bestimmte CSS gehören auch die passenden Elemente, z. B. body und h2 bezogen auf den genannten Code.
          Danke Thomas, es läuft.

          Mein Fehler war, dass ich die XML-Elemente für das Stylesheet deklariert habe.So wie ich das jetzt verstehe nimmt man aber die Tags aus der XSL-Datei-stimmt das so?

          Wenn ich die CSS-PI im XML-Dokument stehenlasse, bekomme ich ein Ergebniselement, wenn ich es Auskommentiere auch. Gibt es da eine logische Antwort drauf?

          Comment


          • #6
            Das CSS im XML soll die XML-Elemente formatieren, das im XSL-Stylesheet die Ergebniselemente. Beides gleichzeitig anzugeben, erscheint mir wenig sinnvoll. Es liegt aber letztlich am Client (Browser), wie hier die Verarbeitung erfolgt.

            Comment

            Working...
            X