Cascading Stylesheets (CSS)

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

Die Namen der meisten Elemente beschreiben die semantische Bedeutung des Inhalts, den sie enthalten. Oft muss dieser Inhalt jedoch formatiert und für Benutzer ausgegeben werden. Damit dies geschehen kann, ist ein Schritt erforderlich, in dem Formatierungsinformationen auf das XML-Dokument angewendet werden und das semantische Markup in Präsentations-Markup umgewandelt wird. Für die Syntax dieser Präsentationsebene gibt es eine Vielzahl von Möglichkeiten. Zwei sind besonders erwähnenswert:

CSS ist eine Nicht-XML-Syntax, die benutzt wird, um das Aussehen bestimmter Elemente in einem Dokument zu beschreiben. CSS ist eine sehr direkte Sprache. Es wird keine Umwandlung durchgeführt. Die geparsten Zeichendaten des Dokuments werden mehr oder weniger exakt so dargestellt, wie sie im XML-Dokument auftauchen. Sie können das Dokument natürlich auch mit XSLT transformieren und dann ein CSS-Stylesheet darauf anwenden, falls Sie den Inhalt des Dokuments umstellen müssen, bevor Sie ihn dem Benutzer zeigen. Ein CSS-Stylesheet ändert das Markup des XML-Dokuments nicht; es wendet lediglich Styles auf den Inhalt an, der bereits existiert.

Im Gegensatz dazu ist XSL-FO eine vollständige XML-Anwendung, die das Textlayout auf einer Seite beschreibt. Sie hat Elemente, die Seiten, Textblöcke auf den Seiten, Grafiken, horizontale Linien und vieles andere repräsentieren. Mit dieser Anwendung arbeitet man normalerweise nicht direkt. Stattdessen schreibt man ein XSLT-Stylesheet, das das Markup des Dokuments in XSL-FO umwandelt. Die Anwendung, die das Dokument für die Anzeige aufbereitet, liest das XSL-FO und gibt es für den Benutzer aus.

In diesem Abschnitt werden wir die Funktionen und Properties der Stylesheet-Sprache CSS demonstrieren, indem wir sie auf das einfache, wohlgeformte XML-Dokument anwenden, das im folgenden Code-Beispiel zu sehen ist. Dieses Dokument besitzt keine Dokumenttyp-Deklaration, allerdings könnte leicht eine DTD oder ein Schema hinzugefügt werden. Im Allgemeinen haben DTDs und Schemas keinen Einfluss auf Stylesheets, bis auf die Tatsache, dass sie den Inhalt des Dokuments durch Entity-Deklarationen, Default-Attributwerte usw. ändern.

<?xml version="1.0" encoding=ISO-8859-1" standalone="yes"?>
<?xml-stylesheet type="text/css" href="rezept.css"?>
<rezept quelle="Marjorie Anderson">
  <gericht>Southern Corn Bread</gericht>
  <zutaten>
    <zutat>
      <menge>1 Tasse</menge>
      <komponente>Mehl</komponente>
    </zutat>
    <zutat>
      <menge>4 Esslöffel</menge>
      <komponente>Backpulver</komponente>
    </zutat>
    <zutat>
      <menge>½ Teelöffel</menge>
      <komponente>Salz</komponente>
    </zutat>
    <zutat>
      <menge>1 Tasse</menge>
      <komponente>Maismehl</komponente>
    </zutat>
    <zutat>
      <menge>1 ½ Tassen</menge>
      <komponente>Vollmilch</komponente>
    </zutat>
    <zutat>
      <menge>4 Esslöffel</menge>
      <komponente>weiche Butter</komponente>
    </zutat>
  </zutaten>
  <anweisungen>
    <schritt>Mehl, Backpulver, Zucker &amp; Salz sieben und gut mischen.</schritt>
    <schritt>Geben Sie 1 Tasse Maismehl hinzu.</schritt>
    <schritt>Verquirlen Sie ein Ei in einer Tasse, und fügen Sie das verquirlte Ei sowie 1 ½ Tassen Vollmilch hinzu, um einen Teig zu erhalten. Gut rühren.</schritt>
    <schritt>Geben Sie das weiche Backfett hinzu, und schlagen Sie den Teig, bis sich alles gut vermischt hat.</schritt>
    <schritt>Füllen Sie ihn in eine gefettete flache Form oder in ein gefettetes Muffin-Blech.</schritt>
    <schritt>Backen Sie das Brot im heißen Ofen bei <temperatur>220° C</temperatur> für <dauer>25 Minuten</dauer>.</schritt>
    <schritt optional="yes">Falls Sie das Brot in einer flachen Form gebacken haben, schneiden Sie es in Quadrate.</schritt>
  </anweisungen>
  <geschichte>Nach dem Tod meiner Schwiegermutter <person>Marjorie Anderson</person> haben Beth und ich dieses Rezept auf der Seite für "eigene Rezepte" in einem regionalen Kochbuch in ihrem Schrank gefunden. Es wurde von den Kirchenfrauen der Episcopal Church of Ascension, <stadt>Mt. Sterling</stadt>, <staat>Kentucky</staat>, veröffentlicht.</geschichte>
</rezept>
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