Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML Extensible Markup Language Hype or Hope ?. © Problem Wie können Informationen gespeichert werden ? unabhängig von verwendeter.

Ähnliche Präsentationen


Präsentation zum Thema: "XML Extensible Markup Language Hype or Hope ?. © Problem Wie können Informationen gespeichert werden ? unabhängig von verwendeter."—  Präsentation transkript:

1 XML Extensible Markup Language Hype or Hope ?

2 © Problem Wie können Informationen gespeichert werden ? unabhängig von verwendeter Software standardisiert erweiterbar dauerhaft (technisch) einfach (technisch) migrationsfähig binär (z.B. Serialisierung) ASCII (rel.) Datenbank So nicht !

3 © Eigenschaften XML ist standardisiert XML ist eine Methode strukturierte Information zu speichern XML ist HTML ähnlich (aber sehr anders) XML ist Text, der nicht zum Lesen gedacht ist XML ist ausführlich XML ist eine Familie von Technologien (XSLT...) XML ist neu! (oder doch nicht?) XML ist lizenzfrei, Plattform unabhängig, unterstützt standardisierte XML-Programmierschnittstellen (SAX, DOM) XML-Applikationen sind nicht standardisiert!

4 © standardisiert Aufbau von XML-Dokumenten ist standardisiert Struktur natürlich (?) nicht Was bringt's ? Werkzeuge, APIs,... brauchen nur einmal entwickelt (gekauft) werden TCP/IP SMTP Client Anwendung Datenmodell Darstellung XML DTD

5 © strukturierte Information Nicht Freitext, sondern Struktur + Daten Strukturierung durch Tags Daten und Metadaten 2423|4567|100| |4567|50| |4567|10|19900

6 © EDIFACT UNH+1+ORDERS:D:96A:UN' BGM+220+AGL153+9+AB' DTM+137: :102' DTM+61: :102' NAD+BY+++PLAYFIELD BOOKS+34 FOUNTAIN SQUARE PLAZA+CINCINNATI+OH US' NAD+SE+++QUE+201 WEST 103RD STREET+INDIANAPOLIS+IN US' LIN+1' PIA :IB' QTY+21:5' PRI+AAA:24.99::SRP' LIN+2' PIA :IB' QTY+21:10' PRI+AAA:42.50::SRP' UNS+S' CNT+3:2' UNT+17+1'

7 © XML AGL Playfield Books 34 Fountain Square Plaza Cincinnati OH US QUE 201 West 103RD Street Indianapolis IN US XML by Example Developing XML Solutions

8 © HTML ähnlich The hypertext markup language is an SGML format (Tim Berners-Lee, 1991) Hypertext spezielle Anwendung feste Tags Markup Language Gruppen werden durch Kommandos (Markup) getrennt/identifiziert auch Daten+Metadaten Ganz wichtig heute eher HTMFADL Hypertext Markup, Formatting and Application Development Language ;-)

9 © nicht zum Lesen ! Beispiel: ausführlich geschwätzig ! XML ist nicht geeignet zur Darstellung manuellen Bearbeitung wer bearbeitet schon TCP-Pakete von Hand ! XML ist geeignet zur maschinellen Bearbeitung !!! zur Speicherung zum Datenaustausch

10 © Familie von Technologien Editoren nicht standardisiert/allgemein verfügbar Transformationen XSLT, Stylesheets,... Programmierwerkzeuge Parser, SAX, DOM Datenbanken Parser erlauben nur das Lesen von XML-Dokumenten Bearbeitung (z.B. Suchen, Filtern,...) manuell Datenbankfunktionalität auf XML-Dokumenten noch kaum verfügbar/verbreitet/verläßlich

11 © Neu ! W3C working group seit Juli 1996 Verbesserung/Nachfolger von HTML If you are doing catalogs, you need a Tag; for repair manuals you need ; [...] I want to be able to create new information structures [...] This is why C++ lets you make your own classes (imagine a development environment that didn't!) (Dave Hollander) SGML Standard Generalized Markup Language Textverarbeitungen, Ende 60er Jahre IBM: GML (Goldfarb, Mosher, Lorie), ISO 8897 Vereinfachtes SGML A slimmed-down SGML is not a new concept (W3C XML ERB, 1997)

12 © Standards,... sind so toll, daß jeder seinen eigenen haben sollte Applikationen sind NICHT standardisiert

13 © Namespaces Firma A benutzt Tag, Firma B auch (mit anderer Sematik) beide wollen gemeinsames Dokument erstellen Konflikt ! Namespaces: Tags erhalten Namespace zugewiesen.... Wichtig, wir arbeiten aber nur mit einem, lassen Namespaces also weg.

14 © Zusammenfassung XML ist Methode zur Speicherung/Übertragung von Informationen standardisiert einfach (jedenfalls einfacher als SGML) neu (gut) XML ist nicht Allheilmittel zum Datenaustausch Struktur der Dokumente muß (vom Anwender) standardisiert werden einfach (zu lesen,...) neu (gut)

15 © XML Dokument besteht aus Tags (Metadaten) und Text (Daten) Tags haben einen Namen werden durch <> begrenzt zu jedem Tag gehört ein Ende-Tag Tags können Attribute haben Attributwerte müssen in Anführungszeichen stehen Bei Tags ohne Daten (leere Elemente) Abkürzung statt

16 © XML Dokument contd. Tags können geschachtelt sein Till Hänisch Aber richtig, nicht so: Till Hänisch Welche Informationen als Attribut, welche als Daten Keine generellen Regeln Daten, die das Element beschreiben/modifizieren als Attribut sonst als Daten

17 © Welche Tags ? Im Prinzip frei, aber wer sorgt dann dafür, daß die Dokumente korrekt sind ? alle nötigen Informationen da richtige Schreibweise,.... DTD Document Type Definition legt fest, welche Tags wo möglich sind Instrument zur Standardisierung Validierung Überprüfung eines Dokuments, ob mit DTD konform Parser

18 © Aufbau eines Dokuments Zunächst die verwendete XML Version und Zeichensatz (XML-Deklaration) Dann die DTD zum Dokument, hier als URL oder als Datei Hier wird auch festgelegt, daß das äußerste Tag (Root) CONTACTLIST ist Jetzt kommen die Tags Hans Mustermann

19 © Beispiel Kontaktliste Liste mit Kontakten (Name, Adresse,...) jede Liste hat Eigentümer Tags - die ganze Liste - der Eigentümer - ein Kontakt - eine Person - Vorname - Nachname als PK wird die Adresse verwendet

20 © DTD

21 © Schritt für Schritt: 1 DTD ist auch ein XML Dokument oder doch nicht ? (XML-Schema) Zeichensatz ISO ISO Latin 1 Tag CONTACTLIST Eigentlich reden wir von ELEMENTen, die vom Start- und Ende-Tag begrenzt werden CONTACTLIST muß zuerst genau ein OWNER Element, dann ein oder mehrere CONTACT Elemente enthalten CONTACT? hieße null oder eins CONTACT* hieße beliebig viele (auch null) (OWNER|CONTACT) hieße entweder OWNER oder CONTACT

22 © 2 Element NAME kann kein oder ein FIRSTNAME Element und ein LASTNAME Element enthalten hat ein Attribut ( ), daß angegeben werden muß (#REQUIRED) und aus Text besteht (CDATA) Attributlisten können ein oder mehrere Attribute umfassen Aufbau jedes Eintrags: z.B.

23 © 3 Elemente FIRSTNAME und LASTNAME enthalten Text (PCDATA: Parsed Character DATA), keine Tags ! Element CONTACT enthält ein NAME Element andere Typen ANY - beliebige Tags EMPTY - leeres Tag

24 © Entities entsprechen etwa Makros Benutzung (Entity-Referenz) mit &Entity; &Copyright; > < auch externe Entities &adr; fügt die angegebene URI in das Dokument ein Parameter Entities (mit %) - Makro in DTD

25 © Dokument Hans Mustermann du Entspricht das Dokument der DTD ? Validierung durch Parser, z.B. mit Xerces Sample SAXCount java sax.SAXCount -v name

26 © Was tun mit XML ? Daten müssen/sollen verwendet/gelesen werden XML für Menschen ungeeignet transformieren XSLT wandelt XML in irgendwas anderes um meistens wieder in XML oder in HTML hier nur kurz: Umwandlung in HTML

27 © XSLT Transformationen XSL (Extensible Stylesheet Language) Skript mit Formatierungsregeln in XML geschrieben Umwandlung von XML in irgendwas (Text, XML, HTML) Welche Regeln für welche XML-Elemente ? Pattern matching auf Pfade / - Dokument Root /CONTACTLIST - Element CONTACTLIST Mächtige Konstrukte für z.B. Bedingungen,... hier nur einfaches Beispiel java org.apache.xalan.xslt.Process -IN XML-Datei -XSL Stylesheet -OUT Zieldatei

28 © Beispiel Kontakte von Kontakte von

29 © XML-Anwendungen Speicherung z.B. Konfigurationsdateien Datenaustausch RPC SOAP Darstellungsunabhängige Informationen Content Negotiation Web Anwendungen u. v. a. m. Annotationen (RISOURCE) P2P (jaxp)

30 © Konfigurationsdateien Warum mit XML ? "Jeder" kann XML Anwender Werkzeuge (Parser,...) hierarchische Strukturen bieten sich hier an Beispiel Remote Management, Plausibilitätsprüfung,... jdbc:oracle:thin walker:1521:till scott tiger

31 © Informationsaustausch eCommerce z.B. papierlose Bestellung ORDER Beispiel von vorher Alternative z.B. EDIFACT Probleme Standardisierung: DTD's (+Semantik) muß für verschiedene Anwender festgelegt werden, z.B. Andererseits: Transformationen sind einfach (XSLT,...) bisher: Austausch von Daten, aber: wie werden Funktionen im Zielsystem "aufgerufen" ? z.B. "Bestellung ausführen" oder "stornieren" ?

32 © SOAP verteilte Anwendungen Austausch von Daten Aufruf von Methoden entfernter Objekte "klassisch": RPC, CORBA, DCOM, RMI,... Alternative: SOAP XML-kodierter RPC standardisierter Nachfolger von XML-RPC portabel (da XML, HTTP basiert) einfach/problemlos (s. o.) (+) stateless (Transaktionen,...) (-) Overhead (gegenüber RPC, CORBA,...) Beispiel: Lagerbestand abfragen

33 © SOAP Beispiel Frage: Tefal 4711 und Antwort Tefal

34 © Web Anwendungen Content Negotiation Darstellung im Web (HTML) Als Ausdruck (PDF) Auf Handy (WML) Web-Anwendungen (z.B. Intranet) komplexes HTML für Anwender schwierig zu pflegen Layout-Änderungen aufwendig (an vielen Stellen) z.B. in HTML-Dateien, CGI-Scripts,... Trennung von Inhalt (XML) und Darstellung (HTML) Teamarbeit bei Erstellung Programmierer/Content-Lieferanten Designer Content Management

35 © Zusammenfassung XML Dokumente enthalten Elemente, die durch Tags begrenzt werden Einfache Regeln (Passende öffnende und schließende Tags, Attributwerte in "",...) Struktur kann durch DTD beschrieben werden muß aber nicht - Gegensatz zu SGML Überprüfung durch Validierung (Parser) Transformation durch XSLT Namespaces vermeiden Kollisionen weites Feld


Herunterladen ppt "XML Extensible Markup Language Hype or Hope ?. © Problem Wie können Informationen gespeichert werden ? unabhängig von verwendeter."

Ähnliche Präsentationen


Google-Anzeigen