Extensible Markup Language (XML)



Ähnliche Dokumente
XML Grundlagen Teil I

XML, XHTML und MathML

Datenaustauschformate. Datenaustauschformate - FLV

IT-Zertifikat: Daten- und Metadatenstandards

... MathML XHTML RDF

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

2. Einführung in Datenbanken und XML

DTD: Syntax-Zusammenfassung

Übungsaufgaben zu XML:

Strukturierung von Inhalten

HTML5. Wie funktioniert HTML5? Tags: Attribute:

WEBSEITEN ENTWICKELN MIT ASP.NET

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

XML Schema vs. Relax NG

XSL Templates. Mit Templates arbeiten. XSL Templates

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Einführung in die extensible Markup Language

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

Präsentation zum Thema XML Datenaustausch und Integration

Einführung in DocBook

Webseite in XML Kurzeinführung

Adami CRM - Outlook Replikation User Dokumentation

Webseiten sind keine Gemälde. Webstandards für ein besseres Web. Webstandards für ein besseres Web

Multimedia Technologie II

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

Barrierefreie Webseiten erstellen mit TYPO3

Grundbegriffe der Informatik

ASN.1 <-> XML TRANSLATION

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

XML und SOAP Einführung und Grundlagen

XML Informationsmodelle

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

Java und XML 2. Java und XML

Content Management System. «Rainbow Basis» Grundlagen. Einfache Kursverwaltung

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Educase. Release Notes 1.7: Neue Funktionen und Verbesserungen. Base-Net Informatik AG Wassergrabe 14 CH-6210 Sursee

Professionelle Seminare im Bereich MS-Office

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

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

SDD System Design Document

Dokumentation Data Dictionary (SIP)

Pflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright CD Software GmbH Version:

Eine Dokumenttypdefinition lässt sich im Kopfbereich des XML-Dokumentes (interne DTD) oder in einer separaten Datei formulieren (externe DTD).

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

XML Extensible Markup Language

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

VVA Webservice Online Lieferbarkeits-Abfrage

Formale Sprachen und Grammatiken

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Für AX 4.0, den letzten Hotfix rollup einspielen. Der Hotfix wurde das erste Mal im Hotfix rollup eingeschlossen:

Ressourcen-Beschreibung im Semantic Web

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

Online-Publishing mit HTML und CSS für Einsteigerinnen

Professionelle Seminare im Bereich MS-Office

e LEARNING Kurz-Anleitung zum Erstellen eines Wikis 1. Wiki erstellen

Dokumenten- und Content Management

Objektorientierte Programmierung OOP

5. Programmierschnittstellen für XML

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

1 Mathematische Grundlagen

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

Kurzanleitung. Toolbox. T_xls_Import

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Ursprung des Internets und WWW

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Beschreibung UTF-8 Codierung

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Quick Guide Mitglieder

Vorgetragen von. Sanaz Mostowfi Anna Polovets Mandy Neumann

Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange

Containerformat Spezifikation

5. Programmierschnittstellen für XML

Organisation des Qualitätsmanagements

Neues aus dem 52 North WPS Projekt. Benjamin Proß, FOSSGIS,

Predictive Modeling Markup Language. Thomas Morandell

XML-basierte Standards für den Datenaustausch in der Logistikkette

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Content Management System mit INTREXX 2002.

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Grundwissen Informatik 6. Jahrgangsstufe

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

1. XÖV-Anwenderkonferenz. XÖV in der Praxis. Berlin, 11. / 12. November 2009 Bundeshaus. Freie Hansestadt Bremen

Der beste Plan für Office 365 Archivierung.

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Dokumentation Externe Anzeige von Evento Web Dialogen

XQueue Product Sheet - Seiten Editor

Binär Codierte Dezimalzahlen (BCD-Code)

Transkript:

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 Schema Weiterentwicklung von DTDs Zusammenfassung 2 1

Probleme mit HTML HTML als Standard des prä-xml Web HTML ist präsentationsorientiert erste Probleme schon seit Beginn des Browser War trotz Verbesserungen (CSS) bleibt der Grundansatz HTML basiert auf reiner Präsentationssemantik gewünscht: Wiederverwendbarkeit von Inhalten HTML als enformat ungeeignet HTML nur eine mögliche Form der Präsentation Content Mangement wird immer wichtiger fehlende Freiheit, eigene Strukturen zu verwenden fehlende Flexibilität, auf Neues zu reagieren (WML) 3 XML und HTML sieht so ungefähr aus wie HTML gleiche Grundlage (SGML) proven success (SGML und HTML sind Erfolge) geringere Hemmschwelle für Umsteiger funktioniert ähnlich wie HTML gleiche Strukturierungsverfahren (Grammatiken) rein textorientiertes Format (keine Binärdaten!) andere Zielgruppe als HTML weiterverarbeitbare Information (B2B) anwendungsabhängige Datenstrukturen etabliertes Umfeld (EDI, SGML, proprietär) 4 2

SGML Parser SGML Declaration DTD SGML Parser 5 HTML Parser SGML Declaration DTD HTML Parser 6 3

Extensible Markup Language (XML) benutzerdefinierbare typen überwindet Einschränkungen von HTML beliebige typen neues Problem: Semantik von Elementen begleitende Mechanismen werden notwendig überwindet Komplexität von SGML fest definierte konkrete Syntax (SGML Declaration) keine Markup Minimization (immer volles Markup) reduzierte Zahl an erlaubten Attributtypen Ziele sind Einfachheit und Flexibilität 7 XML Parser DTD SGML Declaration XML Parser 8 4

Vergleich SGML/XML/HTML SGML XML HTML SGML Declaration frei fix fix DTD frei frei fix frei frei frei 9 Publishing mit XML XML Browser eigener typ XML typ eigenes XML 10 5

Publishing mit XML (Client-Side) XML/XSL Browser XML typ eigener typ eigenes XSL Style Sheet XML 11 Publishing mit XML (Server-Side) HTML Browser XML typ eigener typ eigenes XSL Style Sheet XML 12 6

XML (Server-Side) als B2B-Lösung Austausch- typ eigener typ XSL Transformationen typ beim Partner eigenes Austausch- beim Partner 13 XML unabhängig vom WWW XML is the silver bullet of electronic commerce XML als Datenformat in B2B-Anwendungen Anforderungen sind eher bescheiden (funktional) Problem der Einigung auf Standards (EDI, ASN.1) was ist neu an XML in B2B Szenarien? Erweiterbarkeit und Robustheit geringe Barrier to entry (Kosten, Komplexität) breite Akzeptanz in verschiedensten Bereichen 14 7

Beispiel (XML) <?xml version="1.0"?> <!DOCTYPE kurs SYSTEM "kurs.dtd"> <kurs> <titel kurz="xml">xml - Grundlagen und Umfeld</titel> <referent email="xml@dret.net" homepage="http://dret.net/"> <vorname>erik</vorname> <name>wilde</name> <organisation homepage="http://www.tik.ee.ethz.ch/">eth Zürich</organisation> </referent> <referent>... </referent> <termin date="20000512" location="technopark"/> <inhalt>... </inhalt> </kurs> 15 Markup Markup ist die physische Form eines s Markup ist immer menschenlesbar XML Text = Character Data + Markup Markup wird durch spezielle Zeichen markiert Tags sind in < und > eingeschlossen (<titel>) Entities sind in & und ; eingeschlossen (ü) XML benutzt immer die gleichen Zeichen wichtiger Unterschied zu SGML (SGML Declaration) ermöglicht einfachere Implementierungen Markup-Analyse ist eine Standardaufgabe eingebaut in Software (z.b. MSXML in IE) 16 8

Baumstruktur von XML kurs inhalt titel termin referent referent vorname name organisation name vorname organisation 17 Elemente Elemente sind der grundlegende Mechanismus Strukturierung von hierarchischen Daten "beliebige" Namensgebung für Elemente Definition gemäss inhaltlichen Strukturen Kernpunkt des DTD-Designs Elementtypen haben zwei wichtige Aspekte ein content model für erlaubten Inhalt Attribute (optionales Vorkommen oder notwendig) DTD deklariert Typ, den verwendet DTD: <!ELEMENT titel (#PCDATA) > : <titel>xml - Grundlagen und Umfeld</titel> 18 9

Regeln für Elementdeklarationen der Inhalt von Elementen kann sein nur Elemente (element content model) Text gemischt mit Elementen (mixed content model) kein Inhalt erlaubt (EMPTY Keyword) das content model eines Elements optionales Vorkommen mit?, wiederholbar mit * notwendig und wiederholbar mit + Sequenz mit, Alternativen (Exklusiv-oder) mit nicht erlaubt sind folgende SGML Konstrukte vertauschbare Vorkommen mit & und Exceptions 19 Regeln für Elemente jedes XML- hat genau eine Wurzel document element jedes Element hat ein Eltern-Element das document element hat kein parent element direkt untergeordnete Elemente sind Kinder falls keine Kinder: Blätter (leave element) untergeordnete Elemente sind Nachkommen descendant (Kinder und Kindeskinder usw.) übergeordnete Elemente sind Vorfahren ancestor (Eltern und Grosseltern usw.) 20 10

Attribute Attribute sind Informationen zu Elementen Attribute geben Zusatzinformationen Entscheidung Attribut/Element nicht immer klar optional (#IMPLIED) oder notwendig (#REQUIRED) Attribute können verschiedene Typen haben ein Konzept, das für Elemente nicht existiert deutliche Einschränkungen (siehe HTML DTD) DTD: <!ATTLIST titel kurz CDATA #REQUIRED > : <titel kurz="xml">xml - Grundlagen... 21 Regeln für Attributdeklarationen erlaubt sind mehrere Attributtypen in einer Attributliste mehrere Attributlisten für ein Element bei Namenskonflikten zählt das erste Vorkommen gleiche Attributnamen für verschiedene Elemente nicht erlaubt sind eine Attributliste für mehrere Elemente (erlaubt in SGML!) erlaubte Typen sind String types (beliebiger String als Wert) Tokenized types (XML Namen verschiedener Art) insbesondere ID/IDREF(S) als Referenzierungsmechanismus Enumerated types (Auswahl aus definierter Liste) 22 11

Regeln für Attribute ein Attribut ist immer ein Name/Value-Paar Attributnamen müssen also angegeben werden in SGML/HTML dürfen sie u.u. weggelassen werden Attributwerte müssen in Quotes gesetzt werden Attribute können weggelassen werden vom Parser ersetzt falls auf #IMPLIED gesetzt nicht erlaubt falls auf #REQUIRED gesetzt Attribute werden immer im Start-Tag verwendet konzeptionell Information am Element-Knoten 23 Document Type Definition (DTD) Beschreibung der Datenstrukturen in einem Schema Schema beschreibt eine Klasse von en SGML/XML DTD ist nur eine mögliche Variante XML Schema als Weiterentwicklung (später mehr dazu...) Beschreibung von Datenblöcken Elemente als Strukturmittel Attribute als Daten zu Elementen Beschreibung der erlaubten Kombinationen Definition einer Grammatik Verwendung für die Validierung von Daten Verwendung für die Generierung von Daten Schema Modellierung als Kern von XML 24 12

Beispiel (Verweis auf DTD) <?xml version="1.0"?> <!DOCTYPE kurs SYSTEM "kurs.dtd"> <kurs> <titel kurz="xml">xml - Grundlagen und Umfeld</titel> <referent email="xml@dret.net" homepage="http://dret.net/"> <vorname>erik</vorname> <name>wilde</name> 25 Beispiel (Teil einer DTD) <!ELEMENT kurs (titel, referent+, termin+, inhalt) > <!ELEMENT titel (#PCDATA) > <!ATTLIST titel kurz CDATA #REQUIRED > <!ELEMENT referent (vorname, name, organisation?) > <!ATTLIST referent email CDATA #IMPLIED homepage CDATA #IMPLIED > <!ELEMENT vorname (#PCDATA) > <!ELEMENT name (#PCDATA) > <!ELEMENT organisation (#PCDATA) > <!ATTLIST organisation homepage CDATA #IMPLIED > 26 13

Entities das grundlegende Konstrukt zur Strukturierung jedes Stück XML Text ist ein Entity Entities werden deklariert (wie Elemente/Attribute) Benutzung in XML über spezielle Konstrukte benutzt durch eine entity reference (&entity;) XML Prozessor fügt den replacement text ein verschiedene Entity-Typen Parameter (nur in DTDs verwendet) Internal General ( Text-Makros in en) External Parsed General (externe XML Ressourcen) Unparsed (externe nicht-xml Ressourcen) vordefinierte Entities für Markup-Zeichen 27 Well-formed und valid XML XML unterscheidet zwischen zwei Levels well-formed gehorchen dem XML-Standard valid sind well-formed und gehorchen einer DTD well-formed e falls keine DTD vorhanden (nicht immer nötig!) falls DTD nicht verfügbar falls keine Weiterverarbeitung notwendig valid e Validierung anhand einer DTD notwendig zur Weiterverarbeitung im B2B Umfeld wohl ausnahmslos valid XML 28 14

XML Parser (Validierung) DTD SGML Declaration XML Parser 29 XML Parser (Well-formedness) SGML Declaration XML Parser 30 15

"Character Sets" der Begriff sollte vermieden werden! besser definierte Begriffe sind Character Repertoire (Menge an Zeichen) Character Code (Definition von Code Points) Character Encoding (Codierung für Code Points) 7-bit ASCII (ISO 646) definiert alles zusammen ISO 8859 ist ASCII auf 8-bit erweitert Varianten für verschiedene Erweiterungen Unicode trennt die verschiedenen Schritte ISO 10646 und Unicode sind harmonisiert Unicode definiert verschiedene Encodings 31 XML und Zeichensätze allgemeines Problem in der Informatik im W3C bearbeitet im Bereich "I18N" verbreitete Standards sind ASCII und ISO 8859-1 Benachteiligung vieler anderer Sprachen XML ist ein zeichenbasiertes Format Problem bekannt von HTML (Umlaute) XML verwendet Unicode als Default Unicode ist legt eine Menge von Zeichen fest Zeichen identifiziert über Code Points ein spezifisches Encoding legt die binäre Form fest meistens UTF-8 (jedes ASCII- ist UTF-8!) 32 16

XML: Daten oder e? e sind zwar Daten, aber Daten nicht unbedingt e... XMLstammtvonSGMLab SGML kommt aus dem Bereich der e XML wird zunehmend für Daten eingesetzt XML ist stark in einigen Bereichen semi-strukturierte Daten (e...) XML ist schwach in anderen Bereichen Typ- und Vererbungskonzepte für Elemente Datentypkonzepte überhaupt (kaum Datentypen) 33 Schema-Sprachen für XML DTDs sind der traditionelle Weg definiert im SGML- und im XML-Standard momentan der einzige etablierte Standard für Schemas DTDs haben einige Nachteile die Syntax ist nicht XML-ensyntax die Strukturierungsmechanismen sind einfach (insbesondere ist keine Vererbung möglich) sie kennen keine Datentypen (schlecht für B2B Szenarien) weitergehende Ansätze verwenden meistens XML-Syntax bieten weitergehende Modellierungsmethoden unterstützen Datentypen 34 17

Die Schema Begriffsverwirrung... eine Schema beschreibt eine enklasse Beschreibung von Element- und Attributtypen Beschreibung ihrer erlaubten Verwendung Kombinationsmöglichkeiten erlaubte Datentypen in den Instanzen DTDs sind eine mögliche Schema-Sprache speziell, weil im XML-Standard selbst definiert XML Schema vom W3C definiert extrem unglückliche Namensgebung keine relevanten anderen Dialekte 35 W3C XML Schema zweigeteilter Standard ein Standard für die Strukturierung ein Standard für die Datentypen DTDs decken nur den ersten Teil ab Implementierungen vorhanden Microsofts XML-Data ist ein proprietärer Ansatz Document Content Description (DCD) momentaner Status Working Draft (02/00) 36 18

XML Schema Part 1: Structures Reformulierung der DTD-Mechanismen in XML Elemente zur Elementbeschreibung Elemente zur Elementdefinition (+ Content Model) Elemente zur Attributdefinition Tools zur Konvertierung von DTDs nach Schema zu wenig Infos (Schema ist mächtiger als DTD) Rückrichtung möglich, aber nur mit Verlusten Modellierung immer mit Blick auf Schema DTD als Zwischenlösung, Schema als Grundlage Tools unterstützen manchmal nur DTDs Frage: Validierung gemäss DTD oder Schema? 37 XML Schema Part 2: Datatypes definiert ein Typensystem für XML Schema einige Grundtypen (Zahlen, Strings, Datum, ) benutzerdefinierte Typen Datentypen werden charakterisiert Einschränkungen auf Wertebereiche Einschränkungen auf lexikalische Werte Verwendung von Regular Expressions Implementierungen bisher keine! grosser Aufwand (recht komplexer Standard) grosser Nutzen (hohe Qualität der e) Standard verfolgen und als Ziel sehen 38 19

Valid und schema-valid XML XML unterscheidet zwischen zwei "Levels" well-formed gehorchen dem XML-Standard valid sind well-formed und gehorchen einer DTD well-formed und valid Konzepte sind direkt im XML Standard definiert können mit DTD und verifiziert werden schema-valid e müssen gemäss eines XML Schema validiert werden gibt es nur mit XML Schema Applikationen haben mehr Randbedingungen als valid e sollten kontrolliert importiert/exportiert werden 39 XML Schema Parser XML Schema SGML Declaration XML Schema Parser 40 20

Was XML alles nicht kann... XML ist ein textorientiertes Format keine beliebigen Datentypen keine effiziente Speicherung von Datentypen Einbindung von BLOBs über Referenzen XML ist kein kompaktes Format Speicherung alles andere als effizient selbstbeschreibende Daten als Hauptziel XML bietet keine Datenaustauschformate Einigung auf gemeinsame Formate notwendig auch XML-Anwendungen können inkompatibel sein XML braucht eine passende Umgebung 41 Zusammenfassung XML als Syntax für strukturierte Daten Grammatik wird in DTD beschrieben hierarchische Organisation der Daten Strukturierung in Elemente/Attribute Unterscheidung well-formed/valid XML e XML Schema als neue "DTD" wesentlich besser für B2B geeignet als DTDs mittelfristig Ablösung der DTDs 42 21