W3C's XML Schema -- Ein neuer Beschreibungsmechanismus für (Meta-) Daten- Strukturen

Ähnliche Dokumente
Entwurf von XML-Sprachen mit XML-Schema

XML DTD und Schema von Thomas Mangold

XML: Stand der Standardisierung und Technik

Tutorial: Die Extensible Markup Language (XML)

XML, Standards und andere Aktivitäten zur Formierung des Semantic Web

DTD: Syntax-Zusammenfassung

XML-Übersicht. Von HTML zu XML

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

Strukturierung von Inhalten

Entwurf von XML-Sprachen mit XML-Schema

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Möglichkeiten und Grenzen von XML. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

XMI & Java. von Stefan Ocke so3@inf.tu-dresden.de 5.Juli 2001

XML Informationsmodelle

Web-Programmierung (WPR)

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XML-Praxis. XML-Grammatiken. Jörn Clausen

Vorlesung Datenbanken II SS 2006

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

... MathML XHTML RDF

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

ASN.1 <-> XML TRANSLATION

Anhang B. B.1 Webseiten für Entwickler. Anwendungen

Datenaustauschformate. Datenaustauschformate - FLV

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03

XML Grundlagen Teil I

IT-Zertifikat: Daten- und Metadatenstandards

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

Vortrag im Rahmen des IFC-Seminars am Performance Messungen mit XML bei der empolis GmbH

Validierung von XML Dokumenten

Model Driven Software Development

Klausur zur Vorlesung Einführung in XML

(a) Erstellen Sie für die Web-Veröffentlichung eines Artikels die Meta-Informationen nach dem Dublin-Core-Standard.

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008

Index. Index CDATA 113, 183. Achse 430. child 425. all 191. choice 187, 191, 197, 393. ancestor 428. choose 272. Anwendung 351; Beispiel 302

Gliederung. Service Oriented Architecture - XML Technologies. 1 von 11

Verteilte Anwendungen. Teil 2: Einführung in XML

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

XML. Design Patterns. von Susanne Katz (sk30) und Daniel Brenner (db029)

Zusammenfassung M. Rigling 1/22 Version 1.0

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03

XML und Datenmodellierung

XML - die zukünftige Sprache des WWW? Daten im WWW strukturiert speichern, übertragen, darstellen und verketten. Max Riegel XML

XML-Praxis. XML-Grammatiken.

XML Extensible Markup Language

XML, XHTML und MathML

Übersicht. Vorstellung des OO-Paradigmas

XML Extensible Markup Language

Praktikum zur Veranstaltung XML-Technologie: Übung 09

Klausur zur Vorlesung Einführung in XML


Java und XML 2. Java und XML

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht

Das Umfeld von XML. Übersicht

2. Einführung in Datenbanken und XML

XML Schema vs. Relax NG

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language)

XML und Java -- wohin geht die Reise?

Cloud Computing mit mathematischen Anwendungen

XML und Datenmodellierung

XSD - XML Schema Definition

Softwareentwicklung mit Komponenten

XML und die dritte Generation des Internet

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Extensible Markup Language (XML)

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

Agenda GRUNDKURS INFORMATIK 8 BESCHREIBUNG VON DATEN XML. Von SGML zu XML. Grundbegriffe XML Dokument. XML Beispiel

XML / XMI. Peter Braun Institut für Informatik Lehrstuhl für Software und Systemsengineering

X-Technologien. Ein Überblick. Ulrike Henny. IDE Summer School 2013, Chemnitz

3.1 Sinn und Zweck von Namensräumen

Wiederholung: Beginn

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

1 Software Engineering 1

XML Eine Einführung XML Dokumente Erstellen

Berner Fachhochschule Software Schule Schweiz JDOM. Beatrice Amrhein. Oktober 06

Daten- und Metadatenstandards Wintersemester 2011 / November 2011 XML II: DTD

Aufgaben eines Codegenerators

Erhöhung der Datenqualität in XML-Dokumenten von Desktop Applikationen. Alexander Hilliger von Thile - REI/ID

XML-Schema (SCH) Sie erhalten einen Überblick über alle für XML-Schema relevanten Spezifikationen

1 Was ist XML? Hallo XML! Kommentare in XML 52

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

Idee des Semantic Web

Michel Messerschmidt Diplomarbeit. Entwurf einer Sprache zur Klassifizierung von Malware-Vorfällen

XML und SOAP Einführung und Grundlagen

XML Vorlesung FHA SS

Java API for XML Binding

XML-Einführung. Entwicklung Begriffe Vorteile/Möglichkeiten von XML Adressen Beispiele. Fachhochschule Nordwestschweiz FHNW Martin Hüsler

Die besondere Rolle von XML im EAI. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

Seminar 1912 im Sommersemester XML und Datenbanken. Präsenzphase: 28. und 29. Juni Praktische Informatik IV

Buchstabensuppe. Standards für die Präsentation von XML-Instanzen

Seminar XML und Datenbanken. Thema: Workflow

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Projektseminar Texttechnologische Informationsmodellierung

ER-Diagramm (10 Punkte)

Seminar: mobile GIS Austausch von Geodaten

Mit XML-basierten Web-Standards zur Lernplattform im Projekt ITO

extended Markup Language (XML)

eden market Autor: Norman Lahme

Transkript:

W3C's XML Schema -- Ein neuer Beschreibungsmechanismus für (Meta-) Daten- Strukturen Mario Jeckle DaimlerChrysler Research and Technology Dept. product development process chain (FT3/EK) www.jeckle.de mario.jeckle@daimlerchrysler.com mario@jeckle.de

Informatik Kolloquium Universität Würzburg 2000-06-26 ❶ Einführung ❶ Strukturelle Eigenschaften von XML ❶ Familie der XML-Sprachen ❶ Der Mechanismus der Document Type Definition zur XML-Sprachbeschreibung ❶ Mächtigkeit ❶ Grenzen ❶ Notwendige Erweiterungen ❶ XML Schema ❶ Notwendigkeit ❶ Anforderungen ❶ Ansätze ❶ W3C s XML Schema Part & Part 2 Mario Jeckle, FT3/EK 2000-06-26 2

Strukturelle Eigenschaften der extensible Markup Language Start Tag <vortrag datum= 2000-06-26 > Element Tag Name <autor>mario Jeckle</autor> </vortrag> End Tag Attribut Name Attribut Wert Attribut W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen Mario Jeckle, FT3/EK 2000-06-26 3

Die Familie der XML-Sprachen PICS P3P RDF (Resource Description Framework) UML MOF extensible Markup Language ISO-STEP EXPRESS Mario Jeckle, FT3/EK 2000-06-26 4 Clear Text Encoding of exchange Structures Other RDF applications Platform for Internet Privacy Preferences Platform for Internet Content Selection Schema language for XML XSL Transformations Linking Hypertext Documents Metadata Interchange ISO 0303-28 XML-Schema XSLT XLink/ XPointerf XHTML XMI

Ein XML-Dokument... <?xml version=".0" encoding="iso-8859-"?> <!DOCTYPE vortrag SYSTEM "vortrag.dtd"> <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> Mario Jeckle, FT3/EK 2000-06-26 5

Hierarchische Struktur eines XML-Dokuments vortrag.xml <?xml version=".0" encoding="iso-8859-"?> <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> #document vortrag DOCUMENT ELEMENT #text TEXT ELEMENT autor datum ATTR W3C's XML Schema Ein neuer... #text TEXT 2000-06-26 Mario Jeckle Mario Jeckle, FT3/EK 2000-06-26 6

Die Document Type Definition <?xml version=".0" encoding="iso-8859-"?> <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> <!ELEMENT vortrag ANY> <!ATTLIST vortrag datum CDATA #IMPLIED> <!ELEMENT autor (#PCDATA )*> Mario Jeckle, FT3/EK 2000-06-26 7

Die Document Type Definition <?xml version=".0" encoding="iso-8859-"?> <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> <!ELEMENT vortrag ANY> <!ATTLIST vortrag datum CDATA #IMPLIED> <!ELEMENT autor (#PCDATA )*> Mario Jeckle, FT3/EK 2000-06-26 8

Die Document Type Definition <?xml version=".0" encoding="iso-8859-"?> <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> <!ELEMENT vortrag ANY> <!ATTLIST vortrag datum CDATA #IMPLIED> <!ELEMENT autor (#PCDATA )*> Mario Jeckle, FT3/EK 2000-06-26 9

Der DTD-Mechanismus ❶streng hierarchisch ❶Im Wesentlichen ELEMENTS und ATTRIBUTES als Knotentypen ❶Keine Datentypen (abgesehen von CHAR-Data) ❶Rudimentärer Referenzierungsmechanismus (ID(S), IDREF(S)) ❶Selektionstyp ❶Vorgabewerte ❶Dokumentstruktur u.u. nur eingeschränkt ausdrückbar ❶Dokumentenzentriert ❶DTD ist nicht XML Mario Jeckle, FT3/EK 2000-06-26 0

Grenzen der DTD und notwendige Erweiterungen Structural schemas Mächtigkeit annähernd ähnlich des bestehenden DTD-Mechanismus um Dokumentstruktur (Reihenfolge, Auftrittsvielfachheit von Elementen und Attribute) zu beschreiben. Insbesondere sollen folgende Erweiterungen verwirklicht werden: Namespace Integration Definition von Einschränkungen für Elementinhalte Integration Strukturschema und primitive Datentypen Vererbung: DTD unterstützt nur part-of-beziehungen Erweiterter Referenzierungsmechanismus (URI) Kommentare (human und machine readable) Nutzung der bestehenden XML Technologie Mario Jeckle, FT3/EK 2000-06-26

Grenzen der DTD und notwendige Erweiterungen Primitive Datentypen...als Ersatz für #PCDATA klassische atomare Datentypen, ergänzt um SQL-artige, wie integer, date. Programmiersprachen-übliche (typischerweise Java-artige) build-in types uninterpretierte Binärstrukturen (durch Anwender) erweiterbares Typsystem lexikalische Definitionen Einschränkungen an Typen Mario Jeckle, FT3/EK 2000-06-26 2

Optionen bei der Definition eines XML-Schemamechanismus Status quo Ausdrucksmächtigkeit der XML-DTD bildet eine (echte) Untermenge des SGML-DTD Mechanismus. Mario Jeckle, FT3/EK 2000-06-26 3

Optionen bei der Definition eines XML-Schemamechanismus Erweiterung des XML-DTD Mechanismus um weitere Elemente der SGML-DTD. (+) Ausdrucksmächtigkeit nähert sich (wieder) der von SGML an (-)...die Komplexität auch (-) Ausdrucksmächtigkeit kann die von SGML niemals übertreffen Mario Jeckle, FT3/EK 2000-06-26 4

Optionen bei der Definition eines XML-Schemamechanismus Erweiterung des XML-DTD Mechanismus um Elemente, die nicht mit SGML-Mitteln ausdrückbar sind. (+) Freiheitsgrad hinsichtlich beliebiger Erweiterungen (-) XML-Grundforderung nach Untermengenbeziehung zu SGML entfällt (-) immernoch zwei verschiedene Sprachen für Inhalt und Schema Mario Jeckle, FT3/EK 2000-06-26 5

Existierende Ansätze Erweiterungen des bestehenden (SGML-/XML-)DTD-Mechanismus Data Types for DTD (DT4DTD) Wissensbeschreibung Document Content Description for XML (DCD) (RDF basierte Weiterentwicklung von XML-Data) Inspiriert durch XML-API-Entwicklung Schema for Object oriented XML (SOX) XML-Sprachen zur Inhaltsbeschreibung Document Definition Markup Language/XSchema (DDML) Schematron (XSL-basierte Auswertung der Dokumentstruktur) XML-Data/XML-Data Reduced (XDR) (erster Ansatz noch vor Verabschiedung XML.0) Document Structure Description (DSD) W3C s XML-Schema Mario Jeckle, FT3/EK 2000-06-26 6

W3C s XML Schema DCD SOX DDML W3C s XML Schema Part (Structures) XML Schema Part 2 (Datatypes) XDR XML Data W3C s XML-Schema konsolidiert und integriert die wesentlichen existierenden Ansätze und entwickelt sie fort. Mario Jeckle, FT3/EK 2000-06-26 7

W3C s XML Schema Technologie -- Metamodellierung Research and Technology M 2+ validates <?xml version='.0'?> <!-- XML Schema schema for XML Schema.xsd Schemas: <!ELEMENT %schema; ((%include; %import; Part : Structures --> %annotation;)*, <!DOCTYPE schema PUBLIC (%simpletype; %complextype; "-//W3C//DTD XMLSCHEMA 99926//EN" %element; %attribute; "structures.dtd" [ %attributegroup; %group; <!ATTLIST schema xmlns:x CDATA %notation; ), #IMPLIED> <!-- keep this schema XML.0 valid -->]> (%annotation; XML-Schema <schema xmlns="<http://www.w3.org/999/xmlschema" Schema-DTD %simpletype; %complextype; targetnamespace="<http://www.w3.org/999/xmlschema" %element; %attribute; v. xmlns:x="http://www.w3.org/xml/998/namespace" http://www.w3.org/tr/xmlschema-/ (99 von 26) version="id: structures.xsd,v.28 999/2/6 09:43:47 aqw Exp "> [26.04.2000 06:37:04]. %attributegroup; %group; %notation; )* )> Schema.dtd M vortrag.xsd <?xml version =".0"?> <schema xmlns = "http://www.w3.org/999/xmlschema"> <element name = "html"> <complextype content = "elementonly"> <annotation> <appinfodocument Structure appinfo> <appinfo> the namespace URI designates the document profile </appinfo> </annotation> validates XML-Schema dieser Sprache validates DTD dieser Sprache vortrag.dtd <!ELEMENT html (head, body)> <!ATTLIST html %i8n; xmlns %URI; #FIXED 'http://www.w3.org/999/xhtml'> <!ENTITY % head.misc "(script style meta link object)*"> <!ELEMENT head (%head.misc;, ((title, %head.misc;, (base, %head.misc;)?) (base, %head.misc;, (title, %head.misc;))))> <!ATTLIST head %i8n; profile %URI; #IMPLIED > M 0 vortrag.xml <?xml version=".0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML.0 Transitional//EN" "DTD/xhtml-transitional.dtd"> <html xmlns="http://www.w3.org/999/xhtml"> <head> <title>example XHTML v.0 document</title> <meta name= DC.Creator content= Mario Jeckle /> </head> <body> some meaningfull content </body> </html> validates validates XML Dokument in einer konkreten XML-Sprache Mario Jeckle, FT3/EK 2000-06-26 8

Inhaltliche Charakteristika W3C s XML Schema Gegenüber DTD... ❶ stark erweiterte build-in Typen ❶Basistypen angelehnt an ISO 404, SQL und Java ❶Datums- und Zeittypen angelehnt an ISO 860 ❶ Erweiterbares Typsystem ❶ Typamplifikation und -restriktion ❶ lexikalische Definition ❶ Typbeziehungen (äquivalente Typen) ❶ echte XML-Sprache ❶ Explizite Beziehungskardinalität ❶ Kontextabhängige Eindeutigkeit (Schlüssel und Referenzen) ❶ Elemente gleichen Namens mit verschiedenen Inhalten (Polymorphie) Mario Jeckle, FT3/EK 2000-06-26 9

Schema Part (Structures) -- complex types <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> <?xml version=".0"?> <xsd:schema xmlns:xsd="http://www.w3.org/999/xmlschema"> <xsd:complextype name="vortragtype" content="mixed"> Research and Technology <xsd:element name="autor" type="xsd:string" minoccurs="" maxoccurs=""/> <xsd:attribute name="datum" type="xsd:date" minoccurs="0" maxoccurs=""/> </complextype> <xsd:element name="vortrag" type="vortragtype"/> </xsd:schema> <!ELEMENT vortrag ANY> <!ATTLIST vortrag datum CDATA #IMPLIED> <!ELEMENT autor (#PCDATA )*> Mario Jeckle, FT3/EK 2000-06-26 20

Schema Part (Structures) -- elements <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> <?xml version=".0"?> <xsd:schema xmlns:xsd="http://www.w3.org/999/xmlschema"> <xsd:complextype name="vortragtype" content="mixed"> Research and Technology <xsd:element name="autor" type="xsd:string" minoccurs="" maxoccurs=""/> <xsd:attribute name="datum" type="xsd:date" minoccurs="0" maxoccurs=""/> </complextype> <xsd:element name="vortrag" type="vortragtype"/> </xsd:schema> <!ELEMENT vortrag ANY> <!ATTLIST vortrag datum CDATA #IMPLIED> <!ELEMENT autor (#PCDATA )*> Mario Jeckle, FT3/EK 2000-06-26 2

Schema Part (Structures) -- attributes <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> <?xml version=".0"?> <xsd:schema xmlns:xsd="http://www.w3.org/999/xmlschema"> <xsd:complextype name="vortragtype" content="mixed"> Research and Technology <xsd:element name="autor" type="xsd:string" minoccurs="" maxoccurs=""/> <xsd:attribute name="datum" type="xsd:date" minoccurs="0" maxoccurs=""/> </complextype> <xsd:element name="vortrag" type="vortragtype"/> </xsd:schema> <!ELEMENT vortrag ANY> <!ATTLIST vortrag datum CDATA #IMPLIED> <!ELEMENT autor (#PCDATA )*> Mario Jeckle, FT3/EK 2000-06-26 23

Schema Part 2 (Datatypes) angebotene Datentypen... Research and Technology Build-in datatypes ID IDREF IDREFS ENTITY ENTITIES NMTOKEN NMTOKENS Name QName NCName NOTATION integer nonpositiveinteger negativeinteger long int short byte nonnegativeinteger unsignedlong unsingnedint unsignedshort unsignedbyte positiveinteger boolean float double decimal string date time timeinstant timeperiod month year century recurringdate recurringday timeduration recurringduration binary urireference language Mario Jeckle, FT3/EK 2000-06-26 24

Schema Part 2 (Datatypes) angebotene Datentypen... integer nonpositiveinteger negativeinteger long int short byte nonnegativeinteger positiveinteger unsignedlong unsingnedint unsignedshort unsignedbyte boolean float double decimal -, 0, 7683, +555 {..., -2, -, 0} {..., -3, -2, -} -2 63 <= long <= 2 63 - -2 3 <= int <= 2 3 - -2 5 <= short <= short 2 5 - -2 7 <= byte <= 2 7 - {0,,2,...} {,2,3,...} 0 <= unsignedlong <= 2 64-0 <= unsignedint <= 2 32-0 <= unsignedshort <= 2 6-0 <= unsignedbyte <= 2 8 - {true,, false, 0} 32-Bit Fließkommazahl gemäß IEEE 754-985 -E4, 2.64E8, 2e-2, INF 64-Bit Fließkommazahl gemäß IEEE 754-985 -2, 8, 3.45592, +.0 Mario Jeckle, FT3/EK 2000-06-26 25

Schema Part 2 (Datatypes) angebotene Datentypen... Research and Technology string date time timeinstant timeperiod month year century recurringdate recurringday timeduration recurringduration binary urireference language ISO 0646 und Unicode "hello world ISO 860 2000-06-06 ISO 860 09:00:00+2:00 ISO 860 2000-06-06T09:00:00+2:00 ISO 860 P7M ISO 860 PM ISO 860 PY ISO 860 9 ISO 860 PT24H ISO 860 PM2D ISO 860 P0Y0M0DTH30M abstrakter Supertyp von duration und period; nicht direkt verwendbar! abstrakter Typ; nur verwandbar durch Ableitung und encoding-spezifikation IETF RFC2396 http://www.jeckle.de IETF RFC766 de-de, en-uk, x-klingon Mario Jeckle, FT3/EK 2000-06-26 26

Well-formed & valid & schema valid XML-Recommendation vortrag.dtd <!ELEMENT vortrag ANY> <!ATTLIST vortrag datum CDATA #IMPLIED> <!ELEMENT autor (#PCDATA )*> Konformität vortrag.xml <vortrag datum= 2000-06-26 > W3C's XML Schema Ein neuer Beschreibungsmechanismus für (Meta-) Daten-Strukturen <autor>mario Jeckle</autor> </vortrag> XML Dokument Konformität K. <?xml version=".0"?> <xsd:schema xmlns:xsd="http://www.w3.org/999/xmlschema"> <xsd:complextype name="vortragtype" content="mixed"> <xsd:element name="autor" type="xsd:string" minoccurs="" maxoccurs=""/> <xsd:attribute name="datum" type="xsd:date" minoccurs="0" maxoccurs=""/> </complextype> <xsd:element name="vortrag" type="vortragtype"/> <xsd:element </xsd:schema> Vortrags Schema vortrag.xsd Konformität Schema.xsd <?xml version='.0'?> <!-- XML Schema schema for XML Schemas: Part : Structures --> <!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSCHEMA 99926//EN" "structures.dtd" [ <!ATTLIST schema xmlns:x CDATA #IMPLIED> <!-- keep this schema XML.0 valid -->]> <schema xmlns="<http://www.w3.org/999/xmlschema" targetnamespace="<http://www.w3.org/999/xmlschema" xmlns:x="http://www.w3.org/xml/998/namespace" version="id: structures.xsd,v.28 999/2/6 09:43:47 aqw Exp "> Schema Schema Mario Jeckle, FT3/EK 2000-06-26 30

Verwendung Baugruppe Gesamtauftrag 0.. Auftragsdokumentation 0.. Abteilung Teil-Auftrag Eingangsdatum Teilauftrags-Nr 0.. Ist-End Termin Soll-End Termin 0.. Veranlasser Konturgebende Änderung Änderungstyp : String Lage X-Koordinate : Real Y-Koordinate : Real Z-Koordinate : Real Zusammenbau Baugruppe Benennung : String 0.. * Verwendung Bauteil Dokumentation {abstract} Änderungsdokumentation KEM-Nr. : String Laufende-Nr : Number Änderungsbeginn : Date Gießtechnische Änderung Simulationsauftrag Simulationsdokumentation Dateneingang : Date MAGMA-Projektname : String MAGMA-Version : String Ansprechpartner Mitarbeiter Name : String * Abteilung Bezeichnung : String Konturgebende Änderung Änderungstyp : String 0.. 0.. Werkzeugänderung 0.. Änderungsart : String Teil Nr * Änderungsstand Baureihe : Number Änderungsstand : String Kennbuchstabe : Char() Position in Stückliste : Number Teil-Kennung : Number Änderungsindex : Number ersetzt wird ersetzt 0.. 0.. 0.. Fertigteil Teil ID 0.. Benennung : String Zusammenbau * Teil Revision Stand : TimeStamp Bauteil Werkzeugzusammenbau Bauteil-Nr : set of String Benennung : String Einzelteil-Klasse : String Soll-End-Termin : Date Stand : set of Timestamp Start-Termin Rahmen Status : String Werkstoff : String Einsatz Rahmen/Einsatz Wärmebehandlungsvorschrift : Boolean Änderunsart : set of String Teiledokumentation * verwendet ersetzt 0.. Werkzeug/Betriebsmittel Rohteil Änderungsstand Anzahl Schieber : Number 0.. Stand : Timestamp PP-Nr : String Änderungsstand : String 0.. 0.. Teil-Auftrag ersetzt * 0.. Versioniertes 2D/3D Dokument Teilauftrags-Nr Teil Nr besteht 0.. Baureihe : Number aus wird ersetzt Kennbuchstabe : Char() Position in Stückliste : Number Teil-Kennung : Number Simulationsauftrag Änderungsindex : Number Gießtechnische Änderung 0.. Teil ID Teil Revision Zuordnung Rohteil/Produktivwerkzeug Stand : TimeStamp Standardwerkzeug Datenformat Verwendung : String Werkzeugtyp : String Produktivwerkzeug Ersteller/Eigentümer : String Kommentar : String F-Nr. : Set of String 0.. Titel : String Form-Nr. : String Grundlage Änderungsstand : Date Aufspannplan für 0.. entstanden Ergebnis-Dokumentation aus * 0.. * * Betriebsnormteil Ausführung Betriebsnormteil * * Ausführung : String Betriebsnorm : String Gieß- und Formwerkzeug Maschine Datenformatdatentyp 0.. Maschinentyp : String Datentyp ist benötigt * ist 0.. Einfachteil Lieferant Kaufteil Breite : Real Name : String * Durchmesser : Real Gewindemaß : Real Höhe : Real Länge : Real Simulationstyp Schlüsselweite : Real Simulationstyp : String Typ : Real * Simulationsprojektabschnitt Beginn : Date Ende : Date Produktivwerkzeug F-Nr. : Set of String Form-Nr. : String Abgratwerkzeug F6-Nr : String * Werkzeugsatz Druckguß Werkzeugzusammenbau Kern Nr. Änderungsindex Änderungsindex : Number DIN-Teil * Kern ID Benennung : String Werkzeugsatz Kokille Norm : String Kokille Kernformwerkzeug Kernbezeichnung : String * Gießeinzelteil ersetzt durch dient Gießhalbzeug für Versuchs- und Einzelteil * * entsteht Beschreibung : String * Elektrode aus zugrundeliegendes Urmodell : String * dient für 0.. * entsteht aus Bauteil Bauteil-Nr : set of String Benennung : String Einzelteil-Klasse : String Soll-End-Termin : Date Stand : set of Timestamp Start-Termin Status : String Werkstoff : String Wärmebehandlungsvorschrift : Boolean Änderunsart : set of String Baugruppe Benennung : String Research and Technology 3 schema architecture Tamino physical schema logical schema Java <?xml version=".0"?> <xsd:schema xmlns:xsd="http://www.w3.org/999/xmlschema"> <xsd:complextype name="vortragtype" content="mixed"> conceptual schema <xsd:element name="autor" type="xsd:string" minoccurs="" maxoccurs=""/> <xsd:attribute name="datum" type="xsd:date" minoccurs="0" maxoccurs=""/> </complextype> <xsd:element name="vortrag" type="vortragtype"/> </xsd:schema> <?xml version=".0"?> <xsd:schema xmlns:xsd="http://www.w3.org/999/xmlschema"> <xsd:complextype name="vortragtype" content="mixed"> <xsd:element name="autor" type="xsd:string" minoccurs="" maxoccurs=""/> <xsd:attribute name="datum" type="xsd:date" minoccurs="0" maxoccurs=""/> </complextype> <xsd:element name="vortrag" type="vortragtype"/> </xsd:schema> Oracle object oriented ProjektVerwaltung : : ID Proj# :n :n : : wird geleitet Projekt : 0: ausgeführt durch : 2:30 :n start date :n budget h [-9]-[-9] 5 PersID : Projektleiter 0: :3 Mitarbeiter Money (0<budget<=50000) =0000 { a 2} = a Gehaltsgruppe : : eingeordnet in Person : :n :n Vorname :n String :n Nachname XML Schema Person Arbeitet_fuer Firma PersonalID PersonalID FirmenID Name Firmenname FirmenID Anschrift Anschrift Rechtsform C++ Produkt Sachnummer FirmenID Bezeichnung evk SQL Server Logical Models relational DB2 UDB Excelon Mario Jeckle, FT3/EK 2000-06-26 3

W3C's XML Schema Status und Resümee Status: last call working draft (WD 2000-04-07) Vor der Verabschiedung als recommendation Der zukünftige Standard zur XML-Sprachdefinition Werkzeugunterstützung verfügbar "Schemas are coming: Start using them!" Schema Editoren Parser Tim Berners-Lee, 999--05 Umstellung von DTD-Repositories auf Schema zu beobachten Sprachgenerierung (XMI!) statt (manueller) Spracherstellung XML-Schema ist keine Datenmodellierungssprache XML-Schema ist eine XML-Sprache Jedes Schema ist ein (schema) valid XML-Dokument Research and Technology Mario Jeckle, FT3/EK 2000-06-26 32

References W3C s XML-Schema: www.w3.org/tr/note-xml-schema-req (XML schema requirements) www.w3.org/tr/xml-schema-0 www.w3.org/tr/xml-schema- www.w3.org/tr/xml-schema-2 Alternativvorschläge: www.w3.org/tr/dt4dtd www.w3.org/tr/note-dcd www.w3.org/tr/note-ddml www.brics.dk/dsd/ www.w3.org/tr/note-sox/ www.ascc.net/xml/resource/schematron/schematron.html www.w3.org/tr/998/note-xml-data-005 Mario Jeckle, FT3/EK 2000-06-26 33

References Sekundärliteratur: www.w3.org/tr/schema-arch www.lindamann.com/xml/xml%20schemas%20ng%20guide%20html.htm xml.com/pub/2000/02/23/xmldeviant/index.html?wwwrrr_20000223.txt www.w3.org/tr/note-xml-schema-req www.iso.ch/cate/d9346.html (ISO 404) Werkzeuge: www.alphaworks.ibm.com/formula/xml xml.apache.org (Xerces) www.extensibility.com (XML Authority) Tangierte und weiterführende XML-Literatur: www.w3.org/tr/rec-xml (XML v.0 Recommendation) www.w3.org/tr/rec-xml-names www.w3.org/tr/xml-infoset Dieser Vortrag und weiterführende Information: www.jeckle.de Mario Jeckle, FT3/EK 2000-06-26 34