Einführung in XML Arthur Brack FHDW Hannover
Inhalt Was ist XML? Warum XML? Aufbau von XML-Dokumenten Ausblick XML-Schemasprachen XPath XSLT Zusammenfassung Literatur Einführung in XML 2 / 14
Was ist XML? extensible Markup Language Auszeichnungssprache zur Strukturierung von Daten Metasprache Ein Satz von Kerntechnologien (XML, DTD, XML Schema, XSLT, XPath, ) Unzählige XML-Anwendungen (XHTML, BPEL, SOAP, OpenDocument, ) Einführung in XML 3 / 14
Warum XML? XML ist einfach! Vereinfacht den Informationsaustausch durch formale Strukturierung der Daten Hohe Verbreitung in der Industrie Typische Einsatzgebiete Informationsaustausch zwischen Applikationen (z.b. im E-Commerce) Trennung zwischen Inhalt und Layout Persistierung von Daten Konfiguration von Applikationen Einführung in XML 4 / 14
Aufbau von XML-Dokumenten Beispiel: Bestellung von Büchern <order> <purchaser customerid="1234" > <!- Ich bin ein Kommentar --> <paymentmethod> <creditcard number="123456" validuntil="12.09"/> </paymentmethod > </purchaser> <items> <item isbn="3897213397" title="xml in a Nutshell" count="10"/> <item isbn="3827328241" title="entwurfsmuster" count="12"/> </items> </order> Einführung in XML 5 / 14
Aufbau von XML-Dokumenten XML-Elemente Können aus weiteren Elementen oder Text bestehen (Kompositum) Reihenfolge ist signifikant Es gibt genau ein Wurzelelement im Dokument Syntax Elemente mit Inhalt: <a><b> </b></a> Leere Elemente: <a/> Attribute in Elementen Attributname im Element muss eindeutig sein Position im Element beliebig Syntax: <xyz a1="wert1" a2="wert2"/> Einführung in XML 6 / 14
Aufbau von XML-Dokumenten Kommentare Können zwischen Elementen stehen <! Kommentar --> Diverse Sonderzeichen < für "<" & für "&" > für ">" Ein XML-Dokument ist wohlgeformt, wenn es den syntaktischen Regeln von XML genügt Einführung in XML 7 / 14
XML Schemasprachen Definition von Modellen für mögliche XML-Dokumente einer bestimmten Anwendung: Mögliche Elemente Mögliche Attribute und deren Wertebereich Mögliche Unterelemente von Elementen Reihenfolge und Häufigkeit der Unterelemente Im Prinzip Definition einer kontextfreien Grammatik Verleiht den XML-Daten eine Semantik Diverse Standards (DTD, XML Schema, Relax NG, ) Zweck: Automatisierte Überprüfung von Dokumenten Einführung in XML 8 / 14
XML Schemasprachen Beispiel: order: (purchaser; items) purchaser: (paymentmethod) paymentmethod: (creditcard + debit) items: (item*) Ein XML-Dokument ist bzgl. eines Schemas gültig, wenn es wohlgeformt ist und den Regeln des Schemas genügt Einführung in XML 9 / 14
XPath Abfragesprache für XML-Dokumente Grundlage für weitere Standards (z.b. XSLT) Beispiel: Selektiere alle Bestellposten (item), wo die ISBN=12345 ist und Anzahl > 2 XPath-Ausdruck: /order/items/item[@isbn="12345"][@count>2] XPath zum Ausprobieren: http://b-cage.net/code/web/xpath-evaluator.html Einführung in XML 10 / 14
XSLT Regelbasierte Transformationssprache für XML-Dokumente Einsatzgebiete Darstellung von XML-Daten bspw. in HMTL, PDF XSLT als Stylesheet Konvertierung von Daten zwischen unterschiedlichen Modellen XSLT als Adapter XSLT zum Ausprobieren: http://www.futurelab.ch/xmlkurs/xslt.de.html Einführung in XML 11 / 14
XSLT Beispiel: Darstellung der Bestellposten in HTML <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:template match="order"> <html> <head><title>buch Bestellung</title></head> <body><xsl:apply-templates/></body> </html> </xsl:template> <xsl:template match="items"> <ul><xsl:apply-templates/></ul> </xsl:template> <xsl:template match="item"> <li><xsl:value-of select="@isbn"/>, <xsl:value-of select="@count"/></li> </xsl:template> </xsl:stylesheet> Einführung in XML 12 / 14
Zusammenfassung XML ist ein Satz von Kerntechnologien XML ist eine Metasprache zur hierarchischen Strukturierung von Daten XML-Dokumente müssen wohlgeformt sein Ein XML-Schema definiert Regeln für gültige XML-Dokumente XPath ist eine Abfragesprache zur Selektion von Knoten im XML-Dokument XSLT ist eine regelbasierte Transformationssprache Einführung in XML 13 / 14
Literatur E. R. Harold, W. S. Means: XML in a Nutshell, O Reilly (2005) Spezifikationen vom W3C: http://www.w3.org/tr/rec-xml/ http://www.w3.org/tr/xslt http://www.w3.org/tr/xpath Einführung in XML 14 / 14