XML DTD.

Slides:



Advertisements
Ähnliche Präsentationen
XML-basierte Techniken
Advertisements

Extensible Markup Language
Das Entity-Relationship-Modell
Zeitplan. Zeitplan Inhalt Datenmodellierung Syntax Java / .NET-Einsatz Datenbanken.
1. Einführung. 1. Einführung Inhalt Einführung Vorlagen XPath Kontrollstrukturen Sortierung, Gruppierung und Nummerierung Parameter und Variablen Ein-
Parser generieren Yet Another Compiler – Compiler YACC.
XML - Aufbau und Struktur - mit Einsatz im B2B
Hands On – Einführung in XML
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Grundlagen der Sprache
DOM (Document Object Model)
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
HTML - Eine erste Annäherung
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
XML-basierte Techniken
XML-Parser Manuel Röllinghoff.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
XML Standardisierungen und Abfragesprachen
Einführung XML XML Einführung Andreas Leicht.
Access 2000 Datenbanken.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
DVG Klassen und Objekte
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Was versteht man unter XML Schema?
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
XSLT.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
XML Schema.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: Einziger atomarer Typ: #PCDATA (Parsed Character DATA)
Einsatzgebiete und Anwendungen
Fortsetzung DTDs, UML  XML
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Sesame Florian Mayrhuber
Allgemeines zu Datenbanken
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Oliver Spritzendorfer Thomas Fekete
XML und Datenbanken © 2006 Markus Röder
XML (Extensible Markup Language)
Kurzpräsentation von Herbert Schlechta
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Java-Kurs Übung Besprechung der Hausaufgabe
DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge.
8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
Fortsetzung DTDs, UML  XML
 Präsentation transkript:

XML DTD

Inhalte XML-Technologie Syntax Namensräume XML-Integration in Software Web Services XML-Integration in Datenbanken Elemente und Attribute Entitäten Schlüssel und Verweise Bedingte Abschnitte

XML-Technologie Grundlegende Syntax Architektur Standards Syntax Wohlgeformtheit und Gültigkeit Entitäten CDATA Standard-Attribute Sprache Leeraumbehandlung

XML-Technologie: Grundlegende Syntax <parentElement> <element attribute=“value“>text node</element> <emptyElement attribute=“value“ /> </parentElement>

XML-Technologie: Architektur XML kann aus Software (direkte Datenerfassung über ein Formular oder Erzeugung über Programm-Logik) generiert oder auch aus einer Datenbank extrahiert werden. Diese XML-Daten können dann gegen eine DTD (Document Type Definition) oder ein XML Schema validiert werden. XML-Daten können in einer Zeichenkettenvariable, in einem Objektmodell wie dem standardisierten Document Object Model (DOM) oder in benutzerdefinierten Objekten (typischerweise über XML Schema-Bindung) oder in einer XML-Datei gespeichert werden. Nach dem Validierungsschritt oder unmittelbar nach der Erzeugung, können XML-Daten im Verarbeitungsschritt verwendet werden. Hier kann man XML abfragen oder in andere (Text-) Formate transformieren.

XML-Technologie: Architektur Wichtige W3C-Standards: Extensible Markup Language (XML) 1.1 - http://www.w3.org/TR/xml11 XML Schema Part 1: Structures - http://www.w3.org/TR/xmlschema-1/ XML Path Language - http://www.w3.org/TR/xpath20/ XSL Transformations (XSLT) - http://www.w3.org/TR/xslt20/ XHTML 1.0 - http://www.w3.org/TR/xhtml1/

XML-Technologie: Standards Die Illustration gruppiert verschiedene XML-Standards nach ihrer Primärfunktion wie Modellierung/Validierung oder Umwandlung. Die Standards in Grau sind durch das W3C (World Wide Web Consortium) spezifiziert, während die anderen durch verschiedene Typen von Organisationen vorgeschlagen und betreut werden. W3C Standards sind grau hinterlegt.

Syntax Das Beispiel zeigt verschiedene Knotentypen in einem XML-Dokument und ihre Namen/Funktionen.

Syntax Wohlgeformtheit und Gültigkeit Ein XML Dokument muss wohlgeformt sein und kann im Validierungsschritt auf Gültigkeit für eine DTD oder eine andere Schema-Datei (XML Schema oder RelaxNG) geprüft werden. Wohlgeformtes XML: Ein XML Dokument ist wohlgeformt, wenn es den grundsätzlichen Grammatik-/Syntax-Regeln von XML entspricht. Beispiele: Korrekte Bezeichner, paarweise Verschachtelung von Ebenen, keine doppelten Attribute in einem Element, Attributwerte in Anführungszeichen. Gültiges XML: Ein Dokument ist gültig, wenn es den Einschränkungen einer DTD oder eines XML Schema-Dokuments folgt. Es wird dann eine Instanz dieses Datenmodells genannt.

Syntax Entitäten Die folgenden Zeichen sind in XML verboten und müssen durch Entitäten ersetzt warden: < Kleiner-als-Zeichen (<) > Größer-als-Zeichen (>) & Ampersand (&) &apos; Apostroph (’) " Anführungszeichen (“ “)

Syntax CDATA Ein CDATA-Abschnitt ist Text, in dem eine Auszeichnung (Markup) auftritt, der nicht als solcher verarbeitet und interpretiert werden soll. Er wird dann mit Fluchtzeichen versehen, sodass XML oder XML-ähnliche Daten als Text in einem XML-Dokument gespeichert werden können. <Comment> <![CDATA[<greeting>Hello World!</greeting>]]> </Comment>

Syntax Standard-Attribute Name Beschreibung xml:lang Sprache des Textknotens eines XML-Elements xml:space Leerraumbehandlung durch den Parser id Eindeutiger Schlüssel xmlns und xmlns:präfix Namensraum-Deklaration <Comment id=“2“ xml:lang=“en“ xmlns=“http://example.org“>Hello World! </Comment>

Syntax Standard-Attribute Sprache Das Attribut xml:lang gibt die Sprache des Elementinhalts und der Attributwerte an. Es muss deklariert werden, wenn es genutzt wird. Die Sprachangabe ist gültig für die Kindelemente, solange kein überschreibendes xml:lang-Attribut (leer oder mit Sprachangabe) vorhanden ist. Die Sprachangaben sind bspw. en, en-GB, en-US oder de, fr, es, it, etc.

Syntax Standard-Attribute Leeraumbehandlung Das Attribut xml:space kontrolliert die Leerraumbehandlung. Es muss deklariert werden, wenn es genutzt wird. Die erlaubten Werte sind default (die Standard-Leerraumbehandlung der Anwendung soll genutzt werden – typischerweise Entfernung von Leerraum) oder preserve (Überschreibung des Standardverhaltens, sodass Leerraum beibehalten wird).

Namensräume Namensraumdeklaration mit dem xmlns-Attribut mit den folgenden Eigenschaften: URI-Angabe, die innerhalb der Anwendung einzigartig ist, typischerweise Web-Adressen, die aber nicht existieren müssen. Optionaler Präfix, der im qualifizierten Namen als Referenz auf den Namensraum verwendet wird.

Namensräume

Namensräume

Namensräume

XML-Integration in Software XML kann in Software als Input/Output-Format von gelesenen oder geschriebenen Daten genutzt werden. Komplexe Konfigurationsdaten oder semantisch angereicherte Datenmodelle stellen fortgeschrittene Szenarien dar.

XML-Integration in Software: Standards und Technologien Die Illustration gruppiert Standards nach ihrem allgemeinen Typ und zeigt die Beziehungen untereinander an. Die W3C Standards können fast überall in Software-Technologien verwendet werden, wobei jede Programmiersprache eine eigene Funktions-/Klassen-Bibliothek für die Verarbeitung von XML hat. Quasi-Standards wie SAX und Technologien wie streamorientierten XML-Zugriff oder XML Schema/Klassen-Bindung sind in einigen, aber nicht allen Sprachen verfügbar.

XML-Integration in Software: XML Schema-Bindung Java (JAXB: Java Architecture for XML Binding) und .NET (XML Schema Definition Language Elements Binding Support) bieten einen Mechanismus für die direkte Bindung von XML Schema an Klassen und umgekehrt. Dies erlaubt es, die Unterschiede zwischen XML und einer Objektstruktur zu vernachlässigen und bietet somit eine vereinfachte Integration von XML und eine De-/Serialisierung (un-/marshalling) von Objekten und XML. Durch die Anwendung dieser Techniken wird XML nicht mehr als reines Dokument genutzt.

XML-Integration in Software: XML Schema-Bindung

XML-Integration in Software: XML Schema-Bindung

Web Services Web Services sind eine Möglichkeit, Anwendungen zu integrieren, die auf verschiedenen Servern bereit gestellt oder in verschiedenen Programmiersprachen entwickelt wurden. So baut man eine Service-Orientierte Architektur (SOA). Typische Web Services tauschen anwendungs-/servicebezogene XML-Nachrichten aus, die als XML SOAP-Nachricht verpackt und durch XML Schema beschrieben sind. Der Service selbst wird durch WSDL (Web Services Description Language) beschrieben, wobei dieses Dokument entweder automatisch generiert oder tatsächlich bei der Anwendungsentwicklung manuell erstellt wird. Neben dieser typischen und idealisierten Architektur gibt es viele verschiedene Varianten.

Web Services

Web Services Die XML-Nachrichten können direkt durch die entwickelte Software erzeugt oder automatisch durch ein Web Services-Framework bspw. aus einer Objektstruktur generiert werden. Diese greifen auf Klassendefinitionen oder XML Schema zurück, die dann Quelltext generieren, der bei Verwendung die Tatsache verbirgt, dass XML verwendet wird und der auch die XML-Nachrichten aus Objekten erstellt und umgekehrt. Verschiedene Ansätze sind hier vorhanden und hängen von der Plattform und Programmiersprache ab.

XML-Integration in Datenbanken Moderne relationale und objektrelationale Datenbanksysteme bieten XML-spezifische Fähigkeiten für die Speicherung, Abfragen und Manipulation von XML-Daten an.

XML-Integration in Datenbanken: XML-Erstellung und Austausch Import und Export von XML-Daten ist möglich durch: Formulare von Web- oder Desktop-Anwendungen, die direkt die Datenbank über Technologien wie ADO.NET oder JDBC ansprechen, oder die indirekte Techniken wie Web Services anwenden. FTP oder andere Technologien, die gesicherte öffentliche Ordner für Dateispeicherung/-übertragung anbieten, typischerweise in Kombination mit zusätzlicher Übertragungssoftware. DB-Objekte wie Prozeduren/Funktionen oder Abfragen/Sichten, die XML-spezifische oder zumindest als Zeichenkette oder Binärdaten typisierte Parameter besitzen.

XML-Integration in Datenbanken: XML-Erstellung und Austausch

XML-Integration in Datenbanken: Speichertypen Fünf typische Speichermodelle zur Integration von XML in relationale Datenbanken: XML wird gar nicht direkt in der DB gespeichert, sondern nur Referenzen auf XML-Dateien, die dann wieder im Dateisystem liegen. XML-Daten sind vollständig zerlegt und jedes Feld (ein Element mit Textknoten oder ein Attribut) wird einem DB-Feld zugeordnet. Unabhängig von der relationalen Zuordnung können XML-Daten auch objektrelationalen Strukturen wie Objekttypen, die Unter-Felder und Sammlungen/Arrays von Objekten oder primitiv typisierten Feldern enthalten, zugeordnet werden. XML-Daten werden in nicht-zerlegte Form in einem DB-spezifischen XML-Datentyp gespeichert. Zusätzliche Felder (bspw. Schlüssel) können optional in der gleichen Reihe für leichteren relationalen Zugriff gespeichert werden. XML wird in Tabellen gespeichert, die nur aus dem DB-spezifischen XML-Datentyp gebildet werden.

XML-Integration in Datenbanken: Speichertypen

Elemente und Attribute

Elemente: Kardinalität Kindelemente können genau einmal, mindestens einmal oder beliebig oft nacheinander auftreten. Sie können auch optional sein. Symbol Bedeutung Beschreibung + 1..n Element tritt einmal oder beliebig häufig auf. ? 0..1 Element tritt genau einmal oder nie (Element optional) auf . * 0..n Element tritt niemals oder beliebig oft auf. Nichts   Element tritt genau einmal auf.

Elemente: Inhaltsmodelle Ein Inhaltsmodell definiert den Inhalt eines Elements. Es kann andere Elemente und/oder Attribute, Textknoten oder Elemente und Textknoten (genannt „gemischter Inhalt“) enthalten. Ein Element kann leer sein oder beliebigen Inhalt besitzen. Inhalt Beschreibung Ein oder mehrere Elementnamen Das Element enthält die Kindelemente mit einer Kardinalitätsangabe für jedes einzelne Kind. #PCDATA Textknoten ohne genaue Datentyp-Angabe (in DTD keine Datentypen vorhanden). #EMPTY Leeres Element wie <Phone /> #ANY Beliebiger Inhalt

Elemente: Inhaltsmodelle

Attribute: Verwendung und Wert Attribute können optional oder verpflichtend sein. Ihr Wert kann aus beliebigen Zeichenkettendaten bestehen oder auf einige Werte begrenzt sein. Der Wert kann auch fest sein oder einen Standardwert darstellen. Schlüsselwort / Inhalt Beschreibung wert Die Wertangabe legt einen Standardwert fest, der dann gilt, wenn das Attribut fehlt. #IMPLIED Keine explizite Angabe und kein Wert erforderlich. #REQUIRED Keine explizite Angabe, aber ein Wert erforderlich. #FIXED wert Fester Wert, der immer gilt.

Attribute: Verwendung und Wert Datentypen Der Wert eines Attributs kann durch einen Datentyp beschränkt sein. Diese ent-sprechen allerdings nicht den üblichen Datentypen wie Zeichenkette, Zahl usw. Typ Beschreibung CDATA Textinhalt ohne besondere Eigenschaften oder Einschränkungen. ENTITY In der DTD definierte Entität ENTITIES Leerzeichen-getrennte Liste aus Entitäten Werteliste Feste Menge an Tokens (zulässige Werte), die in einem Klammerausdruck definiert werden ID Gültige XML-Bezeichner, die als Schlüssel fungieren (Primärschlüssel) IDREF Schlüssel-Verweis auf einen gültigen XML-Namen/Schlüsselwert, der in einem id-Attribut gespeichert ist (Fremdschlüssel) IDREFS Leerzeichen-getrennte Liste an Schlüsselverweisen (mehrere Fremdschlüssel) NMTOKEN Gültige XML-Bezeichner (kein Leeraum etc.) NMTOKENS Leerzeichen-getrennte Liste, die nur aus NMTOKEN-s besteht NOTATION Notationsverweis z. B. Name einer Bilddatei

Entitäten Interne Entitäten werden in der DTD deklariert und als Textbausteine im XML-Dokument benutzt. Externe Entitäten werden ebenfalls in der DTD definiert, aber ihr Inhalt entstammt einer externen Datei. Sie enthalten die Schlüsselwörter SYSTEM (Referenz in das Dateisystem) oder PUBLIC (öffentliche Referenz) und einen URI. Parameter-Entitäten funktionieren wie interne Entitäten, aber sie werden in der DTD für die Wiederverwendung von Definitionen benutzt.

Entitäten

Schlüssel und Verweise Die DTD bietet verschiedene Datentypen für die Abbildung von Schlüsseln und Verweisen an. Sie gelten nur für Attribute. ID: Schlüsselwert in einem Attribut IDREF: Referenz auf einen existierenden Schlüssel in einem Attribut IDREFS: Liste aus Schlüsseln (Token-Liste) in einem Attribut Einschränkungen Der Wert eines Schlüssels muss den lexikalischen Anforderungen eines unqualifizierten XML-Bezeichners entsprechen. Beispiele: kein Leerraum, keine Zahl als erster Buchstabe. Der Schlüssel muss absolut eindeutig im gesamten Dokument sein. Weder das gleiche noch ein anderes Attribut darf denselben Schlüsselwert besitzen.

Schlüssel und Verweise Ein Schlüssel identifiziert ein Element in einem Dokument, während ein Schlüsselverweis auf einen solchen Schlüssel zeigt. Im Beispiel sind Verweise als Pfeile von der Referenz (IDREF) zum Schlüssel (ID) dargestellt.

Schlüssel und Verweise Eine Liste aus Schlüsselverweisen (IDREFS) enthält Referenzen auf jeden einzelnen Fremdschlüssel der Liste. Die Referenzen in der markierten Liste im Beispiel zeigen auf die beiden Schlüssel im Dokument.

Bedingte Abschnitte Deklarationen in IGNORE-Abschnitten sind von der Verwendung bei der Validierung ausgenommen, während INCLUDE-Abschnitte sehr wohl verwendet werden. In Kombination mit Parameter-Entitäten können so Deklarationen als bedingt angegeben werden, d. h. ein- und ausgeschaltet werden. <![ IGNORE|INCLUDE [ declarations ]]>

Fragen & Antworten