Home | Lehre | Videos | Texte | Vorträge | Software | Person | Impressum, Datenschutzerklärung | Blog RSS

XML-Grundlagen

XML und SGML sind Metasprachen: Vokabular und Grammatik sind gestaltbar; Ergebnis ist eine Ausprägung (application) von XML. Eine solche Sprache wird klassisch mit einer DTD (Document Type Definition) oder neuerdings in XML Schema beschrieben. XML Schema ist anders als die DTD-Sprache eine XML-Ausprägung; man kann also solche Dateien (Beschreibungen von Sprachen!) mit XML-Werkzeugen bearbeiten.

Bekannte Ausprägungen: HTML (Ausprägung von SGML), XHTML (Ausprägung von XML, siehe DTD dafür beim W3C!), MathML (mathematische Formeln), CML (Chemie), DocBook (Linux-Dokumentationen), EDI (Rechnungswesen), SMIL (Multimedia-Ablaufsteuerung), SVG (Vektorgrafik à la Flash)

"Wohlgeformtes (well-formed) XML": korrekte Verschachtelung (<b> <i> </b> </i> ist nicht wohlgeformt) u.ä., aber kein Check auf Vokabular/Grammatik

"Gültiges (valid) XML": zusätzlich Check auf Vokabular/Grammatik (DTD oder Schema), u.a. ob Elemente die richtigen Unterelemente enthalten. (Hat jeder <benutzer> eine <adresse>?)

DTD, Schema, Test auf Wohlgeformheit und Gültigkeit vorgeführt mit Wattle XML Writer.

XML-Umwandlung/-Ausgabe mit XSL

Klassisch mit CSS 2.0: Man definiert Klassen mit bestimmten Merkmalen (H1-Überschriften sind rot und in 24 Punkt) und hängt notfalls gezielte Stilanweisungen in den Text. Mit XSL nur letzteres (*aufbläh*), aber vollautomatisch.

XSL (Extensible Style Sheet Language)   =   XSLT   +   XSL-FO

XSLT (XSL Transformations): Suchen und Ersetzen mit allen Schikanen, kann auch vorab Inhaltsverzeichnisse erzeugen, sortieren, nummerieren etc. Ein XSLT-Stylesheet enthält Schablonen (Templates), die auf das ursprüngliche XML angewendet werden. Zielformat ist typischerweise wieder eine XML-Sprache, z.B. XHTML. Alles aus dem XSL-Namensraum wird ausgeführt, Kommentare und Weißraum gelöscht, der Rest unverändert an die Ausgabe weitergeleitet. Ebenfalls mit Wattle XML Writer vorgeführt.

XSL-FO (XSL Formatting Objects): weitreichende Layout-Kommandos ähnlich DTP-Programmen mit Musterseiten, Kopfzeilen etc. Zielformat ist typischerweise PDF, um die Layout-Möglichkeiten zu nutzen. XSLT benutzen, um zu allen Überschriften FOs anzulegen, die auf 24 Punkt schalten etc. Vorgeführt mit XSL Formatter. Alternativen z.B.: Apache FOPXEP Rendering Engine. Vorsicht: XSL-FO ist in der Implementierung noch im Fluss!

Lesetipps