XML Schema 2015 S h_da S Seite 1

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

XML Schema 2012/2013 S Seite 1 h_da W

XML Schema S 2012 h_da S Seite 1

XML Schema S 2011 h_da S Seite 1

XML Schema. Seite 1. h_da SS 22007

Einleitung. Schema root Übersicht Dokumentation

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester

XML Schema 2015 S h_da S Seite 1

XML Schema 2016 S h_da S Seite 1

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester

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

<B1>Skript</B1> Skript zur Vorlesung Auszeichnungssprachen Stand: September 2016

2a) Rekursion (zugeschnitten auf Anfrage) (C) Prof. E. Rahm Universität Leipzig

XML Schema Kurzreferenz

XML Schema 2012/2013 S Seite 1 h_da W

Nonstandard Datenbanken

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

Dokumentverarbeitung

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren


XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester

6. XML-Datenbanken: Datendefinition

5. XML Datenbanken: Datendefinition

Namespaces. Namensräume...

Übung 3 Klaus Schild,

5. XML-Datenbanken: Datendefinition

XML-Schema Datentypen

Kapitel WT:III (Fortsetzung)

XML Vorlesung FHA SS

XML Schema vs. Relax NG

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

Herbstsemester Januar Datenbanksysteme II

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

4. XML-Datenbanken: Datendefinition

Deklaration standalone="yes" Quelle:

DTDs und XML- Schemata

Definition von Datentypen mit XML- Schemata

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

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

D#32058 Spezifikation UPOC DM V2

Tutorial: Ein Benutzerprofil erstellen. Version: 2.0 Autoren: Anja Beuth, Stefan Suermann

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

1. Übung zur Vorlesung Service-orientierte Architekturen

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

XSD - XML Schema Definition

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

Zusammenfassung M. Rigling 1/22 Version 1.0

Warum XML-Schema? XML-Schema DTD

Diese Version ist anwendbar für die Übermittlung von Daten, die die folgenden Veranlagungszeiträume betreffen:

XML Schema-Sprachen 04

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

Exkurs: Backus-Naur-Form (BNF) Document Type Definition (DTD) W3C XML Schema (XSD) RELAX NG. Diskussion

Koordinationsstelle für die dauerhafte Archivierung elektronischer Unterlagen

XML Schemasprachen. Übersicht und Einordnung. Übersicht. ! DTDs und XML Schema. ! Schemasprachen als Konzept. ! Schemasprachen selbstgemacht

Semistrukturierte Daten

Semistrukturierte Daten

Seminar: mobile GIS Austausch von Geodaten

XML Schema Marco Skulschus Marcus Wiederstein Sarah Winterstone

Vorlesung Datenbanken II SS 2006

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

XML Bank Management Systeme (XBMS)

Technische Richtlinie

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele:

XML-Technologien

AVID-Übung 1. XML Schema, XML-Verarbeitung mit Java. 6. Mai Andreas I. Schmied

ech-0035: Design von XML Schemas

XML. XML-Datenmodellierung / XML-Schemasprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

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

Einführung in XML. Präsenzveranstaltung zur E-Learning-Veranstaltung. Sommersemester Prof. Dr. Klaus-Peter Fähnrich Heiko Kern

Arbeitsgruppe IT-gestützte Vorgangsbearbeitung XDOMEA 1.0. Technische Beschreibung

Cross Media Publishing von Lehrmaterialien mit XML Schema & XSL-Transformationen

Projektspezifische Datenschemata erstellen

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)

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

XML Schema: Strukturen und Datentypen

Datenqualität. Komponenten. Geodaten. Vollständigkeit. Konsistenz. Vector/Raster. Genauigkeit - räumlich - zeitlich - inhaltöocj.

Aufgabe 5.1: (a) Lösung:

Bericht zum XÖV-UML-Prol

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

XML. extensible Markup Language. Dr. Beatrice Amrhein.

XML Schema: Strukturen und Datentypen

JAXB. Java Architecture for XML Binding.

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

Konzept INES - STV FL Lohnsteuer Schnittstelle Lohndaten Import

XML Bank Management Systeme (XBMS)

Extraktion von Metainformationen

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

Interface Spezifikation exotargets LS

3.1 Sinn und Zweck von Namensräumen

XML für Medientechnologen

Chapter 8 XML Data Modeling

Technische Dokumentation zu XJustiz Version 1.0

A Schema for Augmented Text

Literatur. Verteilte Anwendungen WS Teil 2/Namensräume

Oracle XML DB: XML Schema Handling für Entwickler und Administratoren

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

Transkript:

XML Schema Seite 1

XML Schema Weiterführende Konzepte: SimpleContent Complex Content Unique / key-keyref Dokumenterweiterung Dokument-Modularisierung Seite 2

XML Schema complextype Komplexe Typen sind in zwei Gruppen unterteilt: Solche mit simplecontent: Erlauben Attribute, aber keine Kindelemente nur CharacterInhalt Solche mit complexcontent: Erlauben Attribute und Kindelemente Diese Unterscheidung hat Auswirkung auf abgeleitetetypen: Aus komplexen Typen mit simplecontent können keine komplexe Typen mit complexcontent abgeleitet werden. Seite 3

XML Schema Beispiel: complextype - simplecontent <xs:complextype name="preis"> <xs:simplecontent> <xs:extension base="xs:decimal"> <xs:attribute name="currency" type="xs:string"/> </xs:extension> </xs:simplecontent> </xs:complextype> Seite 4

XML Schema Beispiel:complexType - complexcontent <xs:complextype name="adresse"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="strasse" type="xs:string"/> <xs:element name="stadt" type="xs:string"/> </xs:sequence> </xs:complextype> Explizite Syntax ohne Nutzung von Defaults <xs:complextype name="adresse"> <xs:complexcontent> <xs:restriction base="xs:anytype"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="strasse" type="xs:string"/> <xs:element name="stadt" type="xs:string"/> </xs:sequence> </xs:restriction> </xs:complexcontent> </xs:complextype> Seite 5

XML Schema: Substitution Group Die SubstitutionGroup erlaubt in XML Schema, ein Element zu deklarieren, das ein anderes Element des aktuellen Schema ersetzen kann. Das ersetzbare Element heißt Headelement und muss Als Toplevel Element deklariert sein Die Elemente der SubstitutonGroup müssen vom selben Typ wie das Headelement sein oder von einem abgeleiteten Typ. Anwendung: Mehrsprachigkeit von Element- und Attributbezeichnern. Seite 6

XML Schema: Substitution Group <xs:element name="name" type="xs:string"/> HeadElement <xs:element name="navn" substitutiongroup="name"/> SubstitutionGroup <xs:complextype name="custinfo"> <xs:sequence> <xs:element ref="name"/> </xs:sequence> </xs:complextype> <xs:element name="customer" type="custinfo"/> HeadElement <xs:element name="kunde" substitutiongroup="customer"/> SubstitutionGroup <customer> <name>john Smith</name> </customer> <kunde> <navn>john Smith</navn> </kunde> Seite 7

XML Schema unique Zeigt an, dass ein Element/Attribut in einem bestimmten Bereich eindeutig sein muss: <xs:complextype name="employeetype" mixed="true"> <xs:sequence> <xs:element name="id" type="xs:int" minoccurs="2 maxoccurs="5"> <xs:unique name="u1"> <xs:selector xpath="employee"/> SCOPE <xs:field xpath="id"/> </xs:unique> </xs:element> <xs:element name="name" type="xs:string"/> <xs:element name="hiredate" type="xs:date"/> </xs:sequence> </xs:complextype> Seite 8

XML Schema unique kombinierter Wert Zeigt an, dass eine Element/Attribut Kombination in einem bestimmten Bereich eindeutig sein muss: <xsd:element name="items" type="items"> <xsd:unique name="partnumandname"> <xsd:selector xpath="items"/> <xsd:field xpath="@partnum"/> <xsd:field xpath="productname"/> </xsd:unique> </xsd:element> SCOPE Seite 9

XML Schema key, keyref Mit dem Paar key, keyref kann sichergestellt werden, dass korrespondierende Werte existieren (Referentielle Integrität). <xs:complextype name="employeetype" mixed="true"> <xs:sequence> <xs:element name="name" type="myname"> <xs:keyref name="k1" refer="idatt"> <xs:selector xpath="employee/name"/> <xs:field xpath="@nnummer"/> </xs:keyref> </xs:element> <xs:element name="hiredate" type="xs:date"/> <xs:element name="id" type="xs:int"> <xs:key name="idatt"> <xs:selector xpath="employee"/> <xs:field xpath="id"/> </xs:key> </xs:element> </xs:sequence> </xs:complextype> Seite 10

XML Dokument Extension Das <any> Element The <any> Element erlaubt XML Dokumente mit Elementen zu erweitern, die nicht Bestandteil des Schemas sind. Das Schema "family.xsd definiere eine Person wie folgt: <xs:element name="person"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minoccurs="0"/> </xs:sequence> </xs:complextype> </xs:element> Seite 11

XML Dokument Extension Wir haben ein Schema "children.xsd": <?xml version="1.0" encoding="iso-8859-1"?> <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema" targetnamespace="http://www.h_da.com" xmlns="http://www.h_da.com" elementformdefault="qualified"> <xs:element name="children"> <xs:complextype> <xs:sequence> <xs:element name="childname" type="xs:string maxoccurs="unbounded"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> Seite 12

XML Dokument Extension Wir können nun das Element "person" mit einem "children" Element erweitern. <?xml version="1.0" encoding="iso-8859-1"?> <persons xmlns="http://www.fhg.de" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.fhg.de/family.xsd http://www.h_da.com/children.xsd"> <person> <firstname>hege</firstname> <lastname>refsnes</lastname> <children> <childname>cecilie</childname> </children> </person> <person> <firstname>stale</firstname> <lastname>refsnes</lastname> </person> </persons> Seite 13

XML Dokument Extension Das <anyattribute> Element Das <anyattribute> Element erlaubt XML Dokumente mit Attributen zu erweitern, die nicht Bestandteil des Schemas sind. Beispiel: <xs:attributegroup name="ag1" id="i11"> <xs:anyattribute namespace="##any" processcontents="strict"/> </xs:attributegroup> Seite 14

XML Dokument Extension Wert des NamespaceAttributes Erlaubter Inhalt ##any Any well-formed XML from any namespace (default) ##local Any well-formed XML that is not qualified, i.e. not declared to be in a namespace ##other Any well-formed XML that is from a namespace other than the target namespace of the type being defined (unqualified elements are not allowed) "http://www.w3.org/1999/xhtml ##targetnamespace" Any well-formed XML belonging to any namespace in the (whitespace separated) list; ##targetnamespace is shorthand for the target namespace of the type being defined Seite 15

XML Dokument Extension Wert des processcontents Attributes lax skip strict Bedeutung instructs an XML processor to validate the content on a can-do basis: It will validate attributes for which it can obtain schema information, but it will not signal errors for those it cannot obtain any schema. XML processor skips validating the schema associated with the required namespace XML processor is obliged to obtain the schema associated with the required namespace, and validate it. Seite 16

Beispiel: Attribute Erweiterung <xs:complextype name="tt1"> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute name="a1" use="required"/> <xs:attribute name="a2" use="optional"/> <xs:anyattribute namespace="##any processcontents="lax"/> </xs:extension> </xs:simplecontent> </xs:complextype> Seite 17

XML Schema Wiederbenutzbare Schemata Komplexere Schemata werden aus existierenden Schemata zusammengesetzt oder beim Entwurf in mehrere Schemata untergliedert, um eine einfachere Pflege und eine Wiederbenutzung von Schemata zu ermöglichen. Es gibt zwei Mechanismen: Include: Definitionen und Deklarationen werden in den Namensraum eingebracht, d.h. der Targetnamespace der inkludierten Komponenten muss identisch mit dem Targetnamespace des Ziels sein. Import: Definitionen und Deklarationen unterschiedlicher Namensräume können gemeinsam genutzt werden. Die unterschiedlichen Namensräume müssen Prefixes zugeordnet werden (siehe Beispiel) Redefine: erlaubt, inkludierte Komponenten neu zu definieren (siehe Beispiel) Seite 18

XML Schema Wiederbenutzbare Schemata- redefine Definition einer Adresse in einer Schemadefinition (Datei 1) <complextype name="address"> <!-- Adressdefinition in Schema 1 --> <sequence> <element name="name" type="string"/> <element name="strasse" type="string"/> <element name="stadt" type="string"/> </sequence> </complextype> Seite 19

XML Schema Wiederbenutzbare Schemata- redefine Redefinition der Adresse (Erweiterung um ein Element) <!-- Adressdefinition in Schema 2 --> <redefine schemalocation="http://www.iese.fhg.de/schemas/address.xsd"> <!-- redefinition of Address --> <complextype name="address"> <complexcontent> <extension base="address"> <sequence> <element name="land" type="string"/> </sequence> </extension> </complexcontent> </complextype> </redefine> Seite 20

XML Schema Namespaces Namespaces definieren ein "Vokabular" für eine bestimmte Anwendung (Elemente und Attribute). Das Attribut xmlns:xx ordnet dem Vokabular einen Prefix zu. XML/Schema erlaubt in einer Deklaration unterschiedliche Vokabulare (Namespaces) zu benutzen. Die Verbindung zu dem Namespace, gegen den ein Dokument validiert werden soll, wird mit dem Attribut targetnamespace spezifiziert. <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified" attributeformdefault="unqualified" version="1.0" targetnamespace="documents\ns2"> Die Attribute elementformdefault und attributeformdefault legen fest, wie die Qualifizierung der lokalen Namen in den Dokumentexemplaren gehandhabt wird. qualified bedeutet Qualifizierung mit Prefix erforderlich, unqualified bedeutet, Qualifizierung nicht erforderlich (default) Seite 21

XML Schema Namespaces Spezielle XML/Schema Namespaces: xmlns:xs=http://www.w3.org/2001/xmlschema Vokabular Schema-Deklaration Namespace für Attribute in Dokumentinstanzen xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" definierte Attribute: - xsi:type spezifiziert den verwendeten Type (einfach/komplex) bei der Validierung - xsi:nil erlaubt, dass ein Element als gültig validiert wird, auch wenn es keinen Inhalt hat und obwohl ein Inhaltsmodell definiert ist. - xsi:schemalocation, xsi:nonamespaceschemalocation Adresse des beim Validieren verwendeten Schemata Seite 22