Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Interoperable Informationssysteme - 1 Klemens Böhm Datenmodell 2: XML ('Extended Markup Language)

Ähnliche Präsentationen


Präsentation zum Thema: "Interoperable Informationssysteme - 1 Klemens Böhm Datenmodell 2: XML ('Extended Markup Language)"—  Präsentation transkript:

1 Interoperable Informationssysteme - 1 Klemens Böhm Datenmodell 2: XML ('Extended Markup Language)

2 Interoperable Informationssysteme - 2 Klemens Böhm Was ist XML? l Motivation l XML-Konzepte l Einordnung und Bewertung von XML Weitere, zu XML gehörende Gliederungs- punkte: l Zusammenfassungen semistrukturierter Datenbestände l Layout und Transformation l Erweiterbarkeit l Hyperlinks Einleitung Konzepte Vergleich

3 Interoperable Informationssysteme - 3 Klemens Böhm XML Dokumentklassen z.B. MathML HTML Homepage von Hans Schek Modell Dokumenttyp Dokument- instanz e i +1= 0 n f (n) = k k=1 XML SGML E-R Modell Schema für Material- verwaltung Datenbank, konform zum Schema Einleitung Konzepte Vergleich

4 Interoperable Informationssysteme - 4 Klemens Böhm XML Syntax Ei Mehl Salz rezept expertisezutaten zutat id=x1 id=x2 Textuelle Darstellung Graphische Darstellung "Elementbaum" zutaten zutat Ei Mehl Salz Einleitung Konzepte Vergleich

5 Interoperable Informationssysteme - 5 Klemens Böhm Was ist XML? l Syntax zur Beschreibung von teilweise strukturierter Information: u Explizite Repräsentation der logischen Struktur von Dokumenten u (Alte Version der) W3C (World Wide Web Consortium) FAQ: "It's actually slightly misnamed. l Kernarchitektur für Hypermedien, genormt durch das W3C, aufbauend auf der Syntax, z.B. Annotationen, Stylesheets. l Dokumenttypen und Anwendungen aufbauend auf der Kernarchitektur: u Offen, u unternehmensintern, u kommerziell, l Norm des W3C. Einleitung Konzepte Vergleich

6 Interoperable Informationssysteme - 6 Klemens Böhm Was ist XML? Tim Bray: "XML will be the ASCII of the Web - basic, essential, unexciting" Einleitung Konzepte Vergleich

7 Interoperable Informationssysteme - 7 Klemens Böhm Kernarchitektur l Verwendung des Begriffs 'Architektur' unterscheidet sich von der gewohnten, z.B. Hardware-Architektur, Software-Architektur. l 'Architektur' bezeichnet hier die Menge der Zusammenhänge zwischen XML und verwandten Standards. Beispiele für derartige Zusammenhänge: u XML-Namespace Recommendation verwendet im XML-Standard definierte Konstrukte, u XSL Formatting Vocabulary ist XML-Namespace. Einleitung Konzepte Vergleich

8 Interoperable Informationssysteme - 8 Klemens Böhm Was ist HTML? l HTML ist ein spezieller Dokumenttyp. l Elementtypen entsprechen (weitgehend) den Layout-Bestandteilen des Dokuments. l HTML-Dokumenttypdefinition, d.h. insbesondere zulässige Anordnung der Elemente, ist von untergeordneter Bedeutung. l Parsen und Validieren von HTML- Dokumenten ist ebenfalls zweitrangig. Einleitung Konzepte Vergleich

9 Interoperable Informationssysteme - 9 Klemens Böhm Warum braucht man XML, verglichen mit HTML? l Trennung zwischen logischer und Layout-Struktur führt zu höherer Flexibilität, insbesondere u unterschiedliche Darstellungsmöglichkeiten für unterschiedliche Benutzer und unterschiedliche Anforderungen, u bessere Strukturierungsmöglichkeiten. l Dokument mit logischem Markup enthält i.a. mehr Information, leichteres kooperatives Arbeiten bzw. bessere Dokumentation eigener Arbeitsschritte. l Konsistenz der Dokumente: u 'intra-document consistency', u 'inter-document consistency'. Einleitung Konzepte Vergleich

10 Interoperable Informationssysteme - 10 Klemens Böhm XML Entwicklung Jul96"SGML-Subset" Arbeitsgruppe (ERB) Nov96Erster öffentlicher XML-Entwurf Mär97Microsoft veröffentlicht CDF-DTD (Dateiformat für Push-Technologie) Apr97Netscape erkennt XML an Aug97Sun Solaris 2.6 mit XML Dokumentation Okt97Microsoft IE 4.0 mit XML ActiveX-Control Feb98XML Version 1.0 Apr98MathML, Mozilla 5.0 mit XML Aug98Reorganisation der W3C-XML-WG Apr99Microsoft IE 5.0 mit XSL Q299Microsoft Office mit HTML/XML Q101XML-Schema Einleitung Konzepte Vergleich

11 Interoperable Informationssysteme - 11 Klemens Böhm Ziele des XML Entwurfs (1/2) Ziele beim Entwurf von XML, nicht Ziele der Modellierung mit XML. 1 XML soll sich im Internet auf einfache Art und Weise nutzen lassen. 2 XML soll ein breites Spektrum von Anwendungen unterstützen. 3 XML soll zu SGML kompatibel sein. 4 Es soll einfach sein, Programme zu schreiben, die XML-Dokumente verarbeiten. 5 Die Zahl optionaler Merkmale in XML soll minimal sein, idealerweise Null. Einleitung Konzepte Vergleich

12 Interoperable Informationssysteme - 12 Klemens Böhm Ziele des XML Entwurfs (2/2) 6 XML-Dokumente sollen für Menschen lesbar und angemessen verständlich sein. 7 Der XML-Entwurf sollte zügig abgefasst werden. (D.h. die Erstellung der XML-Spezifikation.) 8 Der Entwurf von XML soll formal und präzise sein. 9 XML-Dokumente sollen leicht zu erstellen sein. 10 Knappheit von XML-Markup ist von minimaler Bedeutung. Wie wird Ziel X von XML berücksichtigt? Einleitung Konzepte Vergleich

13 Interoperable Informationssysteme - 13 Klemens Böhm XML Konzepte l Unicode, l Dokument, Dokumentinstanz, DTD l wohlgeformt vs. gültig, l XML-Processor, XML-Applikation l syntaktische Konstruktionen in XML: u Elemente, u Attribute, u Processing Instructions, u Entitäten, u Notationen, l XML Namensräume, l XML-Schema Mechanismus. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - Pis - Entities - Notations - Name- spaces - XML- Schema Vergleich

14 Interoperable Informationssysteme - 14 Klemens Böhm Unicode 2.1 (1/4) l Characters in XML sind Nummern. l Festlegung der Abb. von Nummern auf Chars: Unicode, l Unicode ist Teilmenge des ISO-Standards ISO/IEC :1993 (Universal Multiple-Octet Coded Character Set (UCS)) l ca mögliche Zeichen in 16 Bit l belegte, ca unbelegte Zeichenpositionen l untere 127 Zeichen binärkompatibel zu ASCII l jedes Zeichen ist auf genau eine Weise kodiert l Erweiterung um Zeichen möglich l unterstützt 25 lebende Sprachen l Unicode kodiert keine Fonts. l Jede konforme Anwendung von XML ist eine Anwendung von Unicode. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

15 Interoperable Informationssysteme - 15 Klemens Böhm Unicode 2.1 (2/4) l Es gibt mehrere Möglichkeiten, 16-Bit Nummern zu speichern. l UTF-16 speichert jede 16-Bit Zahl unter Verwendung von 16 Bits. UTF-8 speichert die ersten 127 Characters (ASCII-Zeichen) mit 7 Bits und verwendet zwei bis fünf Bytes für die restlichen Characters. l XML Spezifikation legt fest, dass XML Unicode verwendet. 'All XML processors must accept the UTF-8 and UTF-16 encodings of ISO …. l Dokumente, die mit UTF-16 kodiert sind, müssen mit spezieller Bit-Sequenz beginnen. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

16 Interoperable Informationssysteme - 16 Klemens Böhm Unicode 2.1 (3/4) l l The Unicode Standard defines codes for characters used in the major languages written today. Scripts include Latin, Greek, Cyrillic, Armenian, Hebrew, Arabic, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Thai, Lao, Georgian, Tibetan, Japanese Kana, the complete set of modern Korean Hangul, and a unified set of Chinese/Japanese/Korean (CJK) ideographs. Many more scripts and characters are to be added shortly, including Ethiopic, Canadian Syllabics, Cherokee, additional rare ideographs, Sinhala, Syriac, Burmese, Khmer, and Braille. l The Unicode Standard also includes punctuation marks, diacritics, mathematical symbols, technical symbols, arrows, dingbats, etc. It provides codes for diacritics, which are modifying character marks such as the tilde (~), that are used in conjunction with base characters to encode accented or vocalized letters (ñ, for example). In all, the Unicode Standard provides codes for nearly 39,000 characters from the world's alphabets, ideograph sets, and symbol collections. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

17 Interoperable Informationssysteme - 17 Klemens Böhm Unicode 2.1 (4/4) l Verwendung anderer Character Encodings ist möglich, XML Processor muss sie aber nicht unterstützen. Spezifikation erfolgt mit dem encoding - Attribut. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

18 Interoperable Informationssysteme - 18 Klemens Böhm Übersicht: XML Dokument XML Dokument Kommentar, Arbeitsanweisung, Zeichenreferenz Prolog mit Dokument Typ-Deklaration Dokument Element mit Namensraumdeklaration Dokument Typ-Definition (DTD) Element, Attribut, Entität, Parameterentität, Parameterentitätsreferenz Externe DTD Teilmenge Konditionale Abschnitte, beliebige Parameterentitätsreferenz Dokument Start-Tag, Ende-Tag, leeres-Element-Tag, PCDATA, CDATA Abschnitte, Entitätsreferenzen Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

19 Interoperable Informationssysteme - 19 Klemens Böhm Hamlet: Dokumentinstanz The Tragedy of Hamlet, Prince of Denmark SGML markup by Jon Bosak, XML version by Jon Bosak, This work may be freely copied and distributed worldwide. Dramatis Personae CLAUDIUS, king of Denmark. HAMLET, son to the late, and nephew to the present king. SCENE Denmark. HAMLET ACT I SCENE I. Elsinore. A platform before the castle. FRANCISCO at his post. Enter to him BERNARDO BERNARDO Who's there?... Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

20 Interoperable Informationssysteme - 20 Klemens Böhm Hamlet: Elementbaum Dokument- Element "act" ist enthalten in "play" Pfad scene... play fm act title personae Dramatis Persona The Tragedy of Hamlet, Prince of Denmark acttitle Act I stagedir p...p... worldwide SGML markup... title persona CLAUDIUSHAMLET scenedescrplaysubt Scene Denmark hamlet scenetitl e Scene I... FRANCISCO... speech speakerline BERNARDO Who's there? Visual Pattern Builder Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

21 Interoperable Informationssysteme - 21 Klemens Böhm Hamlet: DTD... Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

22 Interoperable Informationssysteme - 22 Klemens Böhm Well-Formed vs. Valid l wohlgeformt (well-formed) - ein Dokument besitzt geordnete syntaktische Eigenschaften, die im folgenden vorgestellt werden, l gültig (valid) - Ein Dokument ist wohlgeformt und folgt einem a priori gegebenen Schema, formalisiert in einer Dokumenttypdefinition (DTD). Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

23 Interoperable Informationssysteme - 23 Klemens Böhm Well-Formedness Illustration, dass Dokumente, die well-formed sind, vollständig markiert sein müssen: Nicht vollständig markiertes Dokumentfragment: pipapo hello world l Zwei mögliche Strukturen: pipapohello world pipapo hello world Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

24 Interoperable Informationssysteme - 24 Klemens Böhm XML Processor, Application l XML Processor - Modul, das Zugriff auf Inhalt und Struktur von XML-Dokumenten ermöglicht. l Applikation - Modul, das den XML Processor verwendet. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

25 Interoperable Informationssysteme - 25 Klemens Böhm XML Processor, Application Application XML-Processor (XML-Engine) Callback- Methoden ("User Exits) DOM- Methoden Aufruf für XML-Dok. MM-Tool 1 MM-Tool 2... Bsp. fuer diese Aufteilung: Workflow aus Bestellung z:\users\boehm\Windows\temp\Samples\expat\elements.c … xmlparse.h Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

26 Interoperable Informationssysteme - 26 Klemens Böhm Darstellung der logischen Dokumentstruktur l PCDATA = parseable character data, Kein anderer terminaler Typ fuer Content fuer Strings in Attributen gibt es nur den Typ CDATA l Tags begrenzen Elemente, l hierarchisch oberstes Element heisst Dokumentelement, l Syntaktisch zulässige Tag-Namen haben die Struktur [letter][letter0-9.:-_]* l Tags sind "case-sensitive", l Jedes geöffnete Tag muss wieder geschlossen werden. l Tags dürfen einander nicht überlappen; nicht erlaubt z.B.: … … … l Tags leerer Elemente haben besondere Syntax. Interoperable information systems require... Markup such as,... Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich Leeres Element

27 Interoperable Informationssysteme - 27 Klemens Böhm CDATA l CDATA-Abschnitte dürfen überall vorkommen, wo Character Data vorkommen darf, l CDATA wird nicht vom Parser bearbeitet, l Entitäten und Tags werden nicht erkannt, l ]]> beendet den Abschnitt, l oft verwendet für Codebeispiele, z.B. XML-in-XML.... Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

28 Interoperable Informationssysteme - 28 Klemens Böhm DTD-Deklarationen "test" ist das Dokumentelement ]> &hallo; ]> Externe DTD Deklaration Interne DTD Deklaration Gemischte Nutzung Internal DTD Subset Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

29 Interoperable Informationssysteme - 29 Klemens Böhm DTD-Deklarationen (2) Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich Erläuterungen: l Gemischte Nutzung – externe DTD, aber proprietäre Entity-Definition l encoding - Character Encoding l Attribut nicht erforderlich für ASCII, da Subset von UTF-8

30 Interoperable Informationssysteme - 30 Klemens Böhm Elementdeklaration l Elementdeklaration legt fest, wie der direkte Inhalt eines Elements aufgebaut ist. (SGML - Inclusions) l Inhaltsmodell - regulärer Ausdruck, der Aufbau des direkten Inhalts spezifiziert. Syntax der Elementdeklaration: Beispiel: Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

31 Interoperable Informationssysteme - 31 Klemens Böhm Elementdeklaration (1/2) Elementinhalt l Gemischter Inhalt ("mixed content") l Leeres Element l Element mit beliebigem Inhalt 'beliebiger Inhalt'- muss vorher schon deklariert worden sein. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

32 Interoperable Informationssysteme - 32 Klemens Böhm Elementdeklaration (2/2) l Konstruktoren: u Sequenz u Alternative l Occurrence Indicators: u Optional (Null- oder einmal) u Optional und wiederholbar (beliebig oft) u Notwendig und wiederholbar (mindestens einmal) l Inhaltsmodelle können mit Klammern kombiniert werden. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

33 Interoperable Informationssysteme - 33 Klemens Böhm Attribute l Jedes Element kann mit (beliebig vielen) Attributen versehen sein, l Attribut-Belegungen sind normal im Start-Tag enthalten, Beispiel: Das ganze Leben ist ein Quiz Attribute sind eine von mehreren Möglichkeiten, zusätzliche Information mit Elementen in Verbindung zu bringen. Bsp.: Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

34 Interoperable Informationssysteme - 34 Klemens Böhm Wozu braucht man Attribute? l Es existieren Typen für Attribute. l Das Dokument besteht aus weniger Elementen. l Bessere Lesbarkeit, Übersichtlichkeit. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

35 Interoperable Informationssysteme - 35 Klemens Böhm Attributdeklaration l Syntax der Attributdeklaration: l Mögliche Vorgaben: u Notwendiges Attribut:#REQUIRED u Optionales Attribut:#IMPLIED u Festes Attribut:#FIXED "wert" (d.h. DTD legt den Attributwert bereits fest). Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

36 Interoperable Informationssysteme - 36 Klemens Böhm Attribute: Typen (1/5) l CDATA u Zeichenkette (mit Entitätsersetzung) l Aufzählungstyp u Token aus vorgegebener Menge, evtl. Defaultwert u Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich Attributname Elementname

37 Interoperable Informationssysteme - 37 Klemens Böhm Attribute: Typen (2/5) l ID, IDREF u Attribut vom Typ ID ist innerhalb eines Dokuments eindeutig, u IDREF ist eine Referenz auf eine ID, u Parser prüft referentielle Integrität, keine Einschränkung des Typs, kein reftype, u l NAME, NAMES Name bzw. Namen, beginnend mit Letter, _ oder : l NMTOKEN, NMTOKENS u Name bzw. Namen, ausschliesslich NAME-Chars u Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

38 Interoperable Informationssysteme - 38 Klemens Böhm Arbeitsanweisung/ Processing Instruction (PI) l PI sind nicht Teil des Dokumenttextes. l PIs werden an Applikation durchgereicht. PI beginnt mit Target, d.h. Identifier der Applikation, z.B. php l PI-Targets werden mit dem XML Notation Mechanismus deklariert (wird später besprochen). l

39 Interoperable Informationssysteme - 39 Klemens Böhm Zeichenreferenzen und Kommentare l Zeichenreferenzen können beliebige Unicode-Zeichen identifizieren, l Beispiel: Zeichen, die auf der Tastatur fehlen, l Zeichenreferenzen werden sofort expandiert, l Kommentare sind überall erlaubt, nicht aber vor der XML-Processing Instruction (... Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

40 Interoperable Informationssysteme - 40 Klemens Böhm Attribut-Normalisierung Bevor ein Attributwert überprüft bzw. an eine Applikation weitergegeben wird, muss der XML Processor ihn normalisieren: l Character-Referenz auflösen, l Replacement-Text einer Entity-Referenz rekursiv abarbeiten. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

41 Interoperable Informationssysteme - 41 Klemens Böhm Logische vs. physische Dokumentstruktur l Logische Dokumentstruktur ist die Struktur, die mit Hilfe von Markup explizit gemacht wird, l physische Dokumentstruktur - Verteilung des Dokuments auf Files, l physische Units heissen im XML-Kontext externe Entities. l Eine Entity wird anhand ihres Namens identifiziert, Entity-Name hat gleichen Aufbau wie Attribut vom Typ NAME. l physische Dokumentstruktur ist i.a. weitgehend orthogonal zur logischen. l Entities: Wichtig zum Verstehen der Standards, die auf XML aufsetzen, z.B. verwendet XLink Parameter Entities. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

42 Interoperable Informationssysteme - 42 Klemens Böhm Externe Entities - Beispiel Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich … This work is a brilliant piece of work … &chapter1; &chapter2; This work is destined to become a classic. … Das ganze Leben ist ein Quiz, und wir sind nur die Kandidaten… http ://www.boehm-ag.com/ chapters/chap1.xml

43 Interoperable Informationssysteme - 43 Klemens Böhm Physische Partitionierung von Dokumenten - Motivation l Grösse des Files, l organisationelle Aspekte, l Nicht-XML Resourcen, z.B. Binaries, l Wiederverwertung von DTD-Fragmenten. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

44 Interoperable Informationssysteme - 44 Klemens Böhm Entities - Klassifizierung Internal Entities vs. External Entities, Beispiel für Internal Entity:... &hallo; l Parsed Entities vs. Unparsed Entities, l General Entities vs. Parameter Entities. Dimensionen sind z.T. orthogonal zueinander. Z.B. kann External Entity entweder Parsed Entity oder Unparsed Entity sein. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

45 Interoperable Informationssysteme - 45 Klemens Böhm Internal Entities vs. External Entities l External Entities - physische Units im XML-Kontext; Document Entity - 'Wurzel-Entity, Hub-Dokument Einstiegspunkt für XML Processing l Internal Entities - kein separates physisches Objekt, Deklaration der Entity enthält ihren Inhalt; Motivation: u Übersichtlichkeit, u weniger Code, Wiederverwertbarkeit, u weniger Elemente (wird weiter hinten illustriert). Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

46 Interoperable Informationssysteme - 46 Klemens Böhm Externe Entities - Differenzierung Differenzierung zwischen Parsed und Unparsed Entities: l Parsed Entity - Entity-Referenz wird aufgelöst, Entity-Inhalt ist Teil des Dokuments, l Unparsed Entity - muss kein XML enthalten. (Weitere Erläuterungen folgen.) Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

47 Interoperable Informationssysteme - 47 Klemens Böhm Entity Deklarationen - Beispiele Deklaration einer internen Entity: l Deklaration externer Entities: Parsed Entity: Unparsed Entity: SYSTEM-Identifier identifiziert Position relativ zur Entity-Deklaration. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich Unterschied: Interne Entity enthält Text, aber keinen SYSTEM-Identifier.

48 Interoperable Informationssysteme - 48 Klemens Böhm General Entities vs. Parameter Entities l General Entity - Verwendung im Dokumentinhalt, l Parameter Entities - Parsed Entity zur Verwendung in der DTD. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

49 Interoperable Informationssysteme - 49 Klemens Böhm Beispiele Character-Referenzen und Entity-Referenzen: Type less-than (<) to save options. This document was prepared on &docdate; and is classified &security-level;. l Parameter-Entity Referenz: %ISOLat2; Unterschiedliche Syntax Character-Referenzen und Entity-Referenzen sowie Parameter-Entity Referenz Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

50 Interoperable Informationssysteme - 50 Klemens Böhm Parameter-Entitäten l Verwendbar nur innerhalb der DTD, l Namensraum unterscheidet sich von dem normaler Entitäten, l Ziele: u Modularisierung von DTDs, u weniger Elemente. %firmenweit; Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

51 Interoperable Informationssysteme - 51 Klemens Böhm Konditionale Abschnitte l Teile einer DTD können ein- und ausgeblendet werden l Üblicher Mechanismus hierfür: Parameter- Entitäten. ]]> ]]> Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

52 Interoperable Informationssysteme - 52 Klemens Böhm Well-Formedness (Fortsetzung) l Zu einem Dokument muss keine DTD gehören. l Dokument 'ohne DTD muss bestimmte Bedingungen erfüllen, insbesondere muss die Struktur eindeutig sein: Dok. sollte 'Standalone Document Declaration (SDD) enthalten: u Dokument hat genau eine Wurzel, u Tag Omission ist nicht erlaubt, kein überlappender Markup, alle Attributwerte in Anführungszeichen, Attributwerte per Default vom Typ CDATA, u leere Elemente müssen als solche erkennbar sein, u kein isolierter Markup, z.B. '< anstatt '<'. l Entitäten, d.h. die externen Files, müssen wohlgeformt sein. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

53 Interoperable Informationssysteme - 53 Klemens Böhm Notations l Notationen - Mechanismus, um mit einem Namen u das Format von Unparsed Entities, u das Format von Elementen mit einem Notation-Attribut oder u die Anwendung, auf die sich eine Processing Instruction bezieht, zu identifizieren. l Beispiel für Element mit Notation-Attribut: Element, dessen Inhalt PostScript oder VRML ist. Genaueres später. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

54 Interoperable Informationssysteme - 54 Klemens Böhm Notations l Notationen können die Semantik von nicht-analysierten Entitäten, Arbeitsanweisungen und Attributen festlegen, Beispiel: l Anwendungen: Multimedia-Elemente, Typsysteme. l Zu jeder Unparsed Entity gehört eine Notation, identifiziert durch einen Namen. l Ein XML Processor muss einer Anwendung die Identifier der Entity und den Notationsnamen verfügbar machen. l Der Notation Identifier wird der Anwendung mit der Notation Declaration verfügbar gemacht. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich Notation Identifier

55 Interoperable Informationssysteme - 55 Klemens Böhm Attribute: Typen (3/5) l ENTITY, ENTITIES u Verwendung: Pointer auf Daten eines speziellen (Medien-)Typs ausserhalb der aktuellen Entity u Attributwert muss Name einer in der DTD deklarierten Unparsed Entity sein. u Parser versucht nicht, Entity aufzulösen. Beispiel: Element- typname Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich Attribut- name

56 Interoperable Informationssysteme - 56 Klemens Böhm Attribute: Typen (4/5) l NOTATION u Attribut dieses Typs ist nur sinnvoll für Elemente mit 'speziellem' Inhalt, u Attributwert muss Name einer deklarierten Notation sein. u Verwendung: Typisierte Attribute, Multimedia-Attribute, Beispiel: gsave moveto lineto showpage grestore Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

57 Interoperable Informationssysteme - 57 Klemens Böhm Attribute: Typen (5/5) Was ist also der Unterschied in der Verwendung von Attributen vom Typ ENTITY und vom Typ NOTATION? Spezieller Content ausserhalb bzw. innerhalb aktueller Entity. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

58 Interoperable Informationssysteme - 58 Klemens Böhm Namespaces l Motivation: u Element- und Attributnamen ("Markup Vocabulary) mit allgemeiner Gültigkeit, Beispiel: Library of Congress Subject Headings (LCSH) u Anwendung basiert auf allgemeiner Interpretation dieser Namen, u ein XML-Dokument soll Markup Vocabulary aus mehreren 'Dictionaries enthalten können. (Erinnerung: XML-Dokument muss keine DTD haben.) l Namespaces zur Vermeidung von Namenskonflikten. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

59 Interoperable Informationssysteme - 59 Klemens Böhm Beispiel für die Verwendung von Namespaces (2/2) Baby food Namespace Prefix stellt Verbindung zum Namespace her. Namespace Qualified Name Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

60 Interoperable Informationssysteme - 60 Klemens Böhm Namespaces - Erläuterung l XML Namespace ist im wesentlichen eine Menge von Namen. u Genauer: keine Menge – globale und lokale Variablen. u Lokale Variablen: unterschiedliche Namespaces für Attributnamen unterschiedlicher Elementtypen Beispiel: TITLE - Section, TITLE – Author Attribut besteht aus Namespace-Präfix und lokalem Teil. l URI identifiziert Namespace. l Namespace-Definition muss kein Schema in einer formalen Sprache sein. l Es kann sinnvoll sein, dass ET-Name aus Namespace, Attributname jedoch nicht. price - brutto oder netto, keine weiteren Aspekte. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

61 Interoperable Informationssysteme - 61 Klemens Böhm Namensräume Bestellung L:Buch B:DatumB:SignaturB:Betrag B:Überweisung 49,0080X F915 L:TitelL:ISBN B:Sorte="DM" L:Autor Gibson, William Neuro- mancer Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

62 Interoperable Informationssysteme - 62 Klemens Böhm Namespaces – Erläuterung (2) l Namespace Defaulting - Default Namespace gibt für alle Elemente ohne Präfix im Teilbaum und für Element, das Namespace Deklaration enthält, l Scoping - Namespace Definition kann überschrieben werden in 'innerem' Element. Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

63 Interoperable Informationssysteme - 63 Klemens Böhm XML-Dokument mit Namespace zacx corp ZCXM zaffymat inc ZFFX Einleitung Konzepte - Unicode - Basics - XML Proc. - Elemente - Attribute - PIs - Entities - Notations - Name- spaces - XML- Schema Vergleich

64 Interoperable Informationssysteme - 64 Klemens Böhm Mängel von XML-DTDs/ neue Anforderungen an XML-Schema l Keine Erweiterbarkeit – wünschenswert: u Erweiterbarkeit des Inhaltsmodells, u Einschränkung des Inhaltsmodells. l Möglichkeit der Validierung: u Datentypen und Wertebereiche, u Integritätsbedingungen, u getypte Links, l Modularität, die über die von DTDs hinausgeht: Scoping. Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

65 Interoperable Informationssysteme - 65 Klemens Böhm XML-Schema l Idee: Schema ist XML-Dokument. l Vergleichbar mit Data Dictionary - Relationen zur Verwaltung der Schemainformation. l Aktueller Status (März 2001): W3C Proposed Recommendation. Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

66 Interoperable Informationssysteme - 66 Klemens Böhm Inhaltsmodell mit XML-Schema Beispiel: l Erläuterungen: u Typdefinition und Elementdeklaration getrennt. u Lokale Typen (lokale Typen mit gleichem Namen anderswo möglich) u (Sinnvolle) Beispiele für leere Elemente. Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

67 Interoperable Informationssysteme - 67 Klemens Böhm Typdefinition und Elementdeklaration Beispiel:... Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

68 Interoperable Informationssysteme - 68 Klemens Böhm Typdefinition und Elementdeklaration (2) l Erläuterungen: u Globale Elementtypen. u Occurrence-Anzahl für comment l Wie ist purchaseOrder -Element aufgebaut? Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

69 Interoperable Informationssysteme - 69 Klemens Böhm Komplexes Inhaltsmodell Beispiel: l Erläuterungen: u Default: Genau ein Vorkommen, u Implizite Typdefinition. Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

70 Interoperable Informationssysteme - 70 Klemens Böhm Definition abgeleiteter einfacher Typen Beispiele: l Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

71 Interoperable Informationssysteme - 71 Klemens Böhm Liste und Union l Typ Liste u Folge von Instanzen einfacher Typen. Beispiel: Union Beispiel: Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

72 Interoperable Informationssysteme - 72 Klemens Böhm Inhaltsmodelle l In etwa gleiche Konnektoren wie in DTD, andere Syntax. l Konnektoren: u Sequence, u Choice, u All (hat Pendant in SGML, nicht aber XML-DTDs) Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

73 Interoperable Informationssysteme - 73 Klemens Böhm Namespaces l Schema: Menge von Typdefinitionen und Elementdeklarationen. l Target Namespace eines Schemas – Menge der dort eingeführten Namen. (Legt aber immer noch nicht die Bedeutung fest.) l Ziel: Dokument soll zu mehreren Schemata konform sein können. (Bisher noch keine Mechanismen für Beziehung Dokument – Schema.) Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

74 Interoperable Informationssysteme - 74 Klemens Böhm Inhaltsmodelle Beispiel:... Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

75 Interoperable Informationssysteme - 75 Klemens Böhm Inhaltsmodelle (Fortsetzung)... Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

76 Interoperable Informationssysteme - 76 Klemens Böhm Inhaltsmodelle (3) l Erläuterungen: u Man muss explizit angeben, auf welchen Namespace man sich bezieht. Attributwert unqualified : Namespace der lokalen Elemente/Attribute muss explizit angegeben werden. unqualified : Default-Wert. Beispiel für Dokument: Alice Smith 12 Maple Street Hurry up!... Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

77 Interoperable Informationssysteme - 77 Klemens Böhm Schema in mehreren Dokumenten – Include Beispiel: l Voraussetzung: Gleicher Target Namespace Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

78 Interoperable Informationssysteme - 78 Klemens Böhm Schema in mehreren Dokumenten – Import Jene Voraussetzung muss nicht gelten – Beispiel: l Nur globale Schemakomponenten können importiert werden. Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

79 Interoperable Informationssysteme - 79 Klemens Böhm Abgeleitete Typen (1) l Erweiterung des Inhaltsmodells – Schema-Ausschnitt – Beispiel: Erläuterung: postcode wird angehängt, Attribut exportCode kommt neu hinzu. Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

80 Interoperable Informationssysteme - 80 Klemens Böhm Abgeleitete Typen (2) Erweiterung des Inhaltsmodells – Instanz des neuen Typs – Beispiel: Helen Zoe 47 Eden Street Cambridge CB1 1JR Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

81 Interoperable Informationssysteme - 81 Klemens Böhm Abgeleitete Typen (2) Restriktion des Inhaltsmodells Beispiel: Substitution Groups Beispiel: Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

82 Interoperable Informationssysteme - 82 Klemens Böhm Kontrolle über abgeleitete Typen l Schema-Autor kann (bestimmte oder alle) Ableitungen verbieten. Beispiel: l Bedeutung des Beispiels: Keine Ableitung by restriction. Andere Attributwerte: #all, extension Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

83 Interoperable Informationssysteme - 83 Klemens Böhm Uniqueness l Man will festlegen, dass Werte – innerhalb eines bestimmten Scopes – nur einmal vorkommen. Beispiel: Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

84 Interoperable Informationssysteme - 84 Klemens Böhm Schlüssel und Schlüsselreferenzen l Ziel: Getypte Referenzen. Beispiel: Einleitung Konzepte … - Name- spaces - XML- Schema Einleitung Basics Neue simple Typen Komplexe Inhalts- modelle Import & Include Abgel. Typen Unique. und Keys XML-Data Vergleich

85 Interoperable Informationssysteme - 85 Klemens Böhm Zum Vergleich: Logische Dokumentstruktur mit HTML l DIV und SPAN-Elemente sind generische Mechanismen für die Strukturierung von HTML-Dokumenten. l Beispiel: Client information: Last name: Boyera First name: Stephane Tel: (212) Client information: Last name: Lafon First name: Yves Tel: (617) SPAN - content is inline DIV - block level Einleitung Konzepte Vergleich

86 Interoperable Informationssysteme - 86 Klemens Böhm Unterschiede XML - SGML l Zu SGML-Dokument muss es DTD geben, nicht aber XML-Dokument. SGML erlaubt Tag-Omission, XML nicht. l Zusätzliche Konstrukte in SGML, z.B. u &-Konstruktor, u Inclusions und Exclusions. Einleitung Konzepte Vergleich

87 Interoperable Informationssysteme - 87 Klemens Böhm Vergleich XML - OEM l Gleiche Zielsetzung l OEM ist (auf Modellierungsebene) allgemeiner als XML u Mehrere einlaufende Kanten eines Knotens, u Zykel im Graph, OEM-Objekt muss keine Baumstruktur haben. l Unterschiedliche Diktion, insbesondere (XML-)Elemente - (OEM-)Objekte l Vielfalt der XML-Features, z.B. Entities, DTDs, nicht Teil von OEM; OEM ist im Gegensatz zu XML proprietäre Entwicklung/Forschungsarbeit; es gibt keine Produkte. Warum dieser Vergleich? Uebertragbarkeit DataGuides Einleitung Konzepte Vergleich

88 Interoperable Informationssysteme - 88 Klemens Böhm Vergleich XML-OEM OEM- Datenbank z.B. MathML HTML Homepage von Hans Schek Modell Dokumenttyp Dokument- instanz e i +1= 0 n f (n) = k k=1 XML SGML E-R Modell Schema für Material- verwaltung Datenbank, konform zum Schema OEM Einleitung Konzepte Vergleich

89 Interoperable Informationssysteme - 89 Klemens Böhm Abläufe Patient: Hans Schek Patient: Hans Schek Papier HTML XML Patient: Hans Schek Anfrage Bearbeitung HTTP Cut / Paste Drag / Drop HTTP/CGI Papier Anwendungs- oberfläche XML Dokument Ausdrucken Bsp. Krankenakte Einleitung Konzepte Vergleich

90 Interoperable Informationssysteme - 90 Klemens Böhm XML - Perspektive l Weiterentwicklung des Internet: u Neue W3C-Standards setzen auf XML (und RDF) auf, u clientseitige Verarbeitung und Sichten von Webdaten, u Individualisierung durch vielfältige Services, l E-Commerce - handelbare Information, l Datenaustausch - Konvertierung von Datenbank-Inhalten in Dokumente u.u., l Verwaltung von Dokumentkollektionen; Suchmaschinen: u präzisere Anfragen, u bessere Ergebnisqualität, l Publishing - erst im Web, dann mit anderen Medien (oder nur im Web). Einleitung Konzepte Vergleich


Herunterladen ppt "Interoperable Informationssysteme - 1 Klemens Böhm Datenmodell 2: XML ('Extended Markup Language)"

Ähnliche Präsentationen


Google-Anzeigen