Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Markus Röder. XML 1. XML ist eine Methode, um strukturierte Daten in einer Textdatei darzustellen strukturierten Daten sind –Kalkulationstabellen, –Adressbücher,

Ähnliche Präsentationen


Präsentation zum Thema: "Markus Röder. XML 1. XML ist eine Methode, um strukturierte Daten in einer Textdatei darzustellen strukturierten Daten sind –Kalkulationstabellen, –Adressbücher,"—  Präsentation transkript:

1 Markus Röder

2 XML

3 1. XML ist eine Methode, um strukturierte Daten in einer Textdatei darzustellen strukturierten Daten sind –Kalkulationstabellen, –Adressbücher, –Konfigurationsparameter, –finanzielle Transaktionen, –technische Zeichnungen usw. zu verstehen. XML ist eine Menge von Regeln, Richtlinien, Konventionen XML in 10 Punkten

4 2. XML sieht fast aus wie HTML, ist aber kein HTML Wie HTML verwendet XML Tags (durch ' ' geklammerte Wörter) Attribute (der Form name="value"), aber HTML legt fest, was jedes Tag und Attribut bedeutet XML nutzt Tags zur Abgrenzung von Daten überlässt die Interpretation der Daten vollkommen der Anwendung, die sie verarbeitet. Mit anderen Worten: wenn Sie " " in einer XML-Datei sehen, sollten Sie nicht annehmen, dass es sich um einen Absatz (englisch: paragraph) handelt. Je nach Kontext kann es ein Preis, ein Parameter, eine Person, ein(e) P.... sein (übrigens, wer sagt denn, dass es ein Wort mit einem "p" sein muss?) XML in 10 Punkten

5 3. XML ist Text, aber nicht zum Lesen XML-Dateien sind Textdateien, XML-Dateien sind viel strikter als für HTML. Ein vergessenes Tag oder ein Attribut ohne Anführungszeichen macht die Datei unbrauchbar, während dies bei HTML oft explizit erlaubt oder zumindest toleriert wird. In der offziellen XML-Spezifikation steht: Anwendungen dürfen keine Vermutungen anstellen, was der Erzeuger einer beschädigten Datei meinte; wenn die Datei kaputt ist, muss eine Anwendung genau da anhalten und eine Fehlermeldung ausgeben. XML in 10 Punkten

6 4. XML ist eine Familie von Techniken Hier ein Ausschnitt: Xlink (in Entwicklung seit November 1999), das eine Standardmethode beschreibt, um Hyperlinks zu einer XML-Datei hinzuzufügen. XPointer & XFragments (ebenfalls noch in Entwicklung) sind Syntaxen, um auf Teile eines XML-Dokuments zu zeigen. CSS, die Style-Sheet-Sprache XSL (Herbst 1999) ist die weiterentwickelte Sprache zum Erstellen von Style Sheets. Sie basiert auf XSLT Das DOM ist eine Standardmenge von Funktionsaufrufen zur Manipulation von XML- (und HTML-) Dateien aus einer Programmiersprache. XML Namespaces ist eine Spezifikation Die XML Schemas 1 und 2 unterstützen Entwickler bei der präzisen Definition ihrer eigenen XML-basierten Formate. XML in 10 Punkten

7 5. XML ist ausführlich, was aber kein Problem darstellt XML-Dateien fast immer größer als vergleichbare binäre Formate. Programme wie zip und gzip können Dateien sehr gut und sehr schnell komprimieren. Diese Programme sind für fast alle Plattformen verfügbar (und meistens kostenlos). Kommunikationsprotokolle wie Modemprotokolle und HTTP/1.1 können Daten automatisch komprimieren und damit ebenso effektiv Bandbreite sparen wie ein binäres Format. XML in 10 Punkten

8 6. XML ist neu, aber nicht so neu Die Entwicklung von XML begann 1996 Seit Februar 1998 ist es ein W3C-Standard, Vor XML gab es SGML, seit 1986 eine ISO-Norm Vor XML gab es HTML, dessen Entwicklung 1990 begann. XML in 10 Punkten

9 7, 8, 9... Diese kenne ich selbst noch nicht. XML in 10 Punkten

10 10. XML ist lizenzfrei, plattformunabhängig und gut unterstützt Wachsenden Ansammlung von Werkzeugen (eines davon macht vielleicht schon das, was Sie brauchen!) und zu einer Menge versierter Fachleute. Sich für XML zu entscheiden, ist fast so wie SQL für Datenbanken zu wählen: XML als eine W3C-Entwicklung ist lizenzfrei, XML ist nicht immer die beste Lösung, aber es lohnt sich immer, XML in Erwägung zu ziehen XML in 10 Punkten Miss at your own RISK

11 Von SGML zu XML

12 Probleme konkret – 1 Was bedeuten diese Daten? –000000072394|00001|Modell|Handy S 200|| 000000072394|00002|Spannung V/Hz|230/50|| 000000072394|00003|Einstellbereich Elektrode A|10-140|| 000000072394|00004|Einstellbereich WIG A|10-150|| –0100021324554652 20X0.3MLVOLTAREN OPHTHA SINE EDP ATR0000261106... 0100036404554770 200MLPREWASH GALL SEIFE 000003100000... 0100003504556438 30X0.4MLPOLYRINSE LINSEN KLAERER 000008690000... –AENDERNARTNR 4901 000 155 0 MATCHCODEKnebelschalter u.P. BEGINN_TEXTKURZTEXT Knebelschalter u.P. ENDE_TEXTKURZTEXT PREISTYP0 PREISPER1 BRUTTOPREIS14,20 WarengruppeElektrozubeh”r ProduktgruppeSchalter und Taster – Microsoft Corp. MSFT 92,23

13  Was sind die Daten? Die Abgrenzung von Bedeutungseinheiten ist schwer: Probleme konkret – 2 Index: 0Index: 1Index: 2Index: 3 PeterMustermannIsestr. 5323494Hamburg  Wo sind die Daten? Die Ermittlung der Positionen von Bedeutungseinheiten ist schwer:

14 Keine einheitliche Grundstruktur –Wechselnde Delimiter, nicht immer zeilenorientiert usw. Nicht plattformunabhängig –Binärrepräsentation bestimmter Datentypen nicht portabel Schwer lesbar –Nicht textbasiert –Keine Metainformationen Unflexibel –Keine hierarchischen oder unstrukturierten Daten Nicht erweiterbar –Grundstruktur und Semantik proprietär Nachteile proprietärer Datenformate

15  Das sind die Daten! Bedeutungseinheiten werden von Tags eingeschlossen. Bedeutungseinheiten können geschachtelt werden. Das XML-Lösungsangebot – 1 „Vor“„Nach“ „Name“ Peter Mustermann  Dort sind die Daten! Bedeutungseinheiten können über Namen identifiziert werden.

16 Das XML-Lösungsangebot – 2 Standardisiertes Regelwerk –WohlgeformtheitsregelnWohlgeformtheitsregeln –Standardisiertes Import-Werkzeug: XML-Parser –Standardisierte In-memory-Repräsentation: XML DOMXML DOM Textbasiertes Format –Plattformunabhängig –Lesbar & einfach zu erzeugen Hierarchische Struktur –Kann flache, hierarchische und unstrukturierte Daten transportieren Beliebig »erweiterbar« –Eigene XML-Formate werden nach den Wohlgeformtheitsregeln entworfen –Optionale Validation / » semantische « Prüfung DTD bzw. XML Schema

17 Wohlgeformtheit Eine Auswahl von Regeln: –Elemente: Daten zwischen öffnende und schließende Tags Aufbau von Tags ist festgelegt Schließendes Tag kann entfallen, wenn keine Daten umschlossen werden sollen –Genau 1 Dokumentenelement –Elemente können geschachtelt werden Keine Überlappung! –Attribute: Name "=" Wert Nur im öffnenden Tag erlaubt

18 Vom Text zum Objektmodell: XML DOM Mustermann 22087 id="1234" MSXML XML-Parser Adressen Adresse Name PLZ Mustermann 22087 id 1234

19 XML abstrakt Datenserialisierung/-persistenz –In-Memory-Datenstrukturen (XML DOM oder proprietär) werden auf einen Text abgebildet Text kann übertragen oder gespeichert werden Kommunikation... –zwischen Anwendungen –zwischen Rechnern –zwischen Plattformen –in der Zeit Dieselbe Anwendung arbeitet mit Daten zu verschiedenen Zeitpunkten

20 XML-Einsatzgebiete XML-Auslöser –Web-Client Trennung von Daten und Darstellung –Web-Server Verallgemeinerungen –Applikationskommunikation Vgl. COM vs. CORBA Lose Kopplung –Plattformunabhängig persistente Daten Datenaustausch Archivierung

21 XML-Landschaft – 1 XML Anwendung XML Schema XQL XML DOM XSL

22 XML-Landschaft – 2 XML DOM –Generisches Objektmodell für hierarchische Daten XSL(T) & CSS –XML transformieren nach... XML HTML andere Datenformate XQL/XPath –Abfragen auf XML-Daten XML Schema –Validierung von XML-Daten –Datentypen Namespaces –Daten aus verschiedenen Schemata mischen

23 What´s hot in XML? XML2HTML –Trennung von Daten und Darstellung XSLT, CSS SQL XML Datenaustausch –XML2COM B2B –XML EDI –BizTalk Web Services –SQL XML Applikationskommunikation –SOAP –Objektpersistenz

24 Die Grenzen von XML Read-Mostly –Veränderungen an XML-Daten (in Dateien) sind aufwendig Kein Ersatz für Datenbanken –Zugriff nicht sehr performant, solange (große) Datenbestände in Dateien liegen Overhead durch Tags –Metadaten vergrößern Datenumfang Binärdaten müssen selbst kodiert werden

25 XML ist keine exotische Technologie, sondern eine (zukünftige) Selbstverständlichkeit wie Datenbanken, SQL, das Internet oder Skriptsprachen.

26 Fragen? Uff...

27 Ressourcen Microsoft XML Workshop –http://msdn.microsoft.com/xmlhttp://msdn.microsoft.com/xml W3C –http://www.w3c.org/xmlhttp://www.w3c.org/xml XML Informationen/Leitseiten –http://www.xml.comhttp://www.xml.com –http://www.xml.orghttp://www.xml.org –http://www.ozemail.com.au/~sakthi/Common/xml.htmlhttp://www.ozemail.com.au/~sakthi/Common/xml.html –http://www.xmlinfo.comhttp://www.xmlinfo.com –http://www.vbxml.comhttp://www.vbxml.com Welche XML-Software gibt es? –http://www.xmlsoftware.comhttp://www.xmlsoftware.com DTD-Generator –http://www.pault.com/Xmltube/dtdgen.htmlhttp://www.pault.com/Xmltube/dtdgen.html XML Code Generator –http://msdn.microsoft.com/xml/articles/generat.asphttp://msdn.microsoft.com/xml/articles/generat.asp Diskussion des MSXML-Test auf www.xml.comwww.xml.com –http://msdn.microsoft.com/xml/general/msxmlconform.asphttp://msdn.microsoft.com/xml/general/msxmlconform.asp BizTalk –http://www.biztalk.orghttp://www.biztalk.org Bücher / Dokumentation –»XML in Action«, William J. Pardi, MSPress –»XML IE5 Programmer´s Reference«, Alex Homer, Wrox – »Die neue Web-Sprache«, Norbert Hranitzky, http://www.hranitzky.purespace.de/docs/introxml.pdfhttp://www.hranitzky.purespace.de/docs/introxml.pdf

28 Praktische Anwendungen XML WML XHTML MathML CML SVG

29 Du sollst Deine Elemente immer schließen. Du sollst Attributwerte immer in doppelte Anführungszeichen setzen. Schachtelte Deine Elemente immer hierarchisch 3 Gebote von XML

30 Übung XML Erstellen Sie eine xml Datei, die Datensätze zu Personen enthält 3 Personen mit Name, Vorname, Adresse, und möglichen Kontaktdaten, wie Datum, Grund des Kontaktes Es soll pro Person möglich sein mehrere Kontaktinformationen zu speichern

31 Übung - Attribute Erweitern Sie Ihre XML Datei, indem Sie den Personen noch ein Attribut Alter und ein Attribut id hinzufügen Den Kontaktdatensätzen fügen Sie bitte noch das Attribut typ hinzu, das die Werte tel, fax, brief, persoenlich enthalten kann

32 Teile einer XML Struktur Elemente –Leere Elemente Attribute... Kommentare PI CDATA... weiter nächste Seite

33 Teile einer XML Datei CDATA stehen]]> Zeichen-Referenzen : z.B: &#64 &#xA3 Entitäts-Referenzen: > < &

34 Kurzeinführung in DTD Document Type Definition z.B :

35 Komplexe Strukturen <!ELEMENT person (name) muss genau einmal erscheinen <!ELEMENT personen (*person) 0.... n mal <!ELEMENT kontakt (+datum) 1... n mal <!ELEMENT person (?ehemann) 0... 1 mal

36 Übung 2 - DTD Erzeugen Sie eine DTD für Ihre Personendatei Definieren Sie –

37 Einbinden in XML Markus Susu Mimi

38 Gültig oder Wohlgeformt ? Wohlgeformt –Syntax von XML wird eingehalten –Wurzelelement existiert –Korrekte Verschachtelung Gültig –Wohlgeformt –Entspricht DT Definitionen

39 Validieren Nicht - Validierende Parser überprüfen Wohlgeformtheit Validierende Parser überprüfen Gültigkeit

40 DTD Spezialitäten ENTITY Röder mac “> Benutzung mit &mac;

41 Attribute Zeichenkettenattribute Aufzählungsattribute Notationsattribute Tokenattribute –ID –IDREF

42 Attribute definieren <!ATTLIST email id ID #REQUIRED priority (high | low |medium) #REQUIRED type CDATA #IMPLIED >

43 Übung 2 - DTD Attribute Erweitern Sie Ihre DTD mit den Attributwerten mittels –<!ATTLIST....... Binden Sie Ihre DTD in Ihre xml Datei mittels

44 Namespace Namespaces sind eine Erweiterung des Elementnamen oder des Attributnamens um eine URI Mehrere Namespaces können in einer XML Datei benutzt werden. xmlns:mr =„www.erex.de/definition/mr“ xmlns:hans =„www.hans.de/wasweissich/namen“....


Herunterladen ppt "Markus Röder. XML 1. XML ist eine Methode, um strukturierte Daten in einer Textdatei darzustellen strukturierten Daten sind –Kalkulationstabellen, –Adressbücher,"

Ähnliche Präsentationen


Google-Anzeigen