XML-Schema Datentypen

Ähnliche Dokumente
Namespaces. Namensräume...

Mario Jeckle. XML Schema

XML Schema Kurzreferenz

XML DTD und Schema von Thomas Mangold

Deklaration standalone="yes" Quelle:

W3C s XML Schema Die Sprache der Sprachen Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

Semistrukturierte Daten

Aufgabe 1 : XML Schema ( (g,h,i) Punkte) Das folgende XML-Schema modelliert beliebig große Matrizen mit Elementen aus den rationalen Zahlen.

Semistrukturierte Daten

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester

Hauptseminar Informatik. Die Strukturierung von XML-Dokumenten mit Hilfe von DTDs und XML Schema

XML-Schema. Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

Beispiel für die Verwendung von Namespaces. Namespaces. Namespaces Erläuterung (1) Namespaces Erläuterung (2)

XML Schema 2016 S h_da S Seite 1

XML Schema: Validieren statt Programmieren

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

Warum XML-Schema? XML-Schema DTD

XML, XML-DTDs, und XML Schema

XML Schema 2012/2013 S Seite 1 h_da W

XML Grammatiken und XForms

XML Schema vs. Relax NG

XML Schema: Strukturen und Datentypen

DTDs und XML-Schema. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

B Babuschka. Siehe Matrjoschka Babuschka-Design 294, 296, 301, 357 base 102, 109, 238 base64binary 74

XML Schema: Strukturen und Datentypen

XML-Schema im Detail. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

Validierung von XML Dokumenten

Definition von Datentypen mit XML- Schemata

Repräsentation von Struktur

Klaus Schild, Klaus Schild, Element-Deklaration: 1. Möglichkeit

DTDs und XML- Schemata

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79

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

3. XML Schema. XML Schema. Eigenschaften von XML Schema. Vorteile eines expliziten Schemas: Die XML Schema Recommendation des W3C besteht aus:

XSD-Datei(en) Inhalt. Referenzierung eines Schemas ohne Target Namespace VU Semistrukturierte Daten 1. XML Schema

Lösungen zum Praktikum XML-Technologien XML-Grammatiken

Semantic Web Technologies I

Erik Wilde XML Schema

XML Schema Import for the Pathfinder XQuery Compiler

2. Klausur Web-basierte Informationssysteme SS 2016

XML Schema-Sprachen 04

XML-Schema. Einordnung

Proseminar Web Site Building Techniques XML. Birgit Mohr, Jon Theegarten,

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

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

Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

3. Generische Strukturierung von XML-Dokumenten

Beuth Hochschule Verschiedene Bestandteile einer XML-Datei WS10/11

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren

Aufgabe 5.1: (a) Lösung:

Tutorial 3 Einführung in XML

Document Type Definition (DTD)

ER-Diagramm (10 Punkte)

XML (Extensible Markup Language)

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

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

XML Schema 2012/2013 S Seite 1 h_da W

DTD: Syntax-Zusammenfassung

XML: Schemas. aktuelle Version: 1 Verweis auf ein Schema 2

Einleitung. Schema root Übersicht Dokumentation

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester

XML Schema S 2010/2011 a W _d Seite 1 h

4 XML und Datenbanken XML wird von Internet Explorer ab Version 5.0 und von Netscape ab Version 6 unterstützt.

Kapitel 2. Markup. Language. XML-Dokumente. XML Document Type Definition XML Namespaces Schemadefinitionssprache für XML.

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

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)

Programmieren mit Java II

Tutorial: Die Extensible Markup Language (XML)

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

Kapitel 7 SQL/XML. Teil des SQL-Standards Standards SQL:2003. Part-Standard. ISO/IEC 9075-n:2003. Multi-Part

IT-Zertifikat: Daten- und Metadatenstandards

PRÜFUNG IN SEMI-STRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Kapitel WT:III (Fortsetzung)

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

Strukturierung von Inhalten

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

XSD - XML Schema Definition

XQuery - Generierung. Christoph Böhm. LN - Forschungsseminar Berlin,

XML Vorlesung FHA SS

Zusammenfassung M. Rigling 1/22 Version 1.0

Kapitel 5: Datenaustausch mit XML

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

XML Schema S 2012 h_da S Seite 1

XML-Technologie: Grundlegende Syntax

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

XML Bank Management Systeme (XBMS)

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

Klausur zur Vorlesung Einführung in XML

Sachverzeichnis. B Bare, 243 base64binary, 163 Bild bitonales, 264 indiziertes, 265 monochromes, 264 Bildauflösung, 254

Wie ist die Struktur der Daten? Wie wird die Austauschbarkeit der Daten sichergestellt?

Kapitel 7 SQL/XML. Teil des zukünftigen Datenbankstandards SQL:2003. Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery

- Kapselung der Syntax/Semantik Definition. - Wiederverwendung, Standardisierung. - Vereinfachung der Festlegung von Datenstrukturen

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

XML Grundlagen Teil I

Model Driven Engineering für XML-Anwendungen

XML Schema. Seite 1. h_da SS 22007

Vorlesung Werkzeuge der Informatik

Transkript:

Datentypen Data Types Simple Types Complex Types User-derived Built-in Atomic (restriction) Non-atomic (list, union) Primitive Derived WT:III-1 XML Schema Reference Lettmann 2014

Datentypen anytype anysimpletype base types list types primitive types derived types derived from anyatomictype anyuri boolean time gday NOTATION double date gmonth QName float datetime gmonthday base64binary decimal datetimestamp gyear hexbinary... duration gyearmonth string daytimeduration ENTITIES... yearmonthduration IDREFS NMTOKENS WT:III-2 XML Schema Reference Lettmann 2014

Datentypen anytype anysimpletype anyatomictype base types primitive types derived types derived from string normalizedstring token language Name NCName ENTITY ID IDREF NMTOKEN decimal integer long int short byte nonnegativeinteger positiveinteger unsignedlong unsignedint unsignedshort unsignedbyte nonpositiveinteger negativeinteger WT:III-3 XML Schema Reference Lettmann 2014

Datentypen Data Types Simple Types Complex Types Empty Simple Content Complex Cont. Sequence All Choice WT:III-4 XML Schema Reference Lettmann 2014

Aufbau einer XML-Schemainstanz: Rahmen <?xml version="1.0"?> <myns:myelementname xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.upb.de/webtec http://www.upb.de/webtec/myschema.xsd" xmlns:myns="http://www.upb.de/webtec"...>. </myns:myelementname> xmlns:xsi="..." Deklaration Schemainstanz-Namensraum für Vokabular zur Anbindung des Schema-Dokumentes xsi:schemalocation="..." Bindung Namensraum an Schema-Datei (auch mehrere Paare möglich) xmlns:myns="..." Deklaration Namensraum für eigene Elemente und Attribute (war Zielnamensraum in Schema-Datei)... Weitere Attribute für myelementname wie in Schema-Datei festgelegt WT:III-5 XML Schema Reference Lettmann 2014

Aufbau eines XML-Schemas: Rahmen <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema" targetnamespace="http://www.upb.de/webtec" xmlns:myns="http://www.upb.de/webtec" elementformdefault="qualified" attributeformdefault="qualified">. </xsd:schema> xmlns:xsd="..." Deklaration Schema-Namensraum für Vokabular des Schema-Dokumentes targetnamespace="..." Festlegung Zielnamensraum (optional; falls nicht vorhanden: anonymer Namensraum) xmlns:myns="..." Deklaration Zielnamensraum für Referenzen (benannte eigene Datentypen, global deklarierte Elemente und Attribute) elementformdefault="qualified" attributeformdefault="qualified" Festlegung, ob Namen lokal deklarierter Elemente/Attribute in Zielnamensraum gehören oder zum anonymen Namensraum WT:III-6 XML Schema Reference Lettmann 2014

Inhaltsmodelle (a) einfacher Inhalt [W3C] : 1. Verwendung eines Builtin-Datentyps <xsd:element name="myelementname" type="xsd:decimal"/> Vergleichbare DTD-Definition: <!ELEMENT Elementname (#PCDATA)> 2. Verwendung eines Builtin-Datentyps mit Attribut <xsd:element name="myelementname" <xsd:complextype> <xsd:simplecontent> <xsd:extension base="xsd:string"> <xsd:attribute name="source" type="xsd:nmtoken"/> </xsd:extension> </xsd:simplecontent> </xsd:element> WT:III-7 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (a) einfacher Inhalt [W3C] : 3. benannter einfacher Datentyp (nur global) <xsd:simpletype name="mysimpletypename"> <xsd:restriction base="xsd:positiveinteger"> <xsd:mininclusive value="8"/> <xsd:maxinclusive value="72"/> </xsd:restriction> </xsd:simpletype> Verwendung in Elementdeklaration: <xsd:element name="myelementname" type=="myns:mysimpletypename"/> Beachte die Qualifizierung bei Verwendung von type. WT:III-8 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (a) einfacher Inhalt [W3C] : 4. benannter einfacher Datentyp mit Attribut <xsd:complextype name="myattributedsimpletypename"> <xsd:simplecontent> <xsd:extension base="myns:mysimpletypename"> <xsd:attribute name="source" type="xsd:nmtoken"/> </xsd:extension> </xsd:simplecontent> <xsd:simpletype name="mysimpletypename"> <xsd:restriction base="xsd:positiveinteger"> <xsd:mininclusive value="8"/> <xsd:maxinclusive value="72"/> </xsd:restriction> </xsd:simpletype> Der hohe Aufwand wird nötig, da hier ein eigener einfacher Datentyp die Basis der Erweiterung um ein Attribut ist. WT:III-9 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (b) explizite Kindelemente [W3C] : 1. einfache lokale Datentypdefinition <xsd:element name="myelementname"> <xsd:complextype> <xsd:sequence> <xsd:element name="mychildname1" type="xsd:string" maxoccurs="3"/> <xsd:element name="mychildname2" type="xsd:string" minoccurs="0"/> </xsd:sequence> </xsd:element> Vergleichbare DTD-Definition, ohne Anzahl-Constraint: <!ELEMENT myelementname (mychildname1+, mychildname2?)> WT:III-10 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (b) explizite Kindelemente [W3C] : 2. einfache lokale Datentypdefinition mit Attribut <xsd:element name="myelementname"> <xsd:complextype> <xsd:choice> <xsd:element name="mychildname1" type="xsd:string" maxoccurs="3"/> <xsd:element name="mychildname2" type="xsd:string" minoccurs="0"/> </xsd:choice> <xsd:attribute name="myattributename" type="xsd:string" use="optional"/> </xsd:element> Vergleichbare DTD-Definition, ohne Anzahl-Constraint: <!ELEMENT myelementname (mychildname1+ mychildname2?)> WT:III-11 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (b) explizite Kindelemente [W3C] : 3. benannter Datentyp (nur global) mit Attribut <xsd:complextype name="mycomplextypename"> <xsd:choice> <xsd:element name="mychildname1" type="xsd:string" maxoccurs="3"/> <xsd:element name="mychildname2" type="xsd:string" minoccurs="0"/> </xsd:choice> <xsd:attribute name="myattributename" type="xsd:string" use="optional"/> Verwendung in Elementdeklaration: <xsd:element name="myelementname" type=="myns:mycomplextypename"/> WT:III-12 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (b) explizite Kindelemente [W3C] : 4. benannter Datentyp mit Verwendung anderer globaler Element- und Attributdeklarationen <xsd:complextype name="mycomplextypename"> <xsd:choice> <xsd:element ref="myns:mychildname1" maxoccurs="3"/> <xsd:element ref="myns:mychildname2" minoccurs="0"/> </xsd:choice> <xsd:attribute ref="myns:myattributename" use="optional"/> <xsd:element name="mychildname1" type="xsd:string"/> <xsd:element name="mychildname2" type="xsd:string"/> <xsd:attribute name="myattributename" type="xsd:string"/> Beachte die Qualifizierung bei Verwendung von ref. Beachte die Position der Attribute minoccurs, maxoccurs und use bei der Verwendung der Elemente bzw. Attribute und nicht bei der Deklaration. WT:III-13 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (c) gemischter Inhalt [W3C] : 1. einfache lokale Datentypdefinition <xsd:element name="myelementname" mixed="true"> <xsd:complextype> <xsd:all> <xsd:element name="mychildname1" type="xsd:string" maxoccurs="3"/> <xsd:element name="mychildname2" type="xsd:string" minoccurs="0"/> </xsd:all> </xsd:element> Vergleichbare DTD-Definition, ohne Anzahl-Constraint: <!ELEMENT myelementname (#PCDATA mychildname1 mychildname2)*> Die Verwendung von mixed="true" ist in allen Arten von komplexen Datentypen möglich außer bei der Art a) Bsp. 2 und Bsp. 4. WT:III-14 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (d) beliebiger Inhalt [W3C] : 1. Verwendung des Builtin-Datentyps <xsd:element name="elementname" type="xsd:anytype"/> Vergleichbare DTD-Definition: <!ELEMENT Elementname ANY> WT:III-15 XML Schema Reference Lettmann 2014

Inhaltsmodelle (d) beliebiger Inhalt [W3C] : 2. Verwendung des Builtin-Datentyps mit Attribut <xsd:element name="myelementname" <xsd:complextype> <xsd:complexcontent> <xsd:extension base="xsd:anytype"> <xsd:attribute name="source" type="xsd:decimal"/> </xsd:extension> </xsd:complexcontent> </xsd:element> Ziel ist hier die Einschränkung des Attributes source auf einen bestimmten Datentyp und eine bestimmte Nutzung. Ohne Deklaration sind für alle Attribute beliebige Werte möglich. WT:III-16 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (e) leerer Inhalt [W3C] : 1. einfache lokale Datentypdefinition <xsd:element name="myelementname"> <xsd:complextype> </xsd:element> Vergleichbare DTD-Definition: <!ELEMENT Elementname EMPTY> 2. einfache lokale Datentypdefinition mit Attribut <xsd:element name="myelementname"> <xsd:complextype> <xsd:attribute name="myattributename" type="xsd:string"/> </xsd:element> WT:III-17 XML Schema Reference Lettmann 2014

Inhaltsmodelle (Fortsetzung) (e) leerer Inhalt [W3C] : 3. benannter Datentyp (nur global) <xsd:complextype name="myemptytype"> Verwendung in Elementdeklaration: <xsd:element name="myelementname" type=="myns:myemptytype"/> 4. benannter Datentyp mit Attribut <xsd:complextype name="myemptytype"/> <xsd:attribute name="myattributename" type="xsd:string"/> WT:III-18 XML Schema Reference Lettmann 2014

Datentypen für Attribute Attribute können nur einfache Datentypen haben. Sie werden aus den verfügbaren einfachen Builtin-Datentypen [W3C] durch Einschränkung der Wertemenge abgeleitet. 1. Angabe von Minimal-, Maximalwerten <xsd:simpletype name="mysimpletypename1"> <xsd:restriction base="xsd:positiveinteger"> <xsd:mininclusive value="8"/> <xsd:maxinclusive value="72"/> </xsd:restriction> </xsd:simpletype> 2. Angabe von Minimal-, Maximalwerten <xsd:simpletype name="mysimpletypename2"> <xsd:restriction base="xsd:date"> <xsd:minexclusive value="1999-05-31"/> <xsd:maxexclusive value="2014-05-31"/> </xsd:restriction> </xsd:simpletype> WT:III-19 XML Schema Reference Lettmann 2014

Datentypen für Attribute Attribute können nur einfache Datentypen haben. Sie werden aus den verfügbaren einfachen Builtin-Datentypen [W3C] durch Einschränkung der Wertemenge abgeleitet. 3. Angabe von Pattern für die Zeichenkette <xsd:simpletype name="mysimpletypename3"> <xsd:restriction base="xsd:string"> <xsd:pattern value="code [0-9]9-[A-Z]2"/> </xsd:restriction> </xsd:simpletype> 4. Angabe von Pattern für die Zeichenkette <xsd:simpletype name="mysimpletypename4"> <xsd:restriction base="xsd:decimal"> <xsd:pattern value="[1-9][0-9]* 0"/> </xsd:restriction> </xsd:simpletype> WT:III-20 XML Schema Reference Lettmann 2014

Datentypen für Attribute Attribute können nur einfache Datentypen haben. Sie werden aus den verfügbaren einfachen Builtin-Datentypen [W3C] durch Einschränkung der Wertemenge abgeleitet. 5. Angabe der genauen Länge der Zeichenkette <xsd:simpletype name="mysimpletypename5"> <xsd:restriction base="xsd:decimal"> <xsd:length value="10"/> </xsd:restriction> </xsd:simpletype> 6. Angabe von Minimal-, Maximallänge <xsd:simpletype name="mysimpletypename6"> <xsd:restriction base="xsd:qname"> <xsd:minlength value="3"/> <xsd:maxlength value="12"/> </xsd:restriction> </xsd:simpletype> WT:III-21 XML Schema Reference Lettmann 2014

Datentypen für Attribute Attribute können nur einfache Datentypen haben. Sie werden aus den verfügbaren einfachen Builtin-Datentypen [W3C] durch Einschränkung der Wertemenge abgeleitet. 7. Aufzählung der möglichen Werte für die Zeichenkette <xsd:simpletype name="mysimpletypename7"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="alpha"/> <xsd:enumeration value="beta"/> <xsd:enumeration value="gamma"/> <xsd:enumeration value="delta"/> <xsd:enumeration value="epsilon"/> <xsd:enumeration value="zeta"/> <xsd:enumeration value="eta"/> <xsd:enumeration value="theta"/> <xsd:enumeration value="iota"/> <xsd:enumeration value="kappa"/> <xsd:enumeration value="lambda"/> </xsd:restriction> </xsd:simpletype> WT:III-22 XML Schema Reference Lettmann 2014