XML Schema vs. Relax NG



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

Datenaustauschformate. Datenaustauschformate - FLV

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

Multimedia Technologie II

Einzelne Anforderungen an den Inhalt und den Aufbau des Datensatzes

DTD: Syntax-Zusammenfassung

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

Containerformat Spezifikation

XML DTD und Schema von Thomas Mangold

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

WEBSEITEN ENTWICKELN MIT ASP.NET

Containerformat Spezifikation

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

XML Tutorium mit Oxygen. Oxygen Version 9.3!!

XSL Templates. Mit Templates arbeiten. XSL Templates

XML und SOAP Einführung und Grundlagen

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

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

IT-Zertifikat: Daten- und Metadatenstandards

Reimo Fachhändlerbereich Import Datei

Objektorientierte Programmierung für Anfänger am Beispiel PHP

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079)

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

SDD System Design Document

Memotivity. 30 Grad links!

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Das Terminal. Einführung in das Postersystem

Übungsaufgaben zu XML:

XML-Dateien und Powershell

JASSI Standard Tasks Version 1.5

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

Anleitung Typo3-Extension - Raumbuchungssystem

VVA Webservice Online Lieferbarkeits-Abfrage

SWOT Analyse zur Unterstützung des Projektmonitorings

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

teamsync Kurzanleitung

Hinweise zum elektronischen Meldeformular

Erstellen einer in OWA (Outlook Web App)

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Barcode Master. Barcode Generator für PC Windows und MAC OS. Bedienungsanleitung und Handbuch. Version 1.1. Dr.J.Willrodt /

Präsentation zum Thema XML Datenaustausch und Integration

Errata-Liste zum Kurs: Einführung in XML (2. Auflage)

Predictive Modeling Markup Language. Thomas Morandell

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

Auswertung zur. Hauptklausur Unternehmensbesteuerung. vom und Ergebnisse der Kundenbefragung

... MathML XHTML RDF

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Die StandbyBuchung. Hier finden Sie den Link zu StandbyBuchung:

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

Xesar. Die vielfältige Sicherheitslösung

Hyperlink-Erstellung in InDesign für

Zählen von Objekten einer bestimmten Klasse

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

Internationales Altkatholisches Laienforum

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

Format- oder Stilvorlagen

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Erwin Grüner

Norm 240 Versionierung

Das Einsteigerseminar

Berliner XML Tage 2005: Abbildung des V-Modell XT in Projektron BCS

Grundbegriffe der Informatik

2. Einführung in Datenbanken und XML

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

zum Zertifizierungsbetrieb der HTW-Dresden CA in der DFN-PKI Hochschule für Technik und Wirtschaft Dresden (FH) CP & CPS V1.1,

FAQ Verwendung. 1. Wie kann ich eine Verbindung zu meinem virtuellen SeeZam-Tresor herstellen?

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

FAMILIENSTAND ALLEINERZIEHENDE MÜTTER

Neuerungen für Unternehmen

DIE SUCHFUNKTION VON WINDOWS 7

Elektronische Rechnungsstellung DSQ

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Arbeiten mit UMLed und Delphi

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

3.5 OWL: WEB Ontology Language (1)

RECS Box Management API

IBIS Professional. z Dokumentation zur Dublettenprüfung

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Erstellen einer digitalen Signatur für Adobe-Formulare

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Spiel und Spaß im Freien. Arbeitsblat. Arbeitsblatt 1. Zeichnung: Gisela Specht. Diese Vorlage darf für den Unterricht fotokopiert werden.

Technische Richtlinie

Universität Zürich Informatikdienste. SpamAssassin. Spam Assassin Go Koordinatorenmeeting 27. April

XML 1. Einführung, oxygen. Ulrike Henny. IDE Summer School 2013, Chemnitz

Kapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9

12. Dokumente Speichern und Drucken

LEA-Comm. Bedienungsanleitung Softwareschnittstelle Easy800 und MFD

Wie erreiche ich was?

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Transkript:

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 Selbst in XML Dokumentform XML Schema Definition mit Dateiendung XSD

XML Schema vs. Relax NG p. 3/2 Datentypen Einfache Typen Atomare Typen wie xsd:string, xsd:integer... XML Spezifische atomare Typen wie QName, ID, IDREF, language... Komplexe Typen Zur Definition von Subelemente und Attribute

XML Schema vs. Relax NG p. 4/2 Kombination der Subelemente xsd:sequence Elemente müssen in der angegebenen Reihenfolge auftretten xsd:choice Aus einer Liste von alternativen wird ein Element ausgewählt xsd:all Jedes Element kommt in beliebiger Reihenfolge 0 oder 1 Mal vor

XML Schema vs. Relax NG p. 5/2 Neue Definition Ein neuer Typ pc mit entsprechenden Subelementen <xsd:complextypename="pc" > <xsd:sequence> <xsd:elementname="name" type="xsd:string" /> <xsd:elementname="hersteller" type="xsd:string"/> <xsd:elementname="prozessor" type="xsd:string"/> <xsd:elementname="mhz" type="xsd:integer" minoccurs="0 <xsd:elementname="kommentar" type="xsd:string" minoccu maxoccurs="unbounded"/> </xsd:sequence> <xsd:attributename="id" type="xsd:integer"/> </xsd:complextype>

XML Schema vs. Relax NG p. 6/2 Erweiterung Erweiterung (extension) des Typs um ein Element ram <xsd:complextypename="mypc"> <xsd:complexcontent> <xsd:extensionbase="pc"> <xsd:sequence> <xsd:elementname="ram" type="xsd:integer"/> </xsd:sequence> </xsd:extension> </xsd:complexcontent> </xsd:complextype>

Einschränkung Einschränkung (restriction) eines Typs <xsd:complextypename="mypc2"> <xsd:complexcontent> <xsd:restrictionbase="pc"> <xsd:sequence> <xsd:elementname="name" type="xsd:string" /> <xsd:elementname="hersteller" type="xsd:string"/> <xsd:elementname="prozessor" type="xsd:string"/> <xsd:elementname="mhz" type="xsd:integer" minoccurs="0"/> <xsd:elementname="kommentar" type="xsd:string" minoccurs="0" maxoccurs="1"/> </xsd:sequence> </xsd:restriction> </xsd:complexcontent> </xsd:complextype> XML Schema vs. Relax NG p. 7/2

XML Schema vs. Relax NG p. 8/2 Relax NG: Einführung I Relax NG ist eine einfache auf Grammatik basierende Schema Sprache.

XML Schema vs. Relax NG p. 9/2 Relax NG: Einführung II RELAX NG Schema ist selbst ein XML Dokument, jedoch bietet es auch eine beliebte kompakte Nicht-XML-Syntax an.

Einführungsbeispiel I Betrachten wir diese Repräsentation eines auf XML basierten Adressbuchs: <addressbook> <card> <name>john Smith</name> <email>js@example.com</email> </card> <card> <name>fred Bloggs</name> <email>fb@example.net</email> </card> <card> <name>mirza Ceric</name> <email>mirza.ceric@gmail.com</email> </card> </addressbook> XML Schema vs. Relax NG p. 10/2

XML Schema vs. Relax NG p. 11/2 Einführungsbeispiel II Ein DTD könnte so aussehen: <!DOCTYPE addressbook [ <!ELEMENT addressbook (card*)> <!ELEMENT card (name, email)> <!ELEMENT name (#PCDATA)> <!ELEMENT email (#PCDATA)> ]>

XML Schema vs. Relax NG p. 12/2 Einführungsbeispiel II Entsprechender XML Schema Code: <xs:schema elementformdefault="qualified"> <xs:element name="addressbook"> <xs:complextype> <xs:sequence> <xs:element name="card" minoccurs="0" maxoccurs="unbounded"> <xs:complextype> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="email" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

XML Schema vs. Relax NG p. 13/2 Einführungsbeispiel III Eine Relax NG Definition für das selbe Adressbuch könnte so aussehen: <element name="addressbook" xmlns="http://relaxng.org/ns/ <zeroormore> <element name="card"> <element name="name"> <text/> </element> <element name="email"> <text/> </element> </element> </zeroormore> </element>

XML Schema vs. Relax NG p. 14/2 Highlights Syntax ist einfach und elegant

XML Schema vs. Relax NG p. 14/2 Highlights Syntax ist einfach und elegant Relax NG kann selbst als XML-Dokument geschrieben werden

XML Schema vs. Relax NG p. 14/2 Highlights Syntax ist einfach und elegant Relax NG kann selbst als XML-Dokument geschrieben werden Besitzt eine alternative kompakte Syntax

XML Schema vs. Relax NG p. 15/2 Datentypen I Besitzt nur 2 eigene Typen: string und token <attribute name="available"> <choice> <value>available</value> <value type="token">checked out </value> <value type="string">on hold </value> </choice> </attribute>

XML Schema vs. Relax NG p. 16/2 Datentypen II RELAX NG erlaubt es extern definierte Datentypen zu verwenden. Z.B. die XML-Schema Datentypen (http://www.w3.org/tr/xmlschema-2/).

XML Schema vs. Relax NG p. 17/2 Datentypen III <element name="number"> <data type="integer" datatypelibrary="http://www.w3.org/xmlschema-datatypes"/> </element>

XML Schema vs. Relax NG p. 18/2 Namensräume I Folgende definition eines Elementes: <element name="foo" ns="http://www.test.com"> <empty/> </element> würde auf folgende Elemente zutreffen: <foo xmlns="http://www.test.com"/> <e:foo xmlns:e="http://www.test.com"/> <example:foo xmlns:example="http://www.test.com"/> aber auf diese nicht: <foo/> <e:foo xmlns:e="http://www.test.com"/> <example:foo xmlns:example="http://www.test.net"/>

XML Schema vs. Relax NG p. 19/2 Kompakte Schreibweise element addressbook { element card { element name { text }, element email { text } }* }

XML Schema vs. Relax NG p. 20/2 Kompakte Schreibweise II #Das ist ein Kommentar element addressbook { element card { element name { text }, element email { text }, element note { text }? #ist optional }+ # einmal oder beliebig oft }