1 / 42

Einführung in XML

Einführung in XML. Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004. Daten. Kodierung Austausch Abfragen Beispiel: Wetter. XML. e X tensible M arkup L anguage (erweiterbare Auszeichnungssprache) 1998 in Version 1.0 von der W3C als Standard verabschiedet

Download Presentation

Einführung in XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

  2. Daten • Kodierung • Austausch • Abfragen • Beispiel: Wetter

  3. XML • eXtensible Markup Language (erweiterbare Auszeichnungssprache) • 1998 in Version 1.0 von der W3C als Standard verabschiedet • echte Teilmenge von SGML • striktere Einhaltung der Syntax • Grundidee: • Trennung von Inhalt und Struktur

  4. XML • inhaltliche Bausteine: • Elemente • Attribute • formale Bausteine: • syntaktische Festlegung auf die Notation der inhaltlichen Bausteine • genau ein Wurzelement

  5. Entwurfsentscheidung • Elemente • Information läßt sich in weitere Informationen untergliedern • Attribute • Information kann nicht weiter zerlegt werden • Information ist aufzählbar • Dokumentinhalt • Information kann nicht weiter zerlegt werden • Information ist nicht aufzählbar

  6. Struktur des XML-Dokuments <wetter></wetter> <tag wochentag="Mo" tag="1" monat="4" jahr="2002"> </tag> <messung stadt="Frankfurt"> </messung> <temperatur morgens="3" mittags="18" abends="16" nachts="7"/>

  7. Inhalt, Metadaten, Markup <wetter></wetter> <tagwochentag="Mo" tag="1" monat="4" jahr="2002"> </tag> <messungstadt="Frankfurt"> </messung> <temperaturmorgens="3" mittags="18" abends="16" nachts="7"/>

  8. Wohlgeformtes XML • Header eines XML-Dokuments <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> • XML-Dokument ist wohlgeformt, wenn es der XML-Syntax folgt.

  9. Validierung von XML • Warum validieren? • Konsistenz • Datenaustausch • Wie validieren? • DTD • XML Schema • XML-Dokument ist valide, wenn es der DTD bzw. dem Schema genügt.

  10. DTD (Dokumententypdefinition) • enthält die Bezeichner aller Elemente und Attribute • Reihenfolge des Auftretens von Elementen • Wertebereiche ihrer Attribute • Kardinalität der Elemente (wie oft kommen sie vor)

  11. DTD für Wetterdaten (1) <wetter></wetter> <tag wochentag="Mo" tag="1" monat="4" jahr="2002"> ... </tag> <!ELEMENT wetter (tag+)>

  12. DTD für Wetterdaten (2) <!ELEMENT tag (messung+)> <!ATTLIST tag monat CDATA #REQUIRED jahr CDATA #REQUIRED> <tag wochentag="Mo" tag="1" monat="4" jahr="2002"> </tag> <messung stadt="Frankfurt"> ...</messung>

  13. DTD für Wetterdaten (3) <!ELEMENT messung (temperatur)> <!ATTLIST messung stadt CDATA #REQUIRED> <!ELEMENT temperatur EMPTY> <messung stadt="Frankfurt"> </messung> <temperatur morgens="3" mittags="18" abends="16" nachts="7"/>

  14. Einbinden der DTD • Dokumenttyp-Deklaration: <?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <!DOCTYPE wetter SYSTEM "wetter.dtd"> <wetter> ...

  15. DTD versus Schemata • Schemata sind wesentlich ausdruckstärker als DTDs • Schemata sind selbst XML-Dateien • Möglichkeit zur Definition von Typen • simple type: • Basistypen wie Integer oder String • eingeschränkte Basistypen • complex type: • aus Basistypen zusammengesetzte Typen • explizit durch separates Typ Element • anonym (nur an dieser Stelle gültig)

  16. Ein XML Schema (1) <element name="wetter"> <complexType> <sequence> <element name="tag" type="tagType" minOccurs="1" maxOccurs="unbounded"/> </sequence> </complexType> </element>

  17. Ein XML Schema (2) <attribute name="tag"> <simpleType> <restriction base="xsd:integer"> <minInclusive value="1"/> <maxInclusive value="31"/> </restriction> </simpleType> </attribute>

  18. Einbinden des Schema • Attribut des Wurzelelements: <?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <wetter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="wetter.xsd"> ...

  19. Fazit – Sonnige Aussichten? XML: • standardisierte Kodierung • Konsistenzprüfung • Datenaustausch • Schnittstellen • Platzbedarf

  20. XSLT Hannah Kermes HS: Elektronische Wörterbücher Do, 18.11.2004

  21. XSL und XSLT • XSL (eXtensible Stylesheet Language) • XSLT • Konvertierung von XML-Dokumente in andere textbasierte Formate • XSLT-Stylesheet • Sammlung von Templates (Transformationsregeln) • sind selbst XML-Dokumente • unterliegen den Restriktionen von XML

  22. XSLT-Stylesheets Text XML HTML XSLT Stylesheet-Prozessor XML ... Verarbeitungs-Modell

  23. Struktur des XML-Dokuments <wetter></wetter> <tag wochentag="Mo" tag="1" monat="4" jahr="2002"> </tag> <messung stadt="Frankfurt"> </messung> <temperatur morgens="3" mittags="18" abends="16" nachts="7"/>

  24. XML-Dokumentbaum <wetter> <tag> tag="1" monat="4" jahr="2002" <messung> stadt="Frankfurt" <temperatur> morgens="3" mittags="18" abends="16" nachts="7"

  25. Templates... • Bausteine der Stylesheets • Regeln für Transformationen • strukturieren Stylesheets (top-down)

  26. Das erste Stylesheet • Stylesheet als XML-Dokument: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template>...</xsl:template> </xsl:stylesheet>

  27. Das erste Stylesheet • Stylesheet als XML-Dokument: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method=“html“/> <xsl:template>...</xsl:template> </xsl:stylesheet>

  28. Templates – Wetterbeispiel <xsl:template match="wetter"> <HTML> <BODY> <H3>Wetterdaten</H3> <xsl:apply-templates select="tag"/> </BODY> </HTML> </xsl:template>

  29. Templates – Wetterbeispiel <xsl:template match="wetter"> <HTML> <BODY> <H3>Wetterdaten</H3> <xsl:apply-templates select="tag"/> </BODY> </HTML> </xsl:template>

  30. Templates – Wetterbeispiel <xsl:template match="wetter"> <HTML> <BODY> <H3>Wetterdaten</H3> <xsl:apply-templates select="tag"/> </BODY> </HTML> </xsl:template>

  31. Templates – Wetterbeispiel <xsl:template match="wetter"> <HTML> <BODY> <H3>Wetterdaten</H3> <xsl:apply-templates select="tag"/> </BODY> </HTML> </xsl:template>

  32. Templates – Wetterbeispiel <xsl:template match="tag"> <H4><xsl:value-of select="@tag"/>. <xsl:value-of select="@monat"/>.</H4> <TABLE> <xsl:apply-templates select="messung“/> </TABLE> </xsl:template>

  33. Templates – Wetterbeispiel <xsl:template match="tag"> <H4><xsl:value-of select="@tag"/>. <xsl:value-of select="@monat"/>.</H4> <TABLE> <xsl:apply-templates select="messung“/> </TABLE> </xsl:template>

  34. Templates – Wetterbeispiel <xsl:template match="tag"> <H4><xsl:value-of select="@tag"/>. <xsl:value-of select="@monat"/>.</H4> <TABLE> <xsl:apply-templates select="messung[@stadt=`Frankfurt´]“/> </TABLE> </xsl:template>

  35. Templates – Wetterbeispiel <xsl:template match="messung"> <TR> <TD><xsl:value-of select=“temperatur/@morgens"/></TD> <TD><xsl:value-of select="temperatur/@mittags"/></TD> </TR> </xsl:template>

  36. Top-Level-Parameter • Idee: Parametrisiere die Angabe der Stadt • Mechanismus: Top-Level-Parameter <xsl:stylesheet> <xsl:param name= "param_stadt"select = "'Frankfurt'"/> ... </xsl:stylesheet>

  37. Einsatz des Parameters <xsl:template match="tag"> <xsl:value-of select="@wochentag"/>: <TABLE> <xsl:apply-templates select="messung[@stadt ='Frankfurt']"/> </TABLE> </xsl:template> $param_stadt

  38. XSLT-Stylesheets Text XML HTML XSLT Stylesheet-Prozessor XML ... Modell XML+XSLT

  39. Alternatives Modell Text P1 DB HTML P2 X XML P3 Stylesheet-Prozessor ... ... Resultate Programme

  40. XML und XSLT – Diskussion • Austauschbarkeit der Daten (DTD, Zeichensatz, ...) • (intuitiver) Zugang zu den Daten • Verarbeitung: gemeinsamer Nenner Stylesheets • Effizienz

  41. Fazit • XML eignet sich zur standardisierten Kodierung beliebiger Daten. • XSLT eignet sich zur standardisierten Verarbeitung beliebiger XML-Kodierungen. • XML und XSLT – Ein starkes Team!

  42. Kombination der Modelle XSLT-Stylesheets Text XQuery, XPath DB XML HTML XSLT Stylesheet-Prozessor XML

More Related