Stylesheets mit XML-Dokumenten verbinden

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

CSS-Stylesheets sind vor allen Dingen für den Einsatz in Webseiten gedacht. Webbrowser suchen das Stylesheet eines Dokuments, indem sie nachschauen, ob xml-stylesheet-Verarbeitungsanweisungen im Prolog des XML-Dokuments vorhanden sind. Diese Verarbeitungsanweisung (Processing Instruction) sollte ein Pseudo-Attribut vom Typ type mit dem Wert text/css besitzen sowie ein Pseudo-Attribut href, dessen Wert eine absolute oder relative URL ist, die die Position des Stylesheet-Dokuments näher bezeichnet. Diese Verarbeitungsanweisung weist das Stylesheet aus dem Code-Beispiel Ein CSS-Stylesheet für Rezepte (rezept.css) der Datei im Code-Beispiel Marjorie Andersons Rezept für Southern Corn Bread (cornbread.xml) zu, falls beide sich im gleichen Verzeichnis befinden:

 

<?xml-stylesheet type="text/css" href="rezept.css"?>

Einschließlich der notwendigen Pseudo-Attribute type und href kann die Verarbeitungsanweisung xml-stylesheet bis zu sechs Pseudo-Attribute besitzen:

  • type

    Der MIME-Typ des Stylesheets; application/css für CSS und text/xml (nicht text/xsl!) für XSLT.

  • href

    Die absolute oder relative URL, unter der das Stylesheet gefunden werden kann.

  • charset

    Bezeichnet den Zeichensatz, in dem das Stylesheet geschrieben ist, wie etwa UTF-8 oder ISO-8859-7. Dieser muss nicht mit dem Zeichensatz übereinstimmen, in dem das Dokument geschrieben wurde. Die verwendeten Namen sind identisch mit den Namen, die für das Pseudo-Attribut encoding der XML-Deklaration benutzt werden.

  • title

    Dieses Pseudo-Attribut benennt das Stylesheet. Wenn für ein Dokument mehr als ein Stylesheet zur Verfügung steht, könnte der Browser den Lesern eine Liste mit den Titeln aller verfügbaren Stylesheets präsentieren und sie auffordern, eines auszuwählen (das ist allerdings nicht vorgeschrieben).

  • media

    Gedruckte Seiten, Fernsehbildschirme und Computermonitore sind grundsätzlich voneinander verschiedene Medien, die unterschiedliche Styles notwendig machen. So erfordert das bequeme Lesen auf Bildschirmen viel größere Schriften als einegedruckte Seite. Dieses Pseudo-Attribut gibt den Medientyp an, für den dieses Stylesheet gelten soll. Es gibt zehn vordefinierte Werte:

    • screen
    • print
    • tty
    • braille
    • tv
    • embossed
    • projection
    • speech
    • handheld
    • all

    Wenn Sie mehrere xml-stylesheet-Verarbeitungsanweisungen einfügen, die jeweils auf ein anderes Stylesheet verweisen, und jeweils verschiedene Medientypen verwenden, können Sie ein einzelnes Dokument für viele verschiedene Umgebungen vorbereiten.

  • alternate

    Diesem Pseudoattribut muss einer der beiden Werte yes oder no zugewiesen werden. yes bedeutet, dass dies ein alternatives Stylesheet ist und normalerweise nicht benutzt wird. no bedeutet, dass dieses Pseudoattribut das primäre Stylesheet ist, das eingesetzt wird, es sei denn, die Benutzer signalisieren, dass sie ein anderes haben wollen. Der vorgegebene Wert ist no.

Diese Gruppe von xml-stylesheet-Verarbeitungsanweisungen könnte beispielsweise im Prolog des Rezeptdokuments platziert werden, um dies für eine breitere Palette von Geräten zugänglich zu machen:

<?xml-stylesheet type="text/css" href="rezept.css" media="screen" alternate="no" title="Für Webbrowser" charset="US-ASCII"?>
<?xml-stylesheet type="text/css" href="druckbares_rezept.css" media="print" alternate="no" title="Für den Druck" charset="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="rezept_gross.css" media="projection" alternate="no" title="Für Präsentationen" charset="UTF-8"?>
<?xml-stylesheet type="text/css" href="tty_rezept.css" media="tty" alternate="no" title="Für Lynx" charset="US-ASCII"?>
<?xml-stylesheet type="text/css" href="rezept_klein.css" media="handheld" alternate="no" title="Für Palm Pilots" charset="US-ASCII"?>

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de