XSD - XML Schema Definition
|
|
|
- Franz Wetzel
- vor 9 Jahren
- Abrufe
Transkript
1 XSD - XML Schema Definition Definieren von XML-Dokumenten Michael Dienert 15. September 2016 Inhaltsverzeichnis 1 Was sind XSD Dateien und warum soll man das lernen? XSD Dateien und Anwendungen Ein XSD - Beispiel Was sind XSD Dateien und warum soll man das lernen? 1.1 XSD Dateien und Anwendungen XSD ist die Abkürzung von XML Schema Definition. XSD ist selbst wieder eine XML-Anwendung. D.h. XSD-Dokumente müssen immer wohlgeformte XML-Dokumente sein. XSD beschreibt die Struktur eines XML-Dokuments. Mit XSD kann man die Struktur genauer beschreiben als mit der DTD. Einige Erweiterungen gegenüber DTD: Genaue Angaben wie oft ein Element vorkommen darf. Datentypen XSD erlaubt auch eigene, komplexe Datentypen zu definieren Objekte. Datentypen können von bestehenden Datentypen abgeleitet werden Vererbung. XSD ist der weltweite Standard, mit dem XML-Dateien definiert werden. Java-XML-Bindings erzeugen aus einer XSD-Datei eine Klasse, deren Objekte exakt die zugehörige XML-Datei abbilden. 1
2 Man kann die Java-Objekte mit allen Attributen in die XML-Datei sichern (nur die Attribute!). Man kann aus der XML-Datei wieder die Java-Objekte erzeugen. Man kann sogar aus einer Java-Klasse eine XSD-Datei erzeugen! Ein XSD - Beispiel 2
3 1 <? xml v e r s i o n =" 1. 0 "?> 2 <xs:schema x m l n s : x s =" h t t p : / /www. w3. org / / XMLSchema"> 3 < x s : e l e m e n t name=" k o n t a k t e "> 4 <xs:complextype> 5 < xs: sequence > 6 < x s : e l e m e n t name=" Person " maxoccurs=" unbounded " > 7 <xs:complextype> 8 < xs: sequence > 9 < x s : e l e m e n t name=" name " t y p e =" x s : s t r i n g " / > 10 < x s : e l e m e n t name=" a d r e s s e " t y p e =" x s : s t r i n g " minoccurs=" 0 " / > 11 < / x s : s e q u e n c e > 12 < x s : a t t r i b u t e name=" i d " t y p e =" x s : l o n g " use =" r e q u i r e d " / > 13 < / xs:complextype> 14 < / x s : e l e m e n t > 15 < / x s : s e q u e n c e > 16 < / xs:complextype> 17 < / x s : e l e m e n t > 18 < / xs:schema> xs:element Element mit Daten Attribute von xs:element: name Elementname type Datentyp: siehe nächste Folie minoccurs Mindestanzahl; minoccurs weglassen: Anzahl=1 maxoccurs Maximalanzahl; maxoccurs weglassen: Anzahl=1; maxoccurs=unbounded = beliebig viele XSD-Standard-Datentypen - Simple Types xs:string xs:decimal xs:integer xs:float xs:boolean xs:date xs:time xs:anytype < x s : e l e m e n t name=" name " t y p e =" x s : s t r i n g " / > B e i s p i e l : <name> a l f r e d < / name> < x s : e l e m e n t name=" a d r e s s e " t y p e =" x s : s t r i n g " / > B e i s p i e l : < a d r e s s e > f r i e d r i c h s t r a s s e 51, f r e i b u r g < / a d r e s s e > 3
4 < x s : e l e m e n t name=" i d " t y p e =" x s : l o n g " use =" r e q u i r e d " / > B e i s p i e l : < id >1234< / id > Elemente, die Kindselemente oder Attribute oder beides enthalten werden mit xs:complextype definiert Ist die Reihenfolge der Kinder fest, werden diese zusätzlich in ein xs:sequence - Element eingebettet. Ist die Reihenfolge beliebig, nimmt man stattdessen das Element xs:choice Selbstverständlich darf man auch innerhalb eines xs:sequence-elements xs:choice- Elemente einbetten und umgekehrt. man kann so feste und beliebige Reihenfolge mischen. 1 <xs: e l e m e n t name=" Person " maxoccurs=" unbounded " > 3 < xs: sequence > 4 < x s : e l e m e n t name=" name " t y p e =" x s : s t r i n g " / > 5 < x s : e l e m e n t name=" a d r e s s e " t y p e =" x s : s t r i n g " minoccurs=" 0 " / > 6 < / x s : s e q u e n c e > 7 < / xs:complextype> 8 < / x s : e l e m e n t > Beispiel eines validen Elements: <Person> <name>neuman, alfred e.</name> <adresse>locaroca 666, 1234 dancelingen</adresse> Das Element xs:attribute legt die Attribute eines Elements fest. Es kann nur innerhalb einer xs:complextype - Umgebung verwendet werden. xs:attribute hat folgende Attribute: use kann den Wert "required" oder "optional" haben. type legt den Datentyp fest. Mögliche Basistypen sind die selben wie bei den Elementen. Enthält xs:complextype ein xs:sequence - Element, muss das Element xs:attribute nach dem xs:sequence - Element stehen! Element mit Attribut ohne Kindselemente und ohne Textnoten 1 <xs: e l e m e n t name=" timestamp " > 3 < x s : a t t r i b u t e name=" u t c " t y p e =" x s : l o n g " / > 4 < / xs:complextype> 5 < / x s : e l e m e n t > 4
5 Beispiel eines validen Elements: <timestamp utc=" "/> Element mit Attribut und Kindselementen 1 <xs: e l e m e n t name=" Person " maxoccurs=" unbounded " > 3 < xs: sequence > 4 < x s : e l e m e n t name=" name " t y p e =" x s : s t r i n g " / > 5 < x s : e l e m e n t name=" a d r e s s e " t y p e =" x s : s t r i n g " minoccurs=" 0 " / > 6 < / x s : s e q u e n c e > 7 < x s : a t t r i b u t e name=" i d " t y p e =" x s : l o n g " use =" r e q u i r e d " / > 8 < / xs:complextype> 9 < / x s : e l e m e n t > Beispiel eines validen Elements: <Person id=" "> <name>neuman, alfred e.</name> <adresse>locaroca 666, 1234 dancelingen</adresse> Element mit Attribut und Textknoten 1 <xs: e l e m e n t name=" termin " > 3 < xs: simplecontent > 4 < x s : e x t e n s i o n base =" x s : s t r i n g "> 5 < x s : a t t r i b u t e name=" u t c " t y p e =" x s : l o n g " / > 6 < / x s : e x t e n s i o n > 7 < / x s : s i m p l e C o n t e n t > 8 < x s : a t t r i b u t e name=" u t c " t y p e =" x s : l o n g " / > 9 < / xs:complextype> 10 < / x s : e l e m e n t > Beispiel eines validen Elements: <termin utc=" ">klassenarbeit</termin> Die XSD-Datei beschreibt eine xml-datei, die beliebig viele (maxoccurs="unbounded") <Person>-Elemente enthalten darf. Jedes <Person>-Element muss ein Atrribut id haben. Jedes <Person>-Element enthält genau ein (weder minoccurs noch maxoccurs vorhanden) Element <name>. Jedes <Person>-Element enthält optional (minoccurs=0, maxoccurs nicht vorhanden, d.h maxoccurs="1") ein Element <adresse>. <?xml version="1.0" encoding="utf-8" standalone="yes"?> <kontakte> <Person id=" "> <name>dienert, michael</name> <adresse>waelderstrasse 7, kenzingen</adresse> <Person id=" "> <name>neuman, alfred e.</name> <adresse>locaroca 666, 1234 dancelingen</adresse> 5
6 <Person id=" "> <name>bosak, jon</name> <adresse> 4150 Network Cir, Santa Clara, CA USA </adresse> </kontakte> Simple Types anpassen Simple Types können durch Einschränkungen angepasst werden. Die Definitionen dieser Einschränkungen werden Facets genannt. Aufzählungen - Enumerations 1 <xs:simpletype name=" wochentag " > 2 < x s : r e s t r i c t i o n base =" x s : s t r i n g "> 3 <xs:enumeration value =" Montag " / > 4 <xs:enumeration value =" Dienstag " / > 5 <xs:enumeration value =" Mittwoch " / > < / x s : r e s t r i c t i o n > 8 < / xs:simpletype > Anzahl Zeichen in einem String 1 <xs:simpletype name=" password " > 2 < x s : r e s t r i c t i o n base =" x s : s t r i n g "> 3 <xs:minlength value =" 6 " / > 4 <xs:maxlength value =" 8 " / > 5 < / x s : r e s t r i c t i o n > 6 < / xs:simpletype > Ein Facet für -Adressen 1 < xsd: simpletype name=" address " > 2 < x s d : r e s t r i c t i o n base =" x s d : s t r i n g "> 3 < x s d : p a t t e r n v a l u e =" \w+ ( [ +. ] ( [. ] \w+) \. \ w+ ( [. ] \w+) " / > 4 < / x s d : r e s t r i c t i o n > 5 < / x s d : s i m p l e T y p e > Java-Code generieren mit dem Kommando xjc: xjc kontakte.xsd Direktes Erzeugen der Quellen innerhalb eines NB-Projekts: File-Menue New File Categorie: XML Type: JAXB Binding JAXB erzeugt eine Klasse, mit dem Namen des Wurzelelements: Kontakte.java Die vielen <Personen>-Elemente bildet JAXB auf eine ArrayList ab, die Objekte vom Typ Kontakte.Person enthalten darf. d.h. Person ist innere Klasse von Kontakte. Die innere Klasse Person wiederum ist nichts anderes wie eine JavaBean mit den Eigenschaften: 6
7 String name; String adresse; long id; Marshalling: ähnlich Serialisierung von Objekten; Orignalbedeutung: Einweisen eines Flugzeugs auf dem Flugfeld zur Startbahn durch den Marshall. Code-Schnipsel: 1 / / c r e a t e JAXB c o n t e x t and i n s t a n t i a t e m a r s h a l l e r 2 JAXBContext c o n t e x t = JAXBContext. n e w I n s t a n c e ( K o n t a k t e. c l a s s ) ; 3 M a r s h a l l e r m = c o n t e x t. c r e a t e M a r s h a l l e r ( ) ; 4 m. s e t P r o p e r t y ( M a r s h a l l e r. JAXB_FORMATTED_OUTPUT, Boolean. TRUE) ; 5 6 / / Write t o System. out 7 m. m a r s h a l ( k o n t a k t e, System. o u t ) ; 8 9 / / Write t o F i l e 10 m. m a r s h a l ( k o n t a k t e, new F i l e ( " / tmp / k o n t a k t e. xml " ) ) ; Unmarshalling: Erzeugung von Objekten der mit xjc generierten Klassen. Hier:Kontakte und Kontakte.Person Code Schnipsel: 1 p r i v a t e L i s t < K o n t a k t e. Person > p e r s o n L i s t e ; 2 3 JAXBContext c o n t e x t = JAXBContext. n e w I n s t a n c e ( K o n t a k t e. c l a s s ) ; 4 U n m a r s h a l l e r u = c o n t e x t. c r e a t e U n m a r s h a l l e r ( ) ; 5 6 K o n t a k t e kontakteneu = ( K o n t a k t e ) u. unmarshal ( 7 new F i l e ( " / tmp / a n d e r e K o n t a k t e. xml " ) ) ; 8 9 p e r s o n L i s t e = kontakteneu. g e t P e r s o n ( ) ; 7
XSL - Extensible Stylesheet Language
XSL - Extensible Stylesheet Language XML-Daten transformieren und präsentieren Michael Dienert 10. November 2014 Inhaltsverzeichnis 1 Was ist XSL 1.1 XML Stylesheet Language XSL ist die Abkürzung von Extensible
Java API for XML Binding
Java API for XML Binding Eine Einführung Tim Speier Fachbereich MNI Fachhochschule Gießen-Friedberg 24. Juni 2010 1 / 27 XM und Java Teil 1: Aufgabenstellung Aufgabenstellung: In einem XML-Dokument werden
Exkurs: Backus-Naur-Form (BNF) Document Type Definition (DTD) W3C XML Schema (XSD) RELAX NG. Diskussion
J. Schneeberger Exkurs: Backus-Naur-Form (BNF) Document Type Definition (DTD) W3C XML Schema (XSD) RELAX NG Diskussion 2 1 Exkurs J. Schneeberger BNF steht für Backus-Naur-Form Die BNF dient dazu, eine
XML Schema 2015 S h_da S Seite 1
XML Schema Seite 1 XML/Schema Weiterentwicklung Seit 5. April 2012 gibt es eine Weiterentwicklung von XML Schema: W3C XML Schema Definition Language (XSD) 1.1 Die wichtigsten Neuerungen: Assertions in
JAXB. Java Architecture for XML Binding.
JAXB Java Architecture for XML Binding http://jaxb.java.net Warum JAXB? JAXB ist eine schnelle und einfache Methode, um ein XML Schema mit einer Java Repräsentation zu verbinden. Damit ist es sehr einfach,
3. XML Schema. XML Schema. Eigenschaften von XML Schema. Vorteile eines expliziten Schemas: Die XML Schema Recommendation des W3C besteht aus:
3. XML Schema Schemata 3. XML Schema 3. XML Schema Schemata XML Schema Vorteile eines expliziten Schemas: Bekanntmachen der Struktur vereinfachte Verarbeitung in Applikationen dedizierte Speicherung Die
XML Schema vs. Relax NG
XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen
Seminar: mobile GIS Austausch von Geodaten
Seminar: mobile GIS Austausch von Geodaten Tobias Wallura 30. Juni 2011 Tobias Wallura Austausch von Geodaten 30.06.2011 1 / 31 Agenda 1 Einführung 2 XML XML Schema XLink und XPointer XSLT 3 GML GML Dokumente
XML Schema und Objektorientierung
XML Schema und Objektorientierung XML Schema und Objektorientierung Einführung.NET Java Einführung: Einsatzbereiche In folgenden Situationen kann eine sehr enge und ähnliche Abbildung von Daten Sinn machen:
Matrikelnummer: Bitte Namen und Matrikelnummer auf jeder Seite der Vorgabe und allen Arbeitsblättern eintragen!
Klausur XML 30.2286 Bitte Namen und Matrikelnummer auf jeder Seite der Vorgabe und allen Arbeitsblättern eintragen! Themenbereich XML und XML/Schema Beantworten Sie an Hand des beiliegenden XMLSchema Dokuments
<< Java Architecture for XML Binding >>
JAXB > 1 Lernziele JAXB Übersicht JAXB Prinzip von Data Binding verstehen Java Klassen aus XSD erzeugen Java Objekte aus XML marschallen bzw. unmarschallen Customized
Einleitung. Schema root Übersicht Dokumentation
XML Schema Inhalte Schema-Wurzel-Element Elemente und Attribute Gruppen Einfache Datentypen Komplexe Typen Schlüssel und Verweise Auslagerung und Wiederverwendung Namensräume Joker-Elemente Ersetzungsgruppen
D#32058 Spezifikation UPOC DM V2
Autor: CodX Software AG Sinserstrasse 47 CH-6330 Cham www.codx.ch Version: 12.5.2011 File: Vertraulich. Alle Rechte vorbehalten. Die Informationen dieses Dokuments oder dieses Dokument selber dürfen nicht
Projektspezifische Datenschemata erstellen
Projektspezifische Datenschemata erstellen XML Schema, ROMA/ODD Martina Semlak Zentrum für Informationsmodellierung, Universität Graz [email protected] Agenda! Was ist ein Schema?! Der Modellbegriff!
Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren
1. XML Grundbegriffe XML = extensible Markup Language Metasprache um Dokumenttypen zu definieren XML Baum
JAXB 2.0. Samuel Michaelis, Wolfgang Schmiesing. Ein Programmiertutorial für die Java Architecture for XML Binding ISBN
JAXB 2.0 Samuel Michaelis, Wolfgang Schmiesing Ein Programmiertutorial für die Java Architecture for XML Binding ISBN 3-446-40753-7 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40753-7
CLICK TO EDIT MASTER TITLE STYLE
CLICK TO EDIT MASTER TITLE STYLE AUTOMATISCHE ERZEUGUNG VON BENUTZEROBERFLÄCHEN UND DATENHALTUNG FÜR DIE KONFIGURATION VON FELDGERÄTEN Diplomverteidigung Betreuer (Firma ubigrate): Dipl.-Inform. Falk Hartmann
Eine Schnelleinführung in CSS
Eine Schnelleinführung in CSS Michael Dienert 11. September 2013 Inhaltsverzeichnis 1 Was ist CSS? 1 2 Verwenden der CSS-Stylesheets 2 3 Struktur eines CSS-Stylesheets 2 4 Selektoren im Detail 3 4.1 Verwandschaftsbeziehungen:
Technische Richtlinie
Seite 1 von 18 www.bundesanzeiger.de BSI Technische Richtlinie Bezeichnung: De-Mail BSI Technische Richtlinie Anwendungsbereich: Bezeichnung: Kürzel: De-Mail Identitätsbestätigungsdienst Interoperabilitätsspezifikation
Angewandte Softwareentwicklung Serialisierung
Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik [email protected] http://mmberg.net
Tutorial: Ein Benutzerprofil erstellen. Version: 2.0 Autoren: Anja Beuth, Stefan Suermann
Tutorial: Ein Benutzerprofil erstellen Version: 2.0 Autoren: Anja Beuth, Stefan Suermann Inhaltsverzeichnis 1 1.1 1.2 2 2.1 2.2 2.3 Vorgehensweise im Editor V2... Erstellen eines Benutzerprofils... Lokalisieren
Übungsblatt 6 Ausgabe: Prof. Dr. Dr. Lars Schmidt-Thieme, André Busche SoSe 2012
Aufgabe 1a) Worin besteht der Unterschied zwischen well-formed und validem XML? Wie ändert sich ggf. diese Definition / dieser Unterschied, wenn Namensräume benutzt werden? Aufgabe 1b) [4 Punkte] Beantworten/Bearbeiten
Nonstandard Datenbanken
Prof. Dr. V. Linnemann Nils Höller Universität zu Lübeck Institut für Informationssysteme Lübeck, den 02. Februar 2009 Nonstandard Datenbanken Wintersemester 2008/2009 13. Übungsblatt: Probe-Klausur Hinweise:
Repräsentation von Struktur
Übersicht Einführung Document Type Definitions XML Schema Weitere Strukturbeschreibungssprachen Ziel: Kriterien Nur Jedes Dokument Thema Einführung Was machen Strukturbeschreibungen? Definition einer Menge
DTDs und XML- Schemata
Wie geht es weiter? DTDs und XML- Schemata letzte Woche Syntax wohlgeformter e Namensräume Festlegung der Semantik von XML-Elementen heute Beschreibung von Dokument-Typen DTDs und XML-Schema anhand eines
Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
BackBüro Service GmbH. Version Dokumentation der XML-Schema-Definitionen für Rezepturen - Basis
BackBüro Service GmbH Version 2.1.0 - Basis Stand: April 2016 BackBüro Service GmbH sverzeichnis 1 Allgemeine Hinweise... 3 1.1 Codierung... 3 1.2 Aufbau des Schemas... 3 1.2.1 Definitionen... 3 1.2.2
Kapitel 2: XML-Technologien
Web-basierte Informationssysteme WS 2010 2. XML-Technologien 2. Kapitel 2: XML-Technologien XML, SGML, HTML Hypertext: Texte, die nicht notwendigerweise linear angeordnet sind; die zusammengehörenden Teile
XML, FI und JSON strukturiert in Java verwenden. Wolfgang Nast
XML, FI und JSON strukturiert in Java verwenden Wolfgang Nast Agenda Java und XML FastInfoset JSON Zusammenfassung 2 XML in Oracle 12c Im Überblick Technologie-orientiert Branchen-unabhängig Hauptsitz
RECS Box Management API
RECS Box Management API christmann informationstechnik + medien GmbH & Co. KG 14. März 2014 Dieses Dokument beschreibt die RECS Box Management API zur Überwachung und zum Management der einzelnen Komponenten
Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).
IT-Zertifikat: Daten- und Metadatenstandards XML: wohlgeformt vs. gültig XML-Dokumente können gültig sein. Gültige (valide) Dokumente müssen strengeren Anforderungen bzgl. Ihrer Struktur genügen. Diese
Schema sales-order.xsd
Schema sales-order.xsd schema location: L:\Projects \XML-Order\rodenstock \sales-order.xsd Elements sales-order schema location: L:\Projects \XML-Order\rodenstock \sales-ordertype.xsd Complex types lens
2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit
XML- und Webservice- Sicherheit 2. XML 2.1 XML 1.0 und XML Schema Gliederung 1. XML 1.0 2. XML Namespaces: URI, URL und URN 3. XML Schema Literatur: A. Tanenbaum, Computer Networks. E. R. Harold and W.
Diese Version ist anwendbar für die Übermittlung von Daten, die die folgenden Veranlagungszeiträume betreffen:
Inhaltsübersicht Einzelne Anforderungen an den Inhalt und den Aufbau des Datensatzes Datenübermittlung zwischen der zentralen Stelle und den übermittelnden Stellen im Rahmen der Meldeverfahren für die
Einführung in XML. Seminarunterlage. Version 3.05 vom
Seminarunterlage Version: 3.05 Version 3.05 vom 8. März 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder
XML Schemasprachen. Übersicht und Einordnung. Übersicht. ! DTDs und XML Schema. ! Schemasprachen als Konzept. ! Schemasprachen selbstgemacht
XML Schemasprachen Übersicht und Einordnung Erik Wilde (ETH Zürich) 1 Übersicht! DTDs und XML Schema! Einschränkungen und Nachteile! Schemasprachen als Konzept! Grammatiken und Anderes! ISO Document Schema
Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät
Analyse der Datenkommunikation zur drahtlosen Steuerung eines NAO Roboters durch ein Android Gerät Seminarvortrag am 17. Januar 2014 Gerrit Kieffer Rechen- und Kommunikationszentrum (RZ) Gliederung Motivation
Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder [email protected].
Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder [email protected] Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object
