XML Schema-Sprachen 04

Größe: px
Ab Seite anzeigen:

Download "XML Schema-Sprachen 04"

Transkript

1 XML Schema-Sprachen 04 G. Görz, J. Schneeberger Lehrstuhl Informatik 8 (KI) goerz@informatik.uni-erlangen.de! josef.schneeberger@fh-deggendorf.de! 1 Übersicht XML Schema-Sprachen Exkurs: Extended Backus-Naur Form (EBNF) Document Type Definition (DTD) W3C XML Schema (XSD) RELAX NG 2

2 Literatur [W3C 08] T. Bray e.a., Extensible Markup Language (XML) 1.0 (Fifth Edition), [MS 06] A. Møller, M. Schwartzbach, An Introduction to XML and Web Technologies, Addison-Wesley, Kapitel als PDF verfügbar: [Scowen 96] R. Scowen, Extended BNF, ISO/IEC : 1996(E)! ISO Standard zu EBNF (final draft version SC22/N2249) [EBNF 96] Extended BNF, ISO 14977, XML Schema-Sprachen 4

3 Meta-, Schema-, Objekt-Sprache Meta-Sprache definiert die Syntax von XML Überprüfung der Wohlgeformtheit einer XML-Datei. Schema Eine formale Spezifikation der Elemente einer XML- Sprache. Überprüfung der Validität einer XML-Datei. Schema-Sprache Eine Syntax zur Definition eines Schemas. XSD (XML-Schema-Definition) ist eine Schema- Sprache zur Definition eines Schemas mit Hilfe der XML Meta-Syntax. Objekt-Sprache 5 Validierender Parser Schema De#nition in einer Schema! Sprache" Eingabe! Dokument in der Objekt! Sprache" Parser" valide?" ja" nein" 6

4 Schema-Sprachen Drei Schema-Sprachen sind weit verbreitet DTD Document Type Definition wurde mit SGML definiert XSD XML Schema-Definition W3C Spezifikation RELAX NG - Regular Language Description for XML New Generation OASIS / ISO Spezifikation 7 Extended Backus-Naur Form (EBNF) 8

5 EBNF EBNF steht für Extended Backus-Naur Form Die EBNF dient dazu, die Syntax von Programmiersprachen zu definieren. Die Syntax einer Programmiersprache legt fest, welche Programme grammatisch wohlgeformt sind. Mit Hilfe einer Syntax, die selbst formal notiert ist, kann ein Programm erzeugt bzw. verwendet werden, das die grammatische Korrektheit der gegebenen Programme überprüfen kann. Solche Programme bezeichnet man als Parser. 9 EBNF Viele Väter, viele Schreibweisen: J. Backus Erfinder einer Syntax-Notation für Algol P. Naur Verfeinerung der Notation D. Knuth Vorschlag der Benennung in Backus- Naur Form N. Wirth Verwendung für viele Projekte und Vereinheitlichung. ISO

6 EBNF Regel... =...; Konkatenation...,... Alternativen Gruppierung (... ) Optionale Elemente [... ] Wiederholung {... } [EBNF 96] 11 Beispiel: XML in EBNF mit eigener Notation (das W3C nennt das one EBNF ) ein Ausschnitt (insgesamt 89 Regeln) document ::= prolog element Misc* element ::= EmptyElemTag STag content ETag STag ::= '<' Name (S Attribute)* S? '>' ETag ::= '</' Name S? '>' EmptyElemTag::= '<' Name (S Attribute)* S? '/>' Attribute ::= Name Eq AttValue Name ::= (Letter '_' ':') (NameChar)* NameChar ::= Letter Digit '.' '-' '_' ': CombiningChar Extender markupdecl ::= elementdecl AttlistDecl EntityDecl NotationDecl PI Comment elementdecl ::= '<!ELEMENT' S Name S contentspec S? '>' contentspec ::= 'EMPTY' 'ANY' Mixed children Mixed ::= '(' S? '#PCDATA' (S? ' ' S? Name)* S? ')*' '(' S? '#PCDATA' S? ')' [W3C 08] 12

7 DTD Document Type Definition 13 DTD DTD ist das Regelwerk, nach dem sich Objekt- Dokumente richten müssen: welche Elemente das Dokument enthalten darf, welchen Inhalt die Elemente haben dürfen, welche Attribute erlaubt sind, welche Werte die Attribute annehmen können, wie die Elemente und in welcher Reihenfolge die Elemente ineinander geschachtelt werden dürfen, welche speziellen Zeichen (d.h. Entities) verwendet werden können. 14

8 Element-Deklaration <!ELEMENT Element-Name Inhalts-Modell> Das Inhalts-Modell: EMPTY das Element hat keinen Inhalt (leer) ANY jedes andere Element der DTD kann enthalten sein. mixed content (#PCDATA e1 e2... en)* PCDATA: Parsed Character DATA element content Deklaration der Unterelemente getrennt durch, (Komma). Beispiele: <!ELEMENT collection (description,recipe*)> <!ELEMENT description (#PCDATA)> <!ELEMENT recipe (title,date,ingredient*,preparation, comment?,nutrition,related*)> [MS 06] 15 Operatoren in der DTD $ %%% &" Unterelemente werden in Klammern gesetzt%" %%% ' %%%" Mehrere Unterelemente werden durch Komma getrennt% Damit wird auch die Reihenfolge der Unterelemente festgelegt% " (" Oder!Operator: Man kann eines der angegebenen Unterelemente w)hlen%" *PCDATA " Der Inhalt des Elements kann aus beliebigen Zeichenketten bestehen% " Operatoren zur Angabe der Wiederholungen eines Elements"?" Das Element darf weggelassen oder nur einmal angegeben werden% " *" Das Element kann beliebig o+ angewendet oder ganz weggelassen werden%"," Das Element kann beliebig o+ eingef-gt werden' es muss jedoch mindestens einmal vorkommen% " 16

9 Attribute von Elementen Attribute werden verwendet, um Elemente näher zu spezifizieren. Eine Attributlisten-Definition in einer DTD hat folgende Eigenschaften: Sie legt fest, welchem Element bestimmte Attribute zugewiesen werden können. Es wird der Typ eines Attributs und die möglichen Werte beschrieben. Sie kann eine bestimmte Voreinstellung eines Attributs erzeugen. Notation <!ATTLIST Element AttributName (Attributtyp)> Beispiel: <!ATTLIST ingredient name CDATA #REQUIRED amount CDATA #IMPLIED unit CDATA #IMPLIED> [MS 06] 17 Typen von Attributen CDATA eine beliebige Zeichenkette NMTOKEN / NMTOKENS damit können die erlaubten Zeichen (Buchstaben, Ziffern. : - _) für ein Attribut festgelegt werden ID das Attribut muss in der Datei eindeutig sein. IDREF / IDREFS verweist auf ein Element, das zuvor mit dem Attributtyp ID angelegt wurde. Es kann also nur angewendet werden, wenn ein Element mit der entsprechenden Referenz-ID vorhanden ist. #REQUIRED notwendige Angabe #IMPLIED mögliche Angabe Beispiel: <!ATTLIST recipe id ID #IMPLIED> <recipe id="r1">...</recipe> 18

10 Entities / Platzhalter für Zeichen Entities (Platzhalter) stellen Sonderzeichen mit Hilfe von Bezeichnungen dar. Notation: &Bezeichnung; Deklaration einer Entity: <!ENTITY bezeichnung zeichenkette > Wird häufig wie ein Macro verwendet, um Zeichenfolgen abzukürzen. Beispiel: <!ENTITY abloeschen "Den Bratensatz mit Wein ablöschen."> 19 Beispiel: Entities in HTML )" deutscher Umlaut' ae klein" ä"." deutscher Umlaut' Ae gro/" Ä" 0" deutscher Umlaut' oe klein" ö " 1" deutscher Umlaut' Oe klein" Ö " 2" deutscher Umlaut' Ue gro/" Ü " -" deutscher Umlaut' ue klein" ü" /" deutsches Sonderzeichen sz" ß" "" Euro!Zeichen" " " Paragraphen!Zeichen" " 3" ein Viertel" &frac45;" 20

11 Typen von Attributen Verweis auf externe ( parsed ) Quellen: <!ENTITY bezeichnung SYSTEM "url"> url enthält XML, das für die Entity verwendet wird (Macro Expansion). Verweis auf externe (unparsed) Quellen, die kein XML enthalten. Beispiele (Verwendung eines Bildes): <!ENTITY logo SYSTEM " NDATA gif > <!NOTATION gif SYSTEM " <!ATTLIST thing img ENTITY #REQUIRED> 21 Beispiel-DTD <!ELEMENT collection (description,recipe*)> <!ELEMENT description (#PCDATA)> <!ELEMENT recipe (title,date,ingredient*,preparation, comment?,nutrition,related*)> <!ATTLIST recipe id ID #IMPLIED> <!ELEMENT title (#PCDATA)> <!ELEMENT date (#PCDATA)> <!ELEMENT ingredient (ingredient*,preparation)?> <!ATTLIST ingredient name CDATA #REQUIRED amount CDATA #IMPLIED unit CDATA #IMPLIED> <!ELEMENT preparation (step*)> <!ELEMENT step (#PCDATA)> <!ELEMENT comment (#PCDATA)> <!ELEMENT nutrition EMPTY> <!ATTLIST nutrition calories CDATA #REQUIRED carbohydrates CDATA #REQUIRED [MS 06]

12 Interne DTD Eine DTD kann direkt im XML-Dokument (intern) oder per Verweis (extern) auf eine Datei angegeben werden. interne DTD" <?xml version="1.0" encoding="utf-8" standalone="yes"?> <! DOCTYPE collection [... Definition der einzelnen Element...] > <collection> Wurzelelement"... </collection> 23 Externe Definition einer DTD Wenn eine DTD für mehrere XML-Dokumente verwendet werden soll, dann wird sie als externe Datei verwaltet. <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE collection SYSTEM "datei-oder-uri.dtd"> <collection>... </collection> externe DTD" Referenz" externe DTD" 24

13 Gültigkeit / Validität Ein wohlgeformtes XML-Dokument muss aus einem Prolog und mindestens einem Element bestehen. In einem gültigen Dokument (engl. valid document ) müssen zusätzlich die folgenden Kriterien erfüllt sein: Eine interne oder externe DTD muss spezifiziert sein. Das Dokument muss sich an die Regeln der DTD halten. Es dürfen nur die in der DTD definierten Elemente innerhalb des Dokuments benutzt werden. Alle notwendigen Attribute müssen verwendet werden. Die Werte der Attribute müssen gültig sein. Alle Inhalte der Elemente müssen den festgelegten Datentypen entsprechen. 25 Mischen von DTDs Mischen von DTDs ist nicht einfach Beispiel für eine DTD, die mehrere andere DTDs zusammenführt (XHTML+MathML+SVG mit Namespaces): Einfacher: DTDs zusammenkopieren und Namespaces dazufügen. DTDs unterstützten keine Namespaces (verbieten sie aber auch nicht) In der DTD müssen die Elementnamen dann einfach zusammen mit dem Namespace-Präfix angegeben werden. Beispiel: <!ELEMENT rcp:recipe... statt <!ELEMENT recipe... 26

14 Probleme mit DTDs Zusammenführen mehrerer DTD ist nichttrivial. Sehr grobe Typenklassen Keine Beschränkung auf Zahlen-Bereiche Keine Booleschen Werte Keine Zeitangaben... Daher als Basis für den Datenaustausch zwischen Softwaresystemen nur sehr bedingt brauchbar. 27 Beschränkungen von DTDs 1. Zeichenketten können nicht weiter eingeschränkt werden bei Adressen). 2. Die Spezifikation von Attributen ist sehr beschränkt (z.b. alle Attribute sind optional oder keines) 3. Element- und Attribut-Deklarationen sind kontextsensitiv. 4. Zeichenketten können nicht durch reguläre Ausdrücke beschrieben werden. D.h., wenn Text und Elemente kombiniert werden, dann kann für die Elemente weder eine Reihenfolge noch Wiederholungsbeschränkungen angegeben werden. 5. Die Reihenfolge von Elementen kann nicht flexibel spezifiziert werden. 6. Nur sehr eingeschränkte Unterstützung zur Modularisierung, Wiederverwendung und Weiterentwicklung von DTDs. 7. Schlechte Unterstützung bei der Normalisierung von Leerzeichen (whitespace characters). 8. Keine eingebaute Selbstdokumentation von Elementen in DTDs. 9. Der ID/IDREF Mechanismus von DTDs ist sehr beschränkt. 10. DTDs benutzen eine eigene Syntax nicht die XML Syntax. 11. Keine Unterstützung von Namenräumen. Siehe Kap in [MS 06] 28

15 XML Schema Definition 29 Anforderungen an XML Schema W3C Standard zur Ersetzung von DTDs Entwurfsprinzipien: Ausdrucksstärker als DTDs. Verwendung der XML Meta-Syntax. Selbstbeschreibend in einem XML Schema können deklarierte Elemente auch kommentiert werden. Technische Anforderungen: Unterstützung von Namespaces. Datentypen sollen durch den Benutzer definierbar sein. Vererbung. Evolutionäre Weiterentwicklung von XML Schemas. 30

16 XML Schema Objekt-orientierte Typ-Deklarationen für XML-Dokumente. Eine XML-Schema-Datei enthält: Direktiven Import weiterer Dateien und Deklarationen Typen (Beschreibungen der Objekte der Domäne) Einfache Typen (simple types): Unicode Zeichenketten Zusammengesetzte Typen (complex types) in einer Typhierarchie. Element-Deklarationen Attribute-Deklarationen Attribute können auch als Attributgruppen deklariert werden. Kompositionsmechanismen Mechanismen zur eigenen Spezifikation abgeleiteter Typen (Typenhierarchien) String-Muster zur Definition von abgeleiteten Basis-Typen 31 Die XML Schema-Datei <?xml version="1.0" encoding="utf-8"> <xs:schema xmlns:xs=" xmlns=" <xs:element name="rootelement">... </xs:element>... </xs:schema> Namespace f-r XML Schema " Der Standard! Namespace f-r die deklarierten Elemente" 32

17 Ein Beispiel Namespace' f-r den die Elemente in diesem Schema beschrieben werden" <?xml version="1.0" encoding="utf-8"?> <xsd:schema targetnamespace=" xmlns:xsd=" xmlns:tns=" elementformdefault="qualified"> <xsd:element name="recipe" type="tns:recipetype" /> <xsd:attribute name="id" type="xsd:string"/> <xsd:attribute name="calories" type="tns:calories"/> <xsd:complextype name="recipetype"> <xsd:attribute ref="tns:id" use="required"/> <xsd:attribute ref="tns:calories" use="optional"/> </xsd:complextype> <xsd:simpletype name="calories"> <xsd:restriction base="xsd:integer"> <xsd:mininclusive value="0"/> <xsd:maxinclusive value="5000"/> </xsd:restriction> </xsd:simpletype> </xsd:schema> Dieser Namespace in Benutzung" complextype: Paar aus id und Zahl" simpletype: die Zahlen 6 bis 7666" Element! Deklarationen" Attribut! Deklarationen" 33 Noch ein Beispiel: Das recipes Schema <schema xmlns=" xmlns:r=" targetnamespace=" elementformdefault="qualified"> collection" <element name="collection"> <complextype> <sequence> <element name="description" type="string"/> <element ref="r:recipe" minoccurs="0" maxoccurs="unbounded"/> </sequence> </complextype> <unique name="recipe-id-uniqueness"> <selector xpath=".//r:recipe"/> <field xpath="@id"/> </unique> <keyref name="recipe-references" refer="r:recipe-id-uniqueness"> <selector xpath=".//r:related"/> <field xpath="@ref"/> </keyref> receipe" <element name="recipe"> <complextype> <sequence> <element name="title" type="string"/> <element name="date" type="string"/> <element ref="r:ingredient" minoccurs="0" maxoccurs="unbounded"/> <element ref="r:preparation"/> <element name="comment" type="string" minoccurs="0"/> <element ref="r:nutrition"/> <element ref="r:related" minoccurs="0" maxoccurs="unbounded"/> </sequence> <attribute name="id" type="nmtoken"/> </complextype> [MS 06] <element name="ingredient"> <complextype> <sequence minoccurs="0"> <element ref="r:ingredient" minoccurs="0" maxoccurs="unbounded"/> <element ref="r:preparation"/> </sequence> <attribute name="name" use="required"/> <attribute name="amount" use="optional"> <simpletype> <union> <simpletype> <restriction base="r:nonnegativedecimal"/> </simpletype> <simpletype> <restriction base="string"> <enumeration value="*"/> </restriction> </simpletype> </union> </simpletype> </attribute> <attribute name="unit" use="optional"/> </complextype> <element name="preparation"> <complextype> <sequence> <element name="step" type="string" minoccurs="0" maxoccurs="unbounded"/> </sequence> </complextype> <element name="nutrition"> <complextype> <attribute name="calories" type="r:nonnegativedecimal" use="required"/> <attribute name="protein" type="r:percentage" use="required"/> <attribute name="carbohydrates" type="r:percentage" use="required"/> <attribute name="fat" type="r:percentage" use="required"/> <attribute name="alcohol" type="r:percentage" use="optional"/> </complextype> <element name="related"> <complextype mixed="true"> <attribute name="ref" type="nmtoken" use="required"/> </complextype> <simpletype name="nonnegativedecimal"> <restriction base="decimal"> <mininclusive value="0"/> </restriction> </simpletype> <simpletype name="percentage"> <restriction base="string"> <pattern value="([0-9] [1-9][0-9] 100)%"/> </restriction> </simpletype> </schema> preparation" nutrition" related" ingredient" simpletype:" nonnegativedecimal " 34 simpletype: percentage"

18 Deklarationen XML Schema-Dateien enthalten Deklarationen für: Elemente Attribute Simple Types Complex Types Simple und Complex Types werden verwendet, um Elemente zu deklarieren. Attribute können nur mit Hilfe von Simple Types deklariert werden. Simple/Complex Types werden von Element-/Attribut- Deklarationen auf zwei Arten verwendet: durch Referenz mit dem type-attribut auf den Namen des Simple/Complex Type. durch Spezifikation direkt im Element/Attribut ohne Namen (anonym). 35 Elemente Name des Elements Ein Typ, Complex oder Simple, kann auch direkt spezifiziert werden. Default-Wert Attribute Name des Attributs Referenz auf Typ Default-Wert Verwendungsvorschrift Deklarationen Referenziert auf Simple oder Complex Type" <xs:element name="elem" type="xs:yyy" default="wert"/> <xs:element name="elem"> <complextype>...</complextype> Anonyme <xs:attribute name="attrib" De#nition" type="xs:xxx" default="wert" use="required" /> <xs:attribute name="attrib"> <simpletype>... </xs:attribute> 36

19 Simple und Complex Types SimpleType Dient zur Deklaration von Elementen, die ausschließlich Text enthalten d.h. keine Unterelemente. Der enthaltene Text kann aber durch die Angabe eines Datentyps eingeschränkt werden. Attribute können nur mit Hilfe von Simple Type deklariert werden. ComplexType Dient zur Deklaration von Elementen, die weitere Elemente als Unterelemente haben können. Wenn die Unterelemente sowohl Text als auch Mark- Up (Elemente) sind, wird das als mixed bezeichnet. Ein Complex Type setzt sich aus Referenzen auf Element- und Attribut- Deklarationen zusammen. 37 Abgeleitete Typen (Derived Types) Neue Simple Types als auch neue Complex Types können durch Bezug auf bestehende Simple bzw. Complex Types deklariert werden. Dabei erbt der neue (Simple/Complex) Type die Eigenschaften des bestehenden Type. Abgeleitete Simple Types benutzen einen der vielen vordefinierten Simple Types Auch unter den vordefinierten Simple Types gibt es abgeleitete S.T. Simple Types können durch Erweiterungen oder Einschränkungen des Element-Inhalts und der Attribute abgeleitet werden. Abgeleitete Complex Types Complex Types können von Simple Types abgeleitet werden das heißt dann Simple Content. Complex Types können von Complex Types abgeleitet werden das heißt dann Complex Content. Complex Types können durch Erweiterungen oder Einschränkungen des Element-Inhalts und der Attribute abgeleitet werden. 38

20 Typ" string" Werte" Simple Types eine Unicode!Zeichenkette" boolean" true' false' 4' 6" decimal" 8%4547" 9oat" double" datetime" :%6;;454<<E;8" 5;E<=6" ;665!6<!;:T4::;<:66!67:66" time" 4::;<:66!67:66" date" ;665!6<!;:" hexbinary" base:5binary" anyuri" QName" 5>:7:c:c:f6a" SGVsbG>K" rcp:recipe' recipe" %%%" [MS 06] 39 Abgeleitete Simple Types (1) Mögliche Einschränkungen der Standard-Typen: Länge einer Zeichenkette oder Zahl Minimale bzw. maximale Länge Durch einen regulären Ausdruck Vorgabe der Werte durch eine Aufzählung Ober- und Untergrenze für Zahlen Länge der Teile einer Zahl vor und nach dem Dezimalpunkt <simpletype name="nonnegativedecimal"> <restriction base="decimal"> <mininclusive value="0"/> </restriction> </simpletype> 40 [MS 06] <simpletype name="percentage"> <restriction base="string"> <pattern value= "([0-9] [1-9][0-9] 100)%"/> </restriction> </simpletype>

21 Abgeleitete Simple Types (2) Mit einem Listen- Konstruktor Durch Vereinigung <simpletype name="integerlist"> <list itemtype="integer"/> </simpletype> <simpletype name="boolean_or_decimal"> <union> <simpletype> <restriction base="boolean"/> </simpletype> <simpletype> <restriction base="decimal"/> </simpletype> </union> </simpletype> [MS 06] 41 Vordefinierte abgeleitete Simple Types string normalizedstring token language DTD Emulation Name, NCName ID, IDREF notation Zeitangaben date time duration decimal integer (positive/negative) short (unsigned) long (unsigned) int byt (unsigned) enumeration totaldigits, fractiondigits,... float double 42

22 Complex Types Dienen sowohl zur Beschreibung von Elementen als auch Attributen. Complex Types werden beschrieben durch reguläre Ausdrücke mit folgenden Bestandteilen: Referenzen auf Elemente <element ref="name"/> Aneinanderreihung (Konkatenation) <sequence> </sequence> Vereinigung mit optionaler Benutzung: <union> </union> Vereinigung mit verpflichtender Benutzung: <all> </all> Wildcard Referenzen auf Elemente: <any namespace= " processcontents= "> </any> Referenzen auf Attribute <attribute ref="name"/> Wildcard Referenzen auf Attribute: <anyattribute namespace= processcontents= "> 43 Complex Types: Beispiel [MS 06] 44

23 Complex Types, Simple Content Beispiele für die Erweiterung und Beschränkung komplexer Typen mit einfachem Inhalt (Simple Type). [MS 06] 45 Complex Types, Complex Content <complextype name="basic_card_type"> <sequence> <element ref="b:name"/> </sequence> </complextype> Achtung: Extension ist nicht invers zu Restriction [MS 06] 46

24 Sei... Abgeleitete Typen / Subsumtion T ein Typ und T- ist ein abgeleiteter Typ von T mit Einschränkungen (Restriction) T+ ist ein abgeleiteter Typ von T mit Erweiterungen (Extension) Subsumtion: Immer, wenn T in einem Instanz-Dokument benötigt wird, dann kann eine T- Instanz verwendet werden (trivial), oder eine T+ Instanz kann verwendet werden, wenn die Instanz xsi:type= T+ hat. (wobei xmlns:xsi= Ableitung, Instanziierung und Subsumtion können durch die Schlüsselwörter final, abstract, und block weiter beschränkt werden. 47 Verwendung von Schema-Definitionen Verwendung in einem XML-Dokument Mit Namensraum-Definition <rootelement xmlns="basis-namensraum" xmlns:xsi=" xsi:schemalocation="schemadatei.xsd">... </rootelement> Ohne Namensraum-Definition <rootelement xmlns:xsi=" xsi:nonamespaceschemalocation="schemadatei.xsd">... </rootelement> 48

25 Beschränkungen von XML Schema 1. Die Spezifikation ist sehr komplex mit vielen sehr speziellen Details 2. Deklarationen können nicht auf den Kontext Bezug nehmen (wird aber häufig gebraucht, z.b. wenn zwei Attribute voneinander abhängen) 3. XML Schema kann nicht mit XML Schema beschrieben werden. 4. Wenn Elemente Text und Unterelemente enthalten (mixed content), dann können keine Beschränkungen für den Text definiert werden. 5. Die Verwendung anonymer lokaler Elemente (unqualified local elements) widerspricht der Verwendung von Namensräumen. 6. Das Wurzelelement kann nicht festgelegt werden (es sei denn, es gibt nur ein definiertes globales Wurzelelement). 7. Standardwerte für Elemente können keine Auszeichnungen (Unterelemente) enthalten. 8. Das Typ-System ist übermäßig kompliziert. 9. xsi:type ist problematisch. 10. Die Simple Type-Definitionen sind unflexibel. [MS 06] 49 Stärken von XML Schema Unterstützung von Namensräumen Das Datentyp-System Die Unterstützung der Modularisierung Die Ableitung von Datentypen 50

26 RELAX NG 51 RELAX NG Unterstützung durch OASIS + ISO in Konkurrenz zum W3C Nur Validierung keine Normalisierung Zielsetzung bei der Definition: Einfachheit Ausdrucksstärke Saubere mathematische Grundlagen 52

27 Verarbeitungs-Modell Ausgehend von einem Wurzelelement muss das Dokument die RelaxNG-Spezifikation in Form eines Musters (Pattern) erfüllen. Ein Muster kann auf Elemente, Attribute oder Zeichenketten passen ( matchen ). Muster für Elemente können wiederum Unterelemente enthalten, die wiederum Zeichenketten und Attribute enthalten können. 53 Grundstruktur einer RelaxNG-Datei Muster (Patterns) als Bestandteile einer Grammatik <grammar...> <start>... </start> <define name="...">... </define>... Wurzelelement grammar" Wurzelelement der Instanz!Dokumente" Muster f-r Elemente; k0nnen Unterelemente enthalten%" </grammar> 54

28 Muster (Patterns) Muster (Patterns) orientieren sich an der Definition von Regular Hedge Expressions <element name=... >... <attribute name=... >... </attribute> <text/> <group>... </group> (concatenation) <optional>... </optional> <zeroormore>... </zeroormore> <oneormore>... </oneormore> <choice>... </choice> (union) <empty/> <interleave>... </interleave> <mixed>... </mixed> Regular hedge expressions z.b.: 55 Weitere Eigenschaften Unterstützung für die Modularisierung der Schema-Definitionen Es gibt auch eine alternative Notation in einer C-ähnlichen (nicht XML) Syntax Datentypen es wird fast immer die XML Schema-Spezifikation verwendet. 56

29 Beispiel: das recipes-schema <?xml version="1.0" encoding="utf-8"?> <grammar xmlns=" ns=" datatypelibrary=" <start> <element name="collection"> <element name="description"> <text /> collection" <zeroormore> <ref name="element-recipe" /> </zeroormore> </start> <define name="element-recipe"> receipe" <element name="recipe"> <optional> <attribute name="id"> <data datatypelibrary=" type="id" /> </attribute> </optional> <interleave> <group> <element name="title"> <text /> <element name="date"> <text /> <zeroormore> <ref name="element-ingredient" /> </zeroormore> <ref name="element-preparation" /> nutrition" <element name="nutrition"> <ref name="attributes-nutrition" /> <zeroormore> <ref name="element-related" /> </zeroormore> </group> <optional> <element name="comment"> <text /> </optional> [MS 06] </interleave> </define> <define name="element-ingredient"> <element name="ingredient"> <attribute name="name" /> <choice> <group> <attribute name="amount"> <choice> <value>*</value> <ref name="number" /> </choice> </attribute> <optional> <attribute name="unit" /> </optional> </group> <group> <zeroormore> <ref name="element-ingredient" /> </zeroormore> <ref name="element-preparation" /> </group> </choice> </define> <define name="element-preparation"> <element name="preparation"> <zeroormore> <element name="step"> <text /> </zeroormore> </define> <define name="attributes-nutrition"> <attribute name="calories"> <ref name="number" /> </attribute> <attribute name="protein"> <ref name="percentage" /> </attribute> <attribute name="carbohydrates"> <ref name="percentage" /> </attribute> <attribute name="fat"> <ref name="percentage" /> </attribute> <optional> <attribute name="alcohol"> <ref name="percentage" /> </attribute> </optional> </define> <define name="element-related"> <element name="related"> <attribute name="ref"> <data datatypelibrary=" type="idref" /> </attribute> </define> <define name="percentage"> <data type="string"> <param name="pattern">([0-9] [1-9][0-9] 100)%</param> </data> </define> <define name="number"> <data type="decimal"> <param name="mininclusive">0</param> ingredient" preparation" related" Number" percentage" 57 Vorteile von RelaxNG Deklarationen in XML oder einer eigenen Syntax (Nachteil?) Starke Unterstützung von ungeordneten Inhalten Elemente können in einer beliebigen Reihenfolge notiert werden. Erlaubt nicht-deterministisches Inhaltsmodell / Instanz-Dokumente. Es können Zusammenhänge zwischen Attributen und zwischen Attributen und Unterelementen formuliert werden. Beispiel: Wenn kein Attributname angegeben ist, dann muss ein Unterelement <name> vorhanden sein. RelaxNG Schemas können in XML Schemas und DTDs konvertiert werden. Umgekehrt geht das nicht. Siehe: 58

30 Entwurf von XML Schemas Wie entwirft man ein Schema? Wie nutzt man bestehende Schemas und DTD? Wie verwendet man Vererbung? Wie verhindert man Vererbung? 59

XML DTD und Schema von Thomas Mangold

XML DTD und Schema von Thomas Mangold XML DTD und Schema von Thomas Mangold Inhalt: Zweck kurze Übersicht über den Aufbau Gemeinsamkeiten und Unterschiede Grundelemente Schema vs. DTD Beispiel Definitieren eines Schemas Links 15.05.2002 XML-Seminar

Mehr

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

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

Mehr

DTD: Syntax-Zusammenfassung

DTD: Syntax-Zusammenfassung DTD: Syntax-Zusammenfassung Dokumenttyp-Deklarationen Interne Teilmenge ]> Externe

Mehr

IT-Zertifikat: Daten- und Metadatenstandards

IT-Zertifikat: Daten- und Metadatenstandards IT-Zertifikat: Daten- und Metadatenstandards DTD - Document Type Definition / Dokumenttypdefinition Das (bislang) Wichtigste auf einen Blick Externe DTD einbinden:

Mehr

XML Schema vs. Relax NG

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

Mehr

2. Einführung in Datenbanken und XML

2. Einführung in Datenbanken und XML 2. Einführung in Datenbanken und XML Was ist XML? 2. Einführung in Datenbanken und XML XML steht für extensible Markup Language durch das W3C entwickeltes Dokumentenformat einfach, flexibel, von SGML abgeleitet

Mehr

Strukturierung von Inhalten

Strukturierung von Inhalten Strukturierung von Inhalten extensible Markup Language Metasprache erlaubt die Definition eigener Markupsprachen zur Strukturierung von Informationen World Wide Web Consortium (W3C) Standard Basiert auf

Mehr

XML-Übersicht. Von HTML zu XML

XML-Übersicht. Von HTML zu XML XML-Übersicht Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung

Mehr

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language) Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten XML-Übersicht Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung

Mehr

XML-Praxis. XML-Grammatiken. Jörn Clausen joern@techfak.uni-bielefeld.de

XML-Praxis. XML-Grammatiken. Jörn Clausen joern@techfak.uni-bielefeld.de XML-Praxis XML-Grammatiken Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht formale Beschreibung von XML-Sprachen verschiedene Lösungen Document Type Definition Relax NG XML-Praxis XML-Grammatiken

Mehr

Vorlesung Datenbanken II SS 2006

Vorlesung Datenbanken II SS 2006 Vorlesung Datenbanken II SS 2006 1 Vorlesung Datenbanken II SS 2006 Sven Wachsmuth, Technische Fakultät, AG Angewandte Informatik Vorlesung Datenbanken II SS 2006 2 4.2 XML als Datenmodell DTDs Document

Mehr

XSD - XML Schema Definition

XSD - XML Schema Definition 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? 1 1.1 XSD Dateien und Anwendungen....................

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

XML Grundlagen Teil I

XML Grundlagen Teil I XML Vorlesung FH Aargau, SS 2006 XML Grundlagen Teil I Erik Wilde 20.3.2006 http://dret.net/lectures/xml-fhnw-ss06/ 20.3.2006 XML Vorlesung FHA SS 2006 1 Übersicht Aufbau von XML XML Dokumenten-Syntax

Mehr

XML Vorlesung FHA SS 2006 15.5.2006

XML Vorlesung FHA SS 2006 15.5.2006 XML Vorlesung FH Aargau, SS 2006 XML Schema Teil III Erik Wilde 15.5.2006 http://dret.net/lectures/xml-fhnw-ss06/ Übersicht Reusable Groups Named Model Groups Attribute Groups Type Substitution Modellierungstechniken

Mehr

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

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

Mehr

Zusammenfassung. 11.2002 M. Rigling 1/22 Version 1.0

Zusammenfassung. 11.2002 M. Rigling 1/22 Version 1.0 Zusammenfassung 11.2002 M. Rigling 1/22 Version 1.0 Grundbegriffe... 4 Elemente...4 Element mit Attribut...4 Kommentar...4 CDATA-Abschnitte...4 Processing Instructions...4 XML-Deklaration...5 DTD Document

Mehr

XML-Praxis. XML-Grammatiken. joern@techfak.uni-bielefeld.de

XML-Praxis. XML-Grammatiken. joern@techfak.uni-bielefeld.de XML-Praxis XML-Grammatiken Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht formale Beschreibung von XML-Sprachen verschiedene Lösungen Document Type Definition Relax NG 2 wohlgeformtes vs. valides

Mehr

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

Erhöhung der Datenqualität in XML-Dokumenten von Desktop Applikationen. Alexander Hilliger von Thile - REI/ID Erhöhung der Datenqualität in XML-Dokumenten von Desktop Applikationen Alexander Hilliger von Thile - REI/ID Die Rolle von XML Markup (DQ) < < > > Markup DQ application server < < > Markup application

Mehr

Index. Index CDATA 113, 183. Achse 430. child 425. all 191. choice 187, 191, 197, 393. ancestor 428. choose 272. Anwendung 351; Beispiel 302

Index. Index CDATA 113, 183. Achse 430. child 425. all 191. choice 187, 191, 197, 393. ancestor 428. choose 272. Anwendung 351; Beispiel 302 Index 437 438 Index Achse 430 all 191 ancestor 428 Anwendung 351; Beispiel 302 ANY 112, 183 apply-templates 146, 269 ATTLIST 390 ATTLIST 114, 180 Attribut 112, 183 attribute 190 attribute 391 attributegroup

Mehr

Extensible Markup Language (XML) Grammatiken

Extensible Markup Language (XML) Grammatiken Extensible Markup Language (XML) Grammatiken Studienarbeit im Fach XML-Technologien von Raffaella Riccato (Matrikelnummer: 03752006) Oktober 2010 Professor: Prof. Dr. Reinhard Schiedermeier Hochschule

Mehr

Datenaustauschformate. Datenaustauschformate - FLV

Datenaustauschformate. Datenaustauschformate - FLV Datenaustauschformate FLV-Dateien CSV-Dateien XML-Dateien Excel-Dateien Access- Backupdateien Günter M. Goetz 108 Datenaustauschformate - FLV Fixed Length Values Repräsentation einer Tabelle als 'Flat-File'

Mehr

XML Eine Einführung XML Dokumente Erstellen

XML Eine Einführung XML Dokumente Erstellen XML Eine Einführung XML Dokumente Erstellen Gültige XML Dokumente Erstellen XML (C) J.M.Joller 1 Lernziele Nach dem Durcharbeiten dieser Lektion sollten Sie in der Lage sein Zu definieren, was man unter

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

03 XML Grundlagen. Manuel Burghardt Lehrstuhl für Medieninformatik

03 XML Grundlagen. Manuel Burghardt Lehrstuhl für Medieninformatik Markupsprachen 03 XML Grundlagen Manuel Burghardt Warum XML? Nachteile von SGML und HTML SGML ist für die meisten Aufgaben zu komplex, und dadurch nicht sofort einsetzbar (komplexe Metasprache) HTML ist

Mehr

Verteilte Anwendungen. Teil 2: Einführung in XML

Verteilte Anwendungen. Teil 2: Einführung in XML Verteilte Anwendungen Teil 2: Einführung in XML 05.10.15 1 Literatur [2-1] Eckstein, Robert; Casabianca, Michel: XML Kurz und gut. O'Reilly, 2. Auflage, 2003 [2-2] Nussbaumer, Alfred; Mistlbacher, August:

Mehr

Validierung von XML Dokumenten

Validierung von XML Dokumenten Validierung von XML Dokumenten Ausarbeitung Multimedia- und Webtechnologien Prof. Gössner WS 2005 / 2006 von: Daniela Nolte Christoph Ungermann Inhalt: Thema Seite 1. Einführung / Definitionen (DN) 1 1.1.

Mehr

XML, XHTML und MathML

XML, XHTML und MathML XML, XHTML und MathML Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich 3.7.03 Erik Wilde 1 Programm Einführung und Geschichte von XML XML Basics (Dokumente, DTDs)

Mehr

3.1 Sinn und Zweck von Namensräumen

3.1 Sinn und Zweck von Namensräumen 3 3 Die Erstellung eigener Auszeichnungssprachen und somit die Erschaffung eigener Dokumenttypen, in denen die Elemente ihre eigene Bedeutung haben, ist mit XML leicht gemacht. Natürlich können solche

Mehr

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

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele: 2. Datenmodellierung mit XML und XML-Schema Was ist XML? 2. Datenmodellierung mit XML und XML-Schema 2. Datenmodellierung mit XML und XML-Schema Was ist XML? Semistrukturierte Daten Lernziele: Eigenschaften

Mehr

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

Gliederung. Service Oriented Architecture - XML Technologies. 1 von 11 1 von 11 Gliederung Extensible Markup Language (XML) Wofür steht XML? Wie sieht XML aus? Dokumentgliederung Elemente Attribute Entity-Referenzen Vordefinierte Entities Verarbeitungsanweisungen (processing

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten XML Stefan Woltran Emanuel Sallinger Institut für Informationssysteme Technische Universität Wien Sommersemester 2014 Stefan Woltran, Emanuel Sallinger Seite 1 XML Was ist XML?

Mehr

DSLs mit Xtext entwerfen. 17.08.2012, A. Arnold

DSLs mit Xtext entwerfen. 17.08.2012, A. Arnold DSLs mit Xtext entwerfen 17.08.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was sind DSLs? 2. Xtext Konzepte 3. Einführung ins Sprachdesign 4. Hands On! 3 4 8 20 2 Was sind DSLs? Domain Specific

Mehr

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language)

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language) XML XML (extensible Markup Language) Beschreibt den Inhalt und nicht die Präsentation. Unterschiede zu HTML: Neue Tags können definiert werden. Strukturen können eine willkürliche Tiefe haben. Ein XML

Mehr

http://www.therealgang.de/

http://www.therealgang.de/ http://www.therealgang.de/ Titel : Einführung in XML (Teil 1/2) Author : Dr. Pascal Rheinert Kategorie : Programmierung-Sonstige Teil II: XML Wichtiger Hinweis: Das folgende Dokument basiert auf dem HTML-Lehrgang

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung II. XML Manfred Gruner mailto:wpr@gruner.org 4.2 XML XML extensible Markup Language Universelles Format für strukturierte Dokumente und Daten Web: XML = Querschnittstechnologie

Mehr

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

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.

Mehr

ASN.1 <-> XML TRANSLATION

ASN.1 <-> XML TRANSLATION ASN.1 XML TRANSLATION Management Verteilter Systeme Patrick Gerdsmeier, Pierre Smits Wintersemester 2003/2004 Lehrstuhl für Systeme Prof. Dr. Kraemer BTU Cottbus ASN.1 XML TRANSLATION Gliederung

Mehr

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03 Seminar: XML in der Bioinformatik WS 2002/03 Überblick Entwicklung von XML Regeln und Eigenschaften von XML Document Type Definition (DTD) Vor- und Nachteile von XML XML in der Bioinformatik Zusammenfassung

Mehr

XML-Schema. Einordnung

XML-Schema. Einordnung Einordnung Es gab/gibt eine Reihe von Erweiterungen und Vorschlägen hinsichtlich neuer Schemasprachen. Die größte praktische Bedeutung hat der W3C-Standard XML Schema Definition Language (XSD) kurz:xml-schema.

Mehr

Versuchsziele. 1. Aufgabe. Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata

Versuchsziele. 1. Aufgabe. Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata Versuchsziele XML-Dateien für eine vorgegebene DTD-Datei erstellen können. XML-Dateien

Mehr

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014 Modell/Metamodell Model Generator Generated Source Code Andreas Schmidt Modellierung 1/18 Modell Modell beschreibt die zu generierende Anwendung Modell ist... abstrakt kompakt formal Modell kann in unterschiedlichen

Mehr

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz XML 1 Einführung, oxygen Ulrike Henny ulrike.henny@uni-koeln.de XML extensible Markup Language Was ist XML? XML-Grundlagen XML-Editoren, oxygen HTML + CSS XPath Übungen Literatur Folie 2 Was ist XML? extensible

Mehr

eden market Autor: Norman Lahme

eden market Autor: Norman Lahme Entities eden market Autor: Norman Lahme eden market www.xml-schulungen.de 1 Gliederung 1. Einleitung 2. Interne allgemeine Entities 3. Externe geparste allgemeine Entities 4. Nicht geparste Entities 5.

Mehr

1 Was ist XML? Hallo XML! Kommentare in XML 52

1 Was ist XML? Hallo XML! Kommentare in XML 52 Inhalt Vorwort 13 Einleitung und Ziel des Buches 15 1 Was ist XML? 21 1.1 XML ein Definitionsversuch 21 1.2 XML und HTML wo sind die Unterschiede? 22 1.3 XSLT 24 1.4 Einsatzgebiete von XML und XSLT 25

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 1: Bezeichner, Elementare Datentypen, Variablen, Referenzen, Zuweisungen, Ausdrücke Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Bezeichner

Mehr

XML Informationsmodelle

XML Informationsmodelle XML Vorlesung ETHZ, Sommersemester 2006 XML Informationsmodelle Erik Wilde 25.4.2006 http://dret.net/lectures/xml-ss06/ 25.4.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht XML Namespaces für Schema-Kombination

Mehr

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

(a) Erstellen Sie für die Web-Veröffentlichung eines Artikels die Meta-Informationen nach dem Dublin-Core-Standard. Web-Technologie 22. Mai 2013 Übungsblatt 3 WT:III Bis zum 28.05.2013 sind Lösungen zu folgenden Aufgaben abzugeben: 4, 6, 7, 8. Aufgabe 1 : XML (a) Erstellen Sie für die Web-Veröffentlichung eines Artikels

Mehr

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

Michel Messerschmidt 2004-01-15. Diplomarbeit. Entwurf einer Sprache zur Klassifizierung von Malware-Vorfällen Michel Messerschmidt 2004-01-15 Diplomarbeit Entwurf einer Sprache zur Klassifizierung von Malware-Vorfällen Übersicht Ausgangssituation Reportformat des avtc Reportformate von Antivirus-Produkten Konzept

Mehr

Klaus Schild, XML Clearinghouse Aufbau von XML- Dokumenten

Klaus Schild, XML Clearinghouse Aufbau von XML- Dokumenten Aufbau von XML- Dokumenten Lernziele Wie ist ein XML-Dokument aufgebaut? Was sind Elemente und was sind Attribute? Wann sollten Attribute und wann Elemente verwendet werden? Elemente ist ein Anfangs-Tag

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 120 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

Primitive Datentypen und Felder (Arrays)

Primitive Datentypen und Felder (Arrays) Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste

Mehr

Seminar: mobile GIS Austausch von Geodaten

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

Mehr

Extensible Markup Language (XML)

Extensible Markup Language (XML) Extensible Markup Language (XML) Erik Wilde TIK ETH Zürich Sommersemester 2001 Übersicht Motivation für die Einführung von XML XML Positionierung ein Profile von SGML XML Basics Szenarien Syntax DTDs XML

Mehr

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

Daten- und Metadatenstandards Wintersemester 2011 / November 2011 XML II: DTD Daten- und Metadatenstandards Wintersemester 2011 / 2012 22. November 2011 XML II: DTD Themenüberblick was bis jetzt geschah Text Inhalt Struktur Äußeres Erscheinungsbild: Layout Extensible Markup Language:

Mehr

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03

Einführung in XML. Seminar: XML in der Bioinformatik Frank Schönmann WS 2002/03 Seminar: XML in der Bioinformatik WS 2002/03 Überblick Entwicklung von XML Regeln und Eigenschaften von XML Document Type Definition (DTD) Vor- und Nachteile von XML XML in der Bioinformatik Zusammenfassung

Mehr

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

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML Nachname: Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 90 Minuten. Aufgabe

Mehr

6. Datenbanken und XML

6. Datenbanken und XML 6. Datenbanken und XML 6.0 Einführung XML (extended Markup Language) definiert ein Format für Textdateien, das sich sehr gut als Austauschformat zwischen verschiedenen Softwaresystemen (z.b. zwischen Datenbanken

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

Extraktion von Metainformationen

Extraktion von Metainformationen Extraktion von Metainformationen Idee: es existiert bereits eine Anwendung/ein Datenbestand. Wie kann ich von diesem Ausgangspunkt modellbasiert weiterentwickeln? Möglichkeiten: Relationales Datenbankschemata

Mehr

Webseite in XML Kurzeinführung

Webseite in XML Kurzeinführung Webseite in XML Kurzeinführung 1. Entwicklung... 1 2. Erste Webpage in XML... 2 2.1 Erstes Beispiel... 2 2.2 Tags definieren... 4 2.3 Kommentare in XML... 5 2.4 XML mittels CSS im Browser ansehen... 5

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Textauszeichnung mit XML

Textauszeichnung mit XML Ulrike Henny & Patrick Sahle Fahrplan XML: wieso weshalb warum? XML als Markup XML essentiell XML schreiben am Beispiel XML schreiben im Editor XML, die Regeln XML, die Philosophie Folie 2 XML, wieso,

Mehr

XML 1.1. Grundlagen. Elmar Fuchs, Heiko Schröder. 5. Ausgabe, Januar 2015 ISBN: 978-3-86249-407-1 XML11

XML 1.1. Grundlagen. Elmar Fuchs, Heiko Schröder. 5. Ausgabe, Januar 2015 ISBN: 978-3-86249-407-1 XML11 XML 1.1 Elmar Fuchs, Heiko Schröder Grundlagen 5. Ausgabe, Januar 2015 ISBN: 978-3-86249-407-1 XML11 4 XML 1.1 - Grundlagen 4 Elemente der DTD In diesem Kapitel erfahren Sie wie Sie die Elemente und Inhalte

Mehr

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

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

Mehr

Multimedia Technologie II

Multimedia Technologie II Vorlesung / Übungen Multimedia Technologie II Prof. Dr. Michael Frank / Prof. Dr. Klaus Hering Sommersemester 2004 HTWK Leipzig, FB IMN Für die externe Vorhaltung der DTD werden sämtliche zwischen den

Mehr

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...

Mehr

XSL Templates. Mit Templates arbeiten. XSL Templates

XSL Templates. Mit Templates arbeiten. XSL Templates XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder

Mehr

<Trainingsinhalt> XML umsetzen und nutzen

<Trainingsinhalt> XML umsetzen und nutzen XML umsetzen und nutzen i Inhaltsverzeichnis Einführung 11 Das Problem mit HTML 12 Die Stärke von XML 13 Die XML-Helfer 14 XML im wirklichen Leben 15 Zu diesem Buch 16 Was Sie hier nicht

Mehr

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL Seminar E-Services WS 02/03 WSDL Web Services Description Language SES 02 - WSDL Zum Ablauf Einleitung Webservices und WSDL Grundlagen (XML - Schema und Namespaces) WSDL Syntax Beispiel Zusammenfassung

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel Java für Anfänger Teil 2: Java-Syntax Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Nachname: Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 120 Minuten. Aufgabe

Mehr

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

Aufgaben eines Codegenerators

Aufgaben eines Codegenerators Aufgaben eines Codegenerators Modell einlesen Modell verifizieren Modell transformieren Quellcodegenerierung heute!! Andreas Schmidt XMI / Zugriff auf XML 1/17 XML Input Aktueller Input unseres Generators

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser.

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Verwenden Sie folgende XML-Sprachmittel: Leeres Element, geschachtelte Elemente, Element

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel Java für Anfänger Teil 2: Java-Syntax Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.

Mehr

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

XML-Schema (SCH) Sie erhalten einen Überblick über alle für XML-Schema relevanten Spezifikationen XML-Schema (SCH) Lernziele Sie erhalten einen Überblick über alle für XML-Schema relevanten Spezifikationen und Werkzeuge. Sie kennen die Vorteile von XML-Schema gegenüber DTDs. Sie wissen, wie Elemente

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

Model Driven Engineering für XML-Anwendungen

Model Driven Engineering für XML-Anwendungen Model Driven Engineering für XML-Anwendungen Diplomarbeit Universität Rostock Fakultät für Informatik und Elektrotechnik Institut für Informatik vorgelegt von: Matrikelnummer: geboren am: Erstgutachter:

Mehr

Seminar 1912 im Sommersemester 2002. XML und Datenbanken. Präsenzphase: 28. und 29. Juni 2002. Praktische Informatik IV

Seminar 1912 im Sommersemester 2002. XML und Datenbanken. Präsenzphase: 28. und 29. Juni 2002. Praktische Informatik IV Seminar 1912 im Sommersemester 2002 XML und Datenbanken Präsenzphase: 28. und 29. Juni 2002 Praktische Informatik IV Inhalt Übersicht XML Lorel Lore XQL, XPath YATL, YAT XML-QL Quilt, XQuery Speicherung

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen "Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08

Mehr

Seminar Document Engineering

Seminar Document Engineering Das OpenDocument-Format als Austauschformat 12.12.2006 Gliederung Problemstellung Gliederung Einstieg Gliederung Problemstellung Sie bewerben sich mit diesem Schreiben... Gliederung Problemstellung...

Mehr

PROBEKlausur XML-Technologien, Sommersemester 2011 Matrikelnummer Vorname. korrigiert von Gesamtpunktzahl von 30 Note

PROBEKlausur XML-Technologien, Sommersemester 2011 Matrikelnummer Vorname. korrigiert von Gesamtpunktzahl von 30 Note PROBEKlausur XML-Technologien, Sommersemester 2011 Name Matrikelnummer Vorname korrigiert von Gesamtpunktzahl von 30 Note Sitzordnung Sitzt bequem Bearbeitungszeit 30 Minuten stellt euch einen Wecker!

Mehr

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

Einführung in XML. Präsenzveranstaltung zur E-Learning-Veranstaltung. Sommersemester Prof. Dr. Klaus-Peter Fähnrich Heiko Kern Präsenzveranstaltung zur E-Learning-Veranstaltung Einführung in Sommersemester 2009 Prof. Dr. Klaus-Peter Fähnrich Heiko Kern 1 Agenda Kurzzusammenfassung der Einführung Kurzzusammenfassung der Strukturbeschreibungen

Mehr

Entwurf von XML-Sprachen mit XML-Schema

Entwurf von XML-Sprachen mit XML-Schema Entwurf von XML-Sprachen mit XML-Schema Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Abstract Das weltumspannende Netz bietet ein enormes

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

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

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

Mehr

D#32058 Spezifikation UPOC DM V2

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

Mehr

Einführung in XML. Von Klammern, Schachteln und gefüllten Keksen. Hier im Folienmaster Präsentationstitel eintragen

Einführung in XML. Von Klammern, Schachteln und gefüllten Keksen. Hier im Folienmaster Präsentationstitel eintragen Institut für Dokumentologie und Editorik Von Klammern, Schachteln und gefüllten Keksen Folie 1 Hier im Folienmaster Präsentationstitel eintragen Spring School 14. bis 18. März 2011 Überblick - XML Grundlagen

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML-Praxis XML Extensible

Mehr