Hauptseminar Informatik Die Strukturierung von XML-Dokumenten mit Hilfe von DTDs und XML Schema
Gliederung 1. Motivation 2. XML Eine Einführung 3. DTD 4. XML Schema 4.1 Vergleich DTD und XML Schema 4.2 XML Schema 4.3 Schemasprachen 5. Fazit
Motivation Verteilte Systeme Schnittstellen für Kommunikation Textdatei als Grundlage für Schnittstellen XML als strukturierte Textdatei Definition einer Dokumentenstruktur
XML - Eine Einführung plattformunabhängig applikationsunabhängig sprachenunabhängig Trennung von Struktur, Inhalt und Darstellung
XML - Eine Einführung <?xml version="1.0" encoding="utf-8" standalone= no?> <!DOCTYPE adresse SYSTEM "adresse.dtd"> <namensverzeichnis> <adresse> <name klassifikation="experte"> <vorname>klaus</vorname> <famname>beispiel</famname> </name> <strasse>zum Beispiel</strasse> <nummer>12</nummer> <ort>primaort</ort> <plz>98653</plz> <land>&d;</land> </adresse> </namensverzeichnis> <!--Hier könnte ein Kommentar stehen-->
DTD Document Type Definition Funktion: Validierung der Struktur Arten: Interne DTD Externe DTD
DTD <?xml version="1.0" encoding="utf-8"?> <!ELEMENT namensverzeichnis (adresse)> <!ELEMENT adresse (name, strasse, nummer, ort, plz, land)> <!ELEMENT name (vorname, famname)> <!ELEMENT strasse (#PCDATA)> <!ELEMENT nummer (#PCDATA)> <!ELEMENT ort (#PCDATA)> <!ELEMENT plz (#PCDATA)> <!ELEMENT land (#PCDATA)> <!ELEMENT vorname (#PCDATA)> <!ELEMENT famname (#PCDATA)> <!ATTLIST name klassifikation CDATA #REQUIRED > <!ENTITY d "Deutschland">
DTD vs. XML Schema Schwer zu lesen und zu verstehen Bearbeitung von Metadaten durch Programme ist schwierig. Keine Erweiterbarkeit Keine Unterstützung von Namensräumen Keine Unterstützung von Datentypen Keine Vererbung
XML Schema 1998 vom W3C empfohlen Verwendung von zwei Dokumenten Verwendung von zwei Namensraum- URI Schema-URI :xsd Instanz-URI :xsi
XML Schema Zuordnung URI korrespondierenden Schemadefinition <instanz xmlns= http://sweets.org xmlns:tha= urn:schemas-sweets-de:sugar xmlns:xsi= http://www.w3.org/1999/xmlschema-instance xsi:schemalocation= http://sweets.org http://sweets.org/sweets.xsd urn:schemas-sweets-de http://sweets.de/bonbon.xsd />
XML Schema Einfügen von Schemata aus dem gleichen Namensraum xsd:include Einfügen von Schemata aus unterschiedlichen Namensräumen xsd:import
XML Schema <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/1999/xmlschema" targetnamespace= http://meinserver/adresse.dtd > <xsd:element name="namensverzeichnis" type="verzeichnistyp"/> <xsd:complextype name= verzeichnistyp content= elementonly > <xsd:element name="adresse" type= adresstyp minoccurs= 1 maxoccurs= unbounded /> </xsd:complextype> <xsd:complextype name="adresstyp content= elementonly > <xsd:element name="name"> <xsd:complextype> <xsd:element name="vorname type= string /> <xsd:element name="famname type= string /> <xsd:attribute name="klassifikation type= klassifikationstyp use= required /> </xsd:complextype>
XML Schema </xsd:element> <xsd:element name="strasse type= string /> <xsd:element name="nummer type= nrtyp /> <xsd:element name="ort type= string /> <xsd:element name="plz type= string /> <xsd:element name="land type= string /> <xsd:any processcontent= skip /> </xsd:complextype> <xsd:simpletype name= klassifikationstyp base= NMTOKEN > <xsd:enumeration value= Experte /> <xsd:enumeration value= Anfaenger /> </xsd:simpletype>
XML Schema <xsd:simpletype name= nrtyp base= long derivedby= restriction > <xsd:mininclusive value= 1 /> <xsd:maxinclusive value= 999 /> </xsd:simpletype> </xsd:schema>
Weitere Schemasprachen XML Data Microsoft, ArborText, DataChannel, Inso Prototyp aller Schemasprachen DCD Document Content Description Language Microsoft, IBM, Textuality RDF-basierte Sprache Geht auf Mängel von DTD nicht direkt ein
Weitere Schemasprachen SOX Schema for Object-Oriented Commerce One Erweitert XML-DTD, um nicht nur beim Standard zu wirken
Weitere Schemasprachen DDML Document Definition Markup Language Verschlüsselt den logischen Inhalt einer DTD Ursprünglich Mapping-Mechanismus Grundlage weiterer Schemasprachen
Weitere Schemasprachen XDR (XML Data Reduced) Teilmenge von XML-Data Microsoft Parser MSXML E-Commerce-Anwendungen
Fazit XML Schema bietet Vorteile für professionelle Anwendungen Entwicklung zum Standard Ablösung DTD
Vielen Dank für Ihre Aufmerksamkeit!