CSS in XSL funzt nicht
Tom Rowdys
- xsl
0 Blitz0 Torm Rowdys0 Blitz0 BLITZ0 Tom Rowdys0 Blitz
0 Thomas J.S.
Hallo Wissende,
ich habe mittels folgendem Code, den ich den SeflHtml-Seiten entnahm eine CSS-Datei in meine XSL-Datei eingebunden.
Leider werden die Styles aber nicht richtig formatiert? Bilder, Farben und Ausrichtungen - nichts stimmt. Ich würde sagen, dass überhaupt nichts durch die CSS-Datei formatiert wurde.
Die index.CSS liegt definitiv im gleichen Ordner wie die XSL-Datei.
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<xsl:processing-instruction name="xml-stylesheet">
xsl:fallback
<link rel="stylesheet" href="index.css" type="text/css" />
</xsl:fallback>
xsl:texthref="index.css" type="text/css" ?</xsl:text>
</xsl:processing-instruction>
</head>
<body>
<table cellpadding="0" cellspacing="0" style="width:99%;border:1px solid gray;padding:5px;margin:5px;">
<tr>
<th style="text-align:left;">Vorname</th><!--dieser Code geht-->
<th class="players">Nachname</th><!--dieser Code nicht-->
<th class="players">Nation</th>
<th class="players">Geb.</th>
<th class="players">Grösse</th>
<th class="players">Gewicht</th>
</tr>
<xsl:for-each select="glossar/eintrag">
<tr>
<td valign="top"><xsl:value-of select="first_name" /></td>
<td valign="top"><xsl:value-of select="second_name" /></td>
<td valign="top"><xsl:value-of select="country" /></td>
<td valign="top"><xsl:value-of select="birthdate" /></td>
<td valign="top"><xsl:value-of select="height" /></td>
<td valign="top"><xsl:value-of select="weight" /></td>
</tr>
<tr>
<td valign="top" colspan="6"><hr /></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
In dieser zeile sind zuviel klammern :)
xsl:texthref="index.css" type="text/css" ?</xsl:text>
xsl:texthref="index.css" type="text/css" ?</xsl:text>
Nun dann muss sich ein Fehler eingeschlichen haben, denn ich habe den Code, so wie er war genommen und nur meinen Dateinamen eingertagen:
Hier der OriginalCode:
<xsl:processing-instruction name="xml-stylesheet">
xsl:fallback
<link rel="stylesheet" href="fallbacktest.css" type="text/css" />
</xsl:fallback>
xsl:texthref="fallbacktest.css" type="text/css" ?</xsl:text>
</xsl:processing-instruction>
Wo ist denn nun der Fehler???
Hier der link zur Seite, von der der Code stammt:
http://de.selfhtml.org/xml/darstellung/xsltelemente.htm
Da ich gerade erst anfange mit XSL, nützt mir die Aussage mit Klammer nichts, wenn schon die Beispielseite so aufgebaut ist! Danke Trotzdem!
Hallo Torm
Villeicht hilft dir das.
http://de.selfhtml.org/xml/darstellung/xsltelemente.htm#processing_instruction
PS:Du soltest hier nicht vom gelben feld den quelltext kopieren sondern den beispiel öfnen und von da den quelltext als beispiel nehmen, Die im gelben felder sind vehlerhaft.
Hier gibts auch beispiele,grundlagen.
http://www.html-world.de/program/css_ov.php
Sorry, aber ich bekomme es einfach nicht hin! Ich kann eingeben was ich will, es wird nichts formatiert.
Sorry, aber ich bekomme es einfach nicht hin! Ich kann eingeben was ich will, es wird nichts formatiert.
Hast du den auch schon mit anderen Browsern versucht? den bei selfi beispiele funktunieren nicht mit allen Browsern.
Es hat sich erledigt. Danke für Deine Mühe,
das hier führte mich zum Erfolg:
<link rel="stylesheet" href="index.css" type="text/css" />
Es war viel einfacher als gedacht!
Hallo,
Nun dann muss sich ein Fehler eingeschlichen haben, denn ich habe den Code, so wie er war genommen und nur meinen Dateinamen eingertagen:
Hier der OriginalCode:
Das ist der nicht. Den Code gibt es in der Seite nicht.
<xsl:processing-instruction name="xml-stylesheet">
xsl:fallback
<link rel="stylesheet" href="fallbacktest.css" type="text/css" />
</xsl:fallback>
xsl:texthref="fallbacktest.css" type="text/css" ?</xsl:text>
</xsl:processing-instruction>Wo ist denn nun der Fehler???
Du hast mehrere gemacht.
Du willst ja in HTML was machen also muss du es so machen, wie sich das im HTML gehört:
(denn was willst du mit einem <?xml-stylesheet href="index.css" type="text/css"?> in HTML anfangen?)
<xsl:template match="/">
<html>
<head>
<link rel="stylesheet" href="index.css" type="text/css" />
</head>
<body>
Dein Ansatz würde auch gleich mehrere Fehler generieren:
<xsl:processing-instruction name="xml-stylesheet">
xsl:fallback
<link rel="stylesheet" href="index.css" type="text/css" />
</xsl:fallback>
xsl:texthref="index.css" type="text/css" ?</xsl:text>
</xsl:processing-instruction>
Würde so etwas wie:
<?xml-stylesheet href="index.css" type="text/css"?>?
erzeugen, und falls der Prozessor Fallback unterstüzztt und es ihm nicht gelingt den PI zu erzeugen, eben ein <link rel="stylesheet" href="index.css" type="text/css" />
und man kann die beiden beim besten Willen nicht vergleichen.
Ein <?xml-stylesheet href="index.css" type="text/css"?> ist OK, wenn du als Ausgabe ein XML-Datei hast; <link rel="stylesheet" href="index.css" type="text/css" /> hingegen ist für HTML/XHTML geignet.
Grüße
Thomas
Volltreffer!!!
<link rel="stylesheet" href="index.css" type="text/css" />
Genau das war es. Mein Fehler war, dass ich am Ende den / Slash vergass und der Compiler deshalb meckerte, dass das Element nicht abgeschlossen wäre. Ich kannte aber kein </link>, weshalb ich diesen Versuch nicht weiter verfolgt habe.
Danke Dir für die Erläuterung!
Tom