27.November / 4.Dezmber 2006 ― 1Elektronisches Publizieren: XML Schema Schemasprachen für XML — XML Schema — Anne Brüggemann-Klein TU München.

Slides:



Advertisements
Ähnliche Präsentationen
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Advertisements

Extensible Markup Language
Worzyk FH Anhalt Datenbanksysteme für FÜ WS 2004/2005 XML - 1 XML Extensible Markup Language.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Kapitel 4 Datenstrukturen
Dipl.- Dok. Rusalka Offer
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
XML-basierte Techniken
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
XML Schema. © Prof. T. Kudraß, HTWK Leipzig Die 3 Strömungen von XML XML Schema Dokumenten- verarbeitung Datenbanken und Datenaustausch Semistrukturierte.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
XML Standardisierungen und Abfragesprachen
Einführung XML XML Einführung Andreas Leicht.
Hauptseminar XML-Technologie: Resource Description Framework (RDF) Michael Kranz Betreuer: Roland Haratsch.
Geoinformation III Vorlesung 13b XML-Schema.
XPointer Die Xpointer beschreiben einen Ort oder Bereich innerhalb einer XML-Instanz. Die XPointer bauen auf der XML Path Language auf. Die XPointer ist.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
DVG Klassen und Objekte
Typhierarchien Hierarchische Abhängigkeit zwischen zwei Typen durch –Erweiterung (engl. extension) oder –Restriktion (engl. restriction) einer bestehenden.
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
XML und Datenbanken - Einführung in XML -
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Was versteht man unter XML Schema?
Projekt Textorientierte Autorentools Werkzeugentwicklung aTool Springer Verlag – RWTH Aachen – TU München19. Februar 2001 Lehrstuhl für Informatik III.
XSLT.
XML Schema.
DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: Einziger atomarer Typ: #PCDATA (Parsed Character DATA)
XML – Schema (DTD).
Fortsetzung DTDs, UML  XML
Java für Fortgeschrittene
Daniel Kucher Proseminar XHTML. 1. HTML – Struktur und Versionen 2. Der – Teil 3. Der – Teil 4. Stylesheets (CSS) – Das Rückrat von XHTML.
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Kurzpräsentation von Herbert Schlechta
XJustiz XJustiz_XML XJustiz_Schema Fachmodul Wertelisten
XML-Schema UML  XML-Schema
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
Vordefinierte Datentypen (1)
Peter Brezany Institut für Softwarewissenschaften Universität Wien
XML Das „Competence Center XML“ am Institut für Wirtschaftsinformatik der J. W. Goethe-Universität in Frankfurt.
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Java-Kurs Übung Besprechung der Hausaufgabe
Geoinformation3 Geoinformation III XML-Schema Vorlesung 13a.
DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge.
XML – Grundlagen und Anwendungen Teil 4: Modellierung von Datenmodellen mit XML-Schema Prof. Dr. Michael Löwe, FHDW Hannover.
Ableitung UML  XML Schema
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —
Fakultät Bauingenieurwesen Institut für Bauinformatik bS Multimodelle Modellierungs-Methode XSD mit Vererbung Sebastian Fuchs
30.Oktober / 6.November 2006 ― 1Elektronisches Publizieren: Kodierung strukturierter Dokumente mit XML Kodierung strukturierter Dokumente im Web — XML.
6.Dezember 2006 ― 1Elektronisches Publizieren: Vorgehensweise zum Schemaentwurf Vom Domain Model zum Schema — Vorgehensweise zum Schemaentwurf —
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
Kapselung und Darstellung von Lernobjekten in Lernumgebungen Unter besonderer Berücksichtigung von in MathML-kodierten mathematischen Formeln und deren.
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
Operator Overloading, Mehrfachvererbung, Safe Pointer, Observer.
XML. Überblick In Anlehnung an Sprachmerkmale Wie jede Sprache verfügen auch ML über –Syntax  Wohlgeformtheit –Grammatik  DTD, XML-Schema.
Validierung vom XML mit XML Schema
Fortsetzung DTDs, UML  XML
Document Type Definitions (DTDs)
XML-Schema UML  XML-Schema
 Präsentation transkript:

27.November / 4.Dezmber 2006 ― 1Elektronisches Publizieren: XML Schema Schemasprachen für XML — XML Schema — Anne Brüggemann-Klein TU München

27.November / 4.Dezmber 2006 ― 2Elektronisches Publizieren: XML Schema Rollen von Schemasprachen für XML o Modellierung eines Ausschnitts der realen Welt, der auf XML-Dokumente abgebildet werden soll, inklusive semantischer Beziehungen (Grenze der Selbstbeschreibung) o Herstellung von Verbindlichkeit „Firewall gegenüber der Diversität von XML“ o Beschreibung zulässiger Strukturen (inklusive Vokabular) in Strukturvorgabe o Kontrakt/Zusicherung bzgl. XML-Daten (Überprüfbarkeit, Validierung) o Dokumentation einer XML-Anwendung o Unterstützung der Verarbeitung

27.November / 4.Dezmber 2006 ― 3Elektronisches Publizieren: XML Schema Ansätze für Schemasprachen o Bestandteil von XML: Document Type Definitions (DTDs)  schon behandelt o Weiterentwicklung (Datentypen, Namespaces), Schwerpunkt Modellierung: XML Schema  dieser Block o Theoretische Fundierung (Automatenmodell), Schwerpunkt Strukturbeschreibung: Relax NG  nächster Block o Constraint-basierter Ansatz auf Basis von XPath: Schematron  nicht behandelt

27.November / 4.Dezmber 2006 ― 4Elektronisches Publizieren: XML Schema Steckbrief für XML Schema … o XML Schema Version 1.0 in drei Teilen (Primer, Strukturen, Datentypen) W3C Recommendation 2. Mai 2001 Zweite Ausgabe 28. Oktober 2004 o Sprache für Strukturvorgaben für XML-Dokumente als Alternative zu XML-DTDs o Klasse von XML-Dokumenten (Instanzen) durch Schema definierbar o Konformanz von Instanz zu Schema überprüfbar o Vergleich mit Datenbank-Welt z.B. Schema in relationalen Datenbanken (Reichweite von Selbstbeschreibung)

27.November / 4.Dezmber 2006 ― 5Elektronisches Publizieren: XML Schema … Steckbrief für XML Schema … o Kodierung von Schemata als XML-Instanz (Meta-Schema) o Bearbeitbarkeit mit XML-Werkzeugen, z.B. mit XSLT o Reiche Datentypen für Attributwerte und Textdaten [Einfache, textkodierte Daten] o Differenzierte bzw. kompakte Vorgaben für Elementstrukturen (größere Mächtigkeit als DTDs) [komplexe, strukturkodierte Typen] o Berücksichtigung von XML Namespaces (freie Präfixe)

27.November / 4.Dezmber 2006 ― 6Elektronisches Publizieren: XML Schema … Steckbrief für XML Schema o Unterstützung von Management-Aufgaben und Modellierung (vergleichbar mit Entity-Relationship-Modell) o Typdefinitionen: Disassoziation von Namen und Typen o benannte Typen und Referenzierung in Deklarationen über Namen (in DTDs nur über Parameterreferenzen) o Vererbung von Typen (semantische Beziehung zwischen Typen) o Modularisierung von Strukturvorgaben o Annotationen

27.November / 4.Dezmber 2006 ― 7Elektronisches Publizieren: XML Schema Entwurfsmuster „Katalog“ (XML DTDs) o Deklaration von Elementen: Festlegen von Inhaltsmodell für alle Elemente eines Namens/Typs: Welche Elementtypen kommen in welcher Reihenfolge in der Ebene unterhalb des deklarierten Elementtyps vor? Auch Text? o Deklaration von Attributen: Festlegen der Attribute pro Elementtyp mit Attributnamen, Wertebereich (Typ) und Defaultverhalten o Datentypen für Textinhalte von Elementen: #PCDATA o Datentypen für Attribute: CDATA, ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS, NAME, NAMES, NUMBER, NUMBERS, nutzerdefinierte Aufzählungstypen o Makromechanismus: Parameter-Entitäten

27.November / 4.Dezmber 2006 ― 8Elektronisches Publizieren: XML Schema XML Schema am Beispiel o Übersetzung von book.dtd in XML Schema o compBook.xml compBook.xml o book.dtd (katalogartige Struktur) book.dtd o book.xsd (bildet katalogartige Struktur von DTD ab, Salami Slice Pattern) book.xsd o Namespace für XML Schema o Elemente mit lokalen Attributen o vordefinierte Namen für Datentypen

27.November / 4.Dezmber 2006 ― 9Elektronisches Publizieren: XML Schema o Voraussetzung: Elemente, Attribute, Typen eines Schemas gehören zu universellem, anonymem Namensraum o Referenzierung eines Schemas in XML-Instanz über URI für Schema Verknüpfung Dokument / Schema

27.November / 4.Dezmber 2006 ― 10Elektronisches Publizieren: XML Schema o Beschreiben Sie ein Verfahren, nach dem Sie DTDs in XML-Schema-Beschreibungen übersetzen können. o Wenden Sie Ihr Verfahren auf Ihre Gedichts-DTD oder eine andere DTD Ihrer Wahl an. o Validieren Sie ein Gedicht (oder ein zur DTD Ihrer Wahl passendes Dokument) mit Bezug auf DTD und Schema. o Finden Sie heraus, ob der Internet Explorer oder ein anderer Web-Browser Ihrer Wahl eine Validierung gemäß XML Schema unterstützt. Hausaufgabe (Abgabe )

27.November / 4.Dezmber 2006 ― 11Elektronisches Publizieren: XML Schema Weiterentwicklung des Beispiels o Vermeiden von Redundanzen (Flyweight Pattern) o Definition von Typen o Deklaration von Elementen mit Referenz auf benannte Typen o Vererbung von Typen o bookNamedTypes.xsd bookNamedTypes.xsd o Entkopplung von Element/Attributnamen und Typ o lokale Deklarationen von Elementen und Attributen o bookLocalDekl.xsd bookLocalDekl.xsd o XML Schema dadurch mächtiger als XML DTDs o Namensräume o lokale Deklarationen von Elementen und Attributen o compBook4xsdNS.xml, bookNS.xsd compBook4xsdNS.xmlbookNS.xsd

27.November / 4.Dezmber 2006 ― 12Elektronisches Publizieren: XML Schema o Target Namespace : Zu welchem Namespace sollen die hier deklarierten Elemente/Attribute und die hier definierten Typen gehören? Globale Festlegung über Attribut targetNameSpace in xsd:schema o Lokal deklarierte Elemente und Attribute können dem Target Namespace oder dem anonymen, universellen Namespace zugewiesen werden global über Attribute elementFormDefault und attributeFormDefault, lokal über Attribut form mit Werten qualified / unqualified (Primer)Primer o Öffnung: Referenzierung von Deklarationen und Definitionen erfordert explizite Angabe des Namensraums (auch für andere Namensräume als für Target Namespace möglich) Namensräume in XML Schema

27.November / 4.Dezmber 2006 ― 13Elektronisches Publizieren: XML Schema o Allgemein: Elemente, Attribute, Typen eines Schemas gehören zu Target-Namespace o Referenzierung eines Schemas in XML-Instanz über Target-Namespace und URI für Schema Verknüpfung Dokument / Schema

27.November / 4.Dezmber 2006 ― 14Elektronisches Publizieren: XML Schema o Annotationen auf allen Ebenen o Deklarationen von Elementen (Zuordnung Name-Typ) o Deklaration von Attributen (Zuordnung Name-Typ) o Definition von Typen o einfach: nur Textwert o komplex (nur für Elemente): Unterelemente oder Attribute  Global definierte Objekte über Referenzen auf Namen wiederverwendbar! Bestandteile eines Schemas benannt / anonym global / lokal global / lokal

27.November / 4.Dezmber 2006 ― 15Elektronisches Publizieren: XML Schema o Deklaration von Elementen o Deklaration von Attributen o Definition von komplexen Typen o Definition von einfachen Datentypen Weiteres Vorgehen (lokal)

27.November / 4.Dezmber 2006 ― 16Elektronisches Publizieren: XML Schema o Wie heißt das Element? o Wie ist das Element strukturiert? Wie ist es aus Teilstrukturen und Text aufgebaut? o Welche Attribute trägt das Element? o Hat das Element einen Default-Wert? o Hat das Element einen konstanten Wert? Deklaration von Elementen …

27.November / 4.Dezmber 2006 ― 17Elektronisches Publizieren: XML Schema o Mit Referenz auf benannten Typ o Mit lokaler, anonymer Typdefinition im Elementinhalt Typdefinition o Defaultwert (Text) für (leeres) Element Attribut default="…" o Fester Wert (Text) für (leeres) Element Attribut fixed="…" o Als globales Element, über Namen referenzierbar oder als lokales Element, in Typdefinition … Deklaration von Elementen …

27.November / 4.Dezmber 2006 ― 18Elektronisches Publizieren: XML Schema o Durch lokale Elementdeklarationen XML Schema mächtiger als DTDs o Lokale Elementdeklaration innerhalb einerTypdefinition: Verhältnis 1 : n / Elementname : Typ (in DTDs nicht nachbildbar) o Globale Typdefinition: Verhältnis n : 1 / Elementname : Typ (in DTDs nachbildbar über Parameterentitäten) [Flyweight Pattern vermeidet Redundanzen] o DTDs übersetzbar in Schema mit globalen Deklarationen von Elementen und lokalen Typdefinitionen für Kindebene (Inhaltsmodell mit Referenzen auf global deklarierte Elemente und mit lokalen Attributdeklarationen) [Salami Slice Pattern, Katalogmodell] … Deklaration von Elementen

27.November / 4.Dezmber 2006 ― 19Elektronisches Publizieren: XML Schema o Welchen Namen hat das Attribut? o Welchen Datentyp hat das Attribut? o Hat das Attribut einen Default-Wert? o Hat das Attribut einen konstanten Wert? Deklaration von Attributen …

27.November / 4.Dezmber 2006 ― 20Elektronisches Publizieren: XML Schema o Mit Referenz auf benannten Typ o Mit lokaler, anonymer Typdefinition Typdefinition o Defaultwert für nicht eingetragenes Attribut Attribut default="…" o Fester Wert für (nicht eingetragenes) Attribut Attribut fixed="…" o Als globales Attribut, über Namen referenzierbar oder als lokales Attribut, in Elementdeklaration !Namensräume! o Globale, benannte Gruppe von Attributen (referenzierbar) … … Deklaration von Attributen

27.November / 4.Dezmber 2006 ― 21Elektronisches Publizieren: XML Schema o Definition eines komplexen (benannten oder anonymen) Typs beinhaltet o Definition der Elementenstruktur mit (lokalen) Deklarationen von Elementen und mit Referenzen auf global deklarierte Elemente o Definition der Attribute mit (lokalen) Deklarationen von Attributen und Referenzen auf global deklarierte Attribute (auch Referenzierung von Element- und Attributgruppen) mit Element xsd:complexType Komplexe Typen …

27.November / 4.Dezmber 2006 ― 22Elektronisches Publizieren: XML Schema o Bei Deklaration/Referenz von Elementen innerhalb von Typdefinitionen Definition von Vorkommen mit Attributen minOccurs, maxOccurs o Bei Deklaration/Referenz von Attributen innerhalb von Typdefinitionen Definition von Vorkommen mit Attribut use … Komplexe Typen …

27.November / 4.Dezmber 2006 ― 23Elektronisches Publizieren: XML Schema o Definition eines komplexen Inhaltsmodells mit o xsd:sequence o xsd:choice o xsd:all o xsd:group (auch benannt, referenzierbar) innerhalb von Element xsd:complexType o Ausdrucksstärke von Inhaltsmodellen äquivalent zu DTDs (ohne Berücksichtigung von "Eindeutigkeit"), jedoch knappere Beschreibungen durch reichhaltigere Definitionsmöglichkeiten für Vorkommen und Element xsd:all … Komplexe Typen …

27.November / 4.Dezmber 2006 ― 24Elektronisches Publizieren: XML Schema o Elemente mit Textwerten und Attributen … Komplexe Typen …

27.November / 4.Dezmber 2006 ― 25Elektronisches Publizieren: XML Schema o Mischung von Text und Elementen mit Attribut mixed="true" in Element xsd:complexType o genauere Festlegung des Inhaltsmodells für Mixed Content als in DTDs, aber spezieller als SGML o keine weitere Einschränkung von Text in Mixed Content möglich Beispiel Absätze mit optionalem Element head am Anfang nicht modellierbar … Komplexe Typen …

27.November / 4.Dezmber 2006 ― 26Elektronisches Publizieren: XML Schema o Leeres Element (mit Attributen) Oder: Als simple content mit leerem Inhalt … Komplexe Typen …

27.November / 4.Dezmber 2006 ― 27Elektronisches Publizieren: XML Schema o Basistyp Ableitung …

27.November / 4.Dezmber 2006 ― 28Elektronisches Publizieren: XML Schema o Erweiterung um angehängte Elemente oder neue Attribute o Spezialisierung … Ableitung …

27.November / 4.Dezmber 2006 ― 29Elektronisches Publizieren: XML Schema o Instanzen (Polymorphie) Element vom Typ basicName in Instanz ersetzbar durch Element vom abgeleiteten Typ (in Instanz zu deklarieren) Mr Wolf John F. Wolf John F. Wolf Jr … Ableitung …

27.November / 4.Dezmber 2006 ― 30Elektronisches Publizieren: XML Schema o Erweiterung von Ableitungsmechanismus auf Elementnamen: Substitution von alternativen Namen, deklariert mit abgeleiteten Typen, für "Head"-Element Keine spezielle Markierung / Deklaration in Instanz (Schema statisch erweiterbar) … Ableitung …

27.November / 4.Dezmber 2006 ― 31Elektronisches Publizieren: XML Schema o Steuerung der Ableitbarkeit o abstrakte Elemente und Typdefinitionen o finale Typdefinitionen und Facettenwerte o Vorteile der Polymorphie (durch Late Binding) o Explizitmachen der semantischen Beziehungen o Erweiterbarkeit o Problem o Schema-interne Probleme mit „Eindeutigkeit“ o Schema-Definition auf Daten beschränkt Spezialisierte Funktionalitäten bei Ableitung nicht mitdefiniert, wie bei OO-Programmierung … Ableitung

27.November / 4.Dezmber 2006 ― 32Elektronisches Publizieren: XML Schema o XML Schema sieht einfache, textkodierte Datentypen vor o für Attributwerte o für Textinhalte von Elementen, die keine Unterelemente haben o Werte kodiert als Zeichenketten o Serialization Space (XML-Zeichenkettenebene) o Parsed Space (Unicode-Dekodierung, Auflösung von Entitäten) o Lexical Space (datentypabhängige WS-Verarbeitung) o Value Space (Abbildung von Lexem auf Wert) Einfache Typen …

27.November / 4.Dezmber 2006 ― 33Elektronisches Publizieren: XML Schema o Vordefinierte einfache Typen (z.B. xs:date, xs:integer ) (Übersicht Anhang B des Primers)Anhang B des Primers o Nutzerdefinierte einfache Typen mittels Ableitung aus schon definierten Typen o Restriktion o Listenbildung o Vereinigung … Einfache Typen …

27.November / 4.Dezmber 2006 ― 34Elektronisches Publizieren: XML Schema o Definition neuer einfachen Typen durch Restriktion eines Basistyps über Werte für Facetten o Definition des Basistyps über Attribut base oder lokale Typdefinition, eingebettet in xs:restriction o Muster … Einfache Typen: Einschränkung …

27.November / 4.Dezmber 2006 ― 35Elektronisches Publizieren: XML Schema o Beispiel … Einfache Typen: Einschränkung …

27.November / 4.Dezmber 2006 ― 36Elektronisches Publizieren: XML Schema o Facetten (abhängig von Datentyp) o xs:enumeration o xs:length xs:maxLength xs:minLength o xs:pattern o xs:whitespace value="preserve|replace|collapse" o xs:maxInclusivexs:maxExclusive xs:minInclusivexs:minExclusive o xs:totalDigitsxs:fractionDigits … Einfache Typen: Facetten …

27.November / 4.Dezmber 2006 ― 37Elektronisches Publizieren: XML Schema o Die Facette xs:pattern (operiert im Lexical Space) o Wert der Facette ist Muster (regulärer Ausdruck) über Unicode-Zeichen o Beispiel o Muster beschreibt Zeichenketten (match) (Zeichenkette passt zu Muster) o Ähnliche Muster in Perl, emacs, vi … Einfache Typen: Pattern-Facette …

27.November / 4.Dezmber 2006 ― 38Elektronisches Publizieren: XML Schema o Funktionssymbole:. \ ? * + { } ( ) [ ] o Atomare Muster … beschreiben Zeichenketten der Länge 1 o Zeichen, die keine Funktionssymbole sind o spezielle Zeichen mit vorangestelltem \: \n \r \t \\ \| \. \^ \? \* \+ \{ \} \( \) \[ \] o Wildcard-Zeichen. o Zeichenklassen \s (Spaces) \d (Digits) \w (Word Characters) \i (XML 1.0 Initial Name Characters) \c (XML 1.0 Name Characters) und ihre Komplemente \S \D \W \I \C … Einfache Typen: Pattern-Facette …

27.November / 4.Dezmber 2006 ― 39Elektronisches Publizieren: XML Schema o … Atomare Muster o Unicode Character Classes, z.B.: \p{Cc} für Kontrollzeichen \P{Cc} für Nicht-Kontrollzeichen o Unicode Character Blocks, z.B.: \p{isArabic} für arabische Zeichen \P{isArabic} für nicht-arabische Zeichen o Nutzer-definierte Zeichenklassen [a-z] [^a-z] [-^\\] [\-\^\\] [-+] [+-] [\^] [\d\p{cC}] [\p{isBasicLatin}-[\P{L}]] … Einfache Typen: Pattern-Facette …

27.November / 4.Dezmber 2006 ― 40Elektronisches Publizieren: XML Schema o Quantifizierer, nach Atomen und Gruppen * + ? {n} {n,m} {n,} o Vereinigungsoperator | o Sequenzoperator (ohne Zeichen) o Gruppenbildung mit Klammern () (schachtelbar) o Beispiel … Einfache Typen: Pattern-Facette …

27.November / 4.Dezmber 2006 ― 41Elektronisches Publizieren: XML Schema o Atomare Typen o Listentypen: NMTOKENS, IDREFS, ENTITIES Ein Grundtyp, mehrere elementare Werte pro Datum o Vereinigungstypen Mehrere Grundtypen zur Auswahl, ein elementarer Wert pro Datum … Einfache Typen: Klassifizierung …

27.November / 4.Dezmber 2006 ― 42Elektronisches Publizieren: XML Schema o Konstruktor für Listentyp  o In Instanzen Listeneinträge durch Leerzeichen getrennt (innerhalb von Listeneinträgen verboten!) o Facetten: xs:length xs:maxLength xs:minLength xs:enumeration xs:whiteSpace … Einfache Typen: Listentyp …

27.November / 4.Dezmber 2006 ― 43Elektronisches Publizieren: XML Schema o Konstruktor für Vereinigungstyp (Typen in memberTypes durch Leerzeichen getrennt!) o In Instanzen Typzuweisung an ersten Typ in der Liste, auf den Datum in der Instanz paßt o Facetten: … Einfache Typen: Vereinigungstyp

27.November / 4.Dezmber 2006 ― 44Elektronisches Publizieren: XML Schema o Definitionsmöglichkeiten für eigene Typen beschränkt auf o Constraints zu vorgegebenen Typen mittels Facetten o Operatoren Liste und Vereinigung d.h. eingeschränkte Definitionsmöglichkeiten für eigene Wertebereiche (Semantik) o Konstruktiver wäre eine Typ-Beschreibungssprache o für die gültigen Lexeme eines Typs o für die Wertgleichheit zweier Lexeme Einige Gesichtspunkte dazu (manchmal polemisch) in Not my Type: Sizing up W3C XML Schema Primitives ( Einfache Typen: Diskussion

27.November / 4.Dezmber 2006 ― 45Elektronisches Publizieren: XML Schema Weiterentwicklung des Beispiels o Vererbung von Typen o Erweiterung und Einschränkung, Polymorphie, Substitution o Unterstützung von Wiederverwendung o genauere semantische Beschreibung o Anwendung: Entwurfsmuster Composition o Modularisierung/Komposition von Schemata o Schema-Management o Öffnen von Schemas o Wiederverwendung, Erweiterung o Anwendung: Dateninseln aus anderer XML-Anwendung o Einfache Datentypen

27.November / 4.Dezmber 2006 ― 46Elektronisches Publizieren: XML Schema o Inklusion von Schema mit gleichem Target Namespace o Inklusion von Schema mit gleichem Target Namespace, verbunden mit Überschreiben Überschreibungen o Inklusion von Schema mit anonymen Target Namespace Chamäleon-Design o Inklusion von Schema mit anderem Target Namespace (erfordert Namensraumpräfixe für Referenzen) Modularisierung / Komposition von Schemata

27.November / 4.Dezmber 2006 ― 47Elektronisches Publizieren: XML Schema o Referenzierung (Wiederverwendung): o global deklariertes Element oder Attribut o global definierter Typ o global definierte Gruppe o Ableitung (Wiederverwendung als Basis für Modifikation) o global definierter Typ o Substitution Oberstes Element in Instanz o global deklariertes Element o Überschreibbarkeit o global deklarierte / definierte Konstrukte Mechanismen für Öffnung von Schemata …

27.November / 4.Dezmber 2006 ― 48Elektronisches Publizieren: XML Schema o Attribut xsi:type o Komponierbarkeit von Schemata auf Instanz-Ebene o Referenzierung verschiedener Schemata in Instanz o Wildcards im Schema xs:any namespace="" processContents="" xs:anyAttribute namespace="" processContents="" xs:anyType namespace: ##local ##targetNamespace ##any ##other processContents: skip strict lax … Mechanismen für Öffnung von Schemata

27.November / 4.Dezmber 2006 ― 49Elektronisches Publizieren: XML Schema o Nach Struktur o simple (nur Textinhalt) o complex (mit Elementinhalt oder Attributen) Klassifizierung von Inhaltsmodell als o simple (nur Text) o complex (nur Elemente) o mixed (Text und Elemente) o empty (kein Inhalt) o Nach Definitionsort o benannt (global, referenzierbar, wiederverwendbar) o anonym (lokal, nicht referenzierbar, einmalig nutzbar) Klassifizierung von Typen …

27.November / 4.Dezmber 2006 ― 50Elektronisches Publizieren: XML Schema … Klassifizierung von Typen o Nach Herkunft und Vererbungshierarchie primitivabgeleitet vordefiniertnur simple nutzerdefiniertnur complexsimple und complex

27.November / 4.Dezmber 2006 ― 51Elektronisches Publizieren: XML Schema o Ein globales Element mit ausschließlich anonymen Typdefinitionen (inline) für direkt und indirekt untergeordnete Elemente / Attribute: Russian Doll Design Struktur des Schemas entspricht Struktur der Instanz Vorsicht: Rekursionen nur mit beschränkter Tiefe möglich [library.xml, library1.xsd]library.xmllibrary1.xsd o Ausschließliche Verwendung globaler Elementdeklarationen, Referenzen auf globale Elementdeklarationen bei untergeordneten Elementen: DTD-Analog, flacher Katalog, Salami Slice Design [library2.xsd]library2.xsd o Verwendung von benannten Typen / Inhaltsmodellen: in DTDs mit Parameterentitäten, Venetian Blind [library3.xsd]library3.xsd Entwurfsmuster für Schemata

27.November / 4.Dezmber 2006 ― 52Elektronisches Publizieren: XML Schema o Beschreiben Sie ein Verfahren, nach dem Sie DTDs in XML-Schema-Beschreibungen übersetzen können. o Wenden Sie Ihr Verfahren auf Ihre Gedichts-DTD oder eine andere DTD Ihrer Wahl an. o Validieren Sie ein Gedicht (oder ein zur DTD Ihrer Wahl passendes Dokument) mit Bezug auf DTD und Schema. o Erweitern Sie Ihr Schema um ein Kommentar-Element, für das Sie beliebigen HTML-Code zulassen. Können Sie Ihr Schema auch so einschränken, dass Kommentare nur HTML-Elemente zulassen, die innerhalb von body vorkommen? Hausaufgabe (Abgabe )

27.November / 4.Dezmber 2006 ― 53Elektronisches Publizieren: XML Schema o D.C. Fallside (Editor): XML Schema Part 0: Primer Second Edition W3C Recommendation, 28 October o H.S. Thompson et al. (Editors): XML Schema Part 1: Structures Second Edition W3C Recommendation, 28 October o P.V. Biron, A. Malhotra (Editors): XML Schema Part 2: Datatypes Second Edition W3C Recommendation, 28 October Literatur …

27.November / 4.Dezmber 2006 ― 54Elektronisches Publizieren: XML Schema o E. van der Vlist: Using W3C XML Schema o E. van der Vlist: XML Schema. O‘Reilly 2002 o Eric van der Vlist: Comparing XML Schema Languages. … Literatur