Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML.

Ähnliche Präsentationen


Präsentation zum Thema: "XML."—  Präsentation transkript:

1 XML

2 XML – Aufbau (1) XML: Extensible Markup Language (ungefähre Übersetzung: Erweiterbare Auszeichnungssprache) Ausgezeichnet wird der Inhalt von Daten, nicht deren Darstellung (HTML) Markierer („Tags“) identifizieren den Inhalt der Daten Es können irgendwelche Tags benutzt werden, die im Zusammenhang sinnvoll erscheinen Sie müssen nur den ausführenden Applikationen bekannt gemacht werden Die Daten zwischen Anfangs- und Abschluss-Tag stellen ein „Element“ der Gesamtdaten dar

3 XML – Aufbau (2) Beispiel für eine XML-Datei:
deutlich wird die geschachtelte Struktur (Hierarchie) <?xml version=„1.0“?> <Wohnzimmer> <Tisch Hersteller=„Ikea“> <Farbe>hellbraun</Farbe> <Größe>2m²</Größe> </Tisch> <Lampe Hersteller=„Conrad“> <Leistung>100 W</Leistung> <Stehhöhe>1,50 m</Stehhöhe> </Lampe> </Wohnzimmer>

4 XML – Aufbau (3) In XML existieren bestimmte syntaktische Regeln (z.B. dass Tags immer in richtiger struktureller Reihenfolge stehen müssen) Wenn diese Regeln erfüllt werden, ist das Dokument wohlgeformt (well-formed) Falls zusätzlich eine vorher aufgestellte DTD (Document Type Definition) erfüllt wird, ist das Dokument gültig (valid) In der DTD werden zulässige Werte für die einzelnen Tags festgelegt (orientiert sich an regulären Ausdrücken) DTD wichtig für den Datenaustausch zwischen verschiedenen Anwendungen XML-Dokumente können zusätzlich Attribute und Ausführungsbefehle für Applikationen beinhalten

5 DTD – Document Type Definition
Eine DTD gibt die Grammatik eines XML-Dokumentes an Welche Elemente dürfen benutzt werden Was für Attribute dürfen in welchen Elementen benutzt werden Welche Elemente dürfen/müssen innerhalb anderer Elemente benutzt werden und in welcher Reihenfolge <!ELEMENT Rezept (Name, Beschreibung?, Bestandteile?, Anweisungen?)> <!ELEMENT Name (#PCDATA)> <!ELEMENT Beschreibung (#PCDATA)> <!ELEMENT Bestandteile (Bestandteil)*> <!ELEMENT Bestandteil (Menge, Gegenstand)> <!ELEMENT Menge (#PCDATA)> <!ELEMENT Gegenstand (#PCDATA)> <!ATTLIST Gegenstand optional CDATA „0“ istVegetarier CDATA „true“> <!DOCTYPE Rezept SYSTEM „beispiel.dtd">

6 XSL – Extensible Stylesheet Language
XSL dient zur Beschreibung von Style Sheets (Stil Vorlagen) Ein XSL StyleSheet beschreibt, wie ein XML-Dokument dargestellt werden soll XSL ist selber auch nur ein XML-Dokument Mit XSL kann man XML-Dokumente neu strukturieren XML-Dokumente umwandeln in andere Ausgabeformate (z.B. HTML, TeX, RTF, PostScript, PDF, …) XML-Dokumente in neue XML-Dokumente umwandeln

7 XSL – Extensible Stylesheet Language (2)
XML-Dokument XSL-Dokument Darstellung <scene> <FX>General Road Building noises.</FX> <speech speaker="Prosser">Come off it Mr Dent, you can't win you know. There's no point in lying down in the path of Progress.</speech> <speech speaker="Arthur"> I've gone off the idea of progress. It's overrated</speech> </scene> <xsl:template match="FX"> <fo:block font-weight="bold"> <xsl:apply-templates/> </fo:block> </xsl:template> <xsl:template <fo:block background-color="blue"> <xsl:value-of General Road Building noises Prosser: Come off it Mr Dent, you can't win you know. There's no point in lying down in the path of Progress Arthur: I‘ve got off the idea of progress. It‘s overrated

8 XML – Wozu? Organisation und Repräsentation von darstellbaren Informationen Darstellung und Bearbeitung der Struktur von Informationen Speicherung und Kapselung von strukturierten Informationen zum Austausch zwischen verschiedenen Systemen Anwendungsbeispiele: Web (z.B. XHTML) Office Dokument (z.B. StarOffice) Kommunikation (z.B. Jabber) Graphik (SVG)

9 XML - Beispiele Jabber SVG […]
<message <body>Watson come here, I need you!</body> </message> <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG //EN" " <svg width="600" height="400"> <defs> <linearGradient id="pencil" x1="0%" y1="0%" x2="100%" y2="22%" gradientUnits="objectBoundingBox" spreadMethod="pad"> <stop offset="0" style="stop-color:#ffe401;stop-opacity:1"/> <stop offset="1" style="stop-color:#e0c858"/> </linearGradient> […]

10 DOM Document Object Model

11 DOM Kern Generischer Zugriff auf gesamten Inhalt eines Dokuments
Zerlegung des Dokuments in viele kleine Teile Speichern der Dokumentteile im Hauptspeicher, als „Bild“ des Dokuments. Basisschnittstellen und erweiterte Schnittstellen abgeleitet von der zentralen Schnittstelle: Node (Knoten) Satz generischer Funktion für den Zugriff auf und zur Navigation durch das Dokument.

12 Parsen mit DOM Parser liest Dokument und prüft auf Wohlgeformtheit.
Evtl. validiert das Dokument bzgl. einer DTD oder eines Schemata. Danach steht das Dokument über das Objekt Document zur Verfügung. // Erzeuge einen neuen Parser DOMParser _parser = new DOMParser(); // Lies das Dokument (URI) _parser.parse(“xmlDokument.xml“); Document _doc = _parser.getDocument();

13 Schnittstelle Document
Repräsentiert vollständiges, wohlgeformtes XML-Dokument. Einige Methoden: getDocType() liefert Instanz von DocumentType. (DTD) createElement(String tagName) legt ein neues Element (Tag) an. getElementById(String _id) liefert Element mit der angegebenen ID hasAttribute(String name) liefert true, falls das Element das Attribut besitzt.

14 Vergleich SAX / DOM Simple API for XML Document Object Model
ereignisorientiert Aufbau Baum-Struktur Während das Dokument gelesen wird, werden keinerlei Daten im Hauptspeicher abgelegt. Erzeugt ein Bild des gesamten Dokuments im Hauptspeicher. schnell in größeren Dokumenten sehr gut als simple Datenbank Modifikation oder Serialisierung von XML-Dokumenten wird nicht unterstützt. Das im Hauptspeicher stehende Bild kann nach belieben geändert werden. Dokumentdaten stehen in dem Augenblick zur Verfügung, in dem sie gelesen werden. Erst wenn das gesamte Dokument gelesen wurde, kann die Anwendung darauf zugreifen.

15 Deshalb Achtung bei Auswahl des Parsers !
Die XML-Spezifikationen erlauben Parsern Spielraum. Vor allem bei: Kommentaren Ignorierbare Leerzeichen Referenzen auf Entities Ziel der Spezifikation ist Erhalt der Logischen Struktur. Nicht Ziel ist die Rekonstruktion Byte für Byte. Deshalb Achtung bei Auswahl des Parsers !

16 Java Parser Implementierungen
unterstützt validierend Version Adresse Ælfred SAX1 nein 1.2a IBM XML4J SAX1, DOM2 ja 3.1.1 (ben. Xerces 1.2) xml.apache.org XP 0.5 Lark Eigenbau 1.0 Lark Larval Sun JAXP SAX2, DOM2 Core 1.1 sun.java.com Sun ProjectX SAX1, DOM1 TechRel 2 sun.java.com/xml Crimson SAX2, DOM2 1.1 (erweit. JAXP 1.1) Aelfred und Lark sind klein für Applets auch C-Parser (Expat, ...)


Herunterladen ppt "XML."

Ähnliche Präsentationen


Google-Anzeigen