Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML DTD.

Ähnliche Präsentationen


Präsentation zum Thema: "XML DTD."—  Präsentation transkript:

1 XML DTD

2 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

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

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

5 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.

6 XML-Technologie: Architektur
Wichtige W3C-Standards: Extensible Markup Language (XML) XML Schema Part 1: Structures - XML Path Language - XSL Transformations (XSLT) - XHTML

7 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.

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

9 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.

10 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 (&) ' Apostroph (’) " Anführungszeichen (“ “)

11 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>

12 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>

13 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.

14 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).

15 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.

16 Namensräume

17 Namensräume

18 Namensräume

19 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.

20 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.

21 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.

22 XML-Integration in Software: XML Schema-Bindung

23 XML-Integration in Software: XML Schema-Bindung

24 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.

25 Web Services

26 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.

27 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.

28 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.

29 XML-Integration in Datenbanken: XML-Erstellung und Austausch

30 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.

31 XML-Integration in Datenbanken: Speichertypen

32 Elemente und Attribute

33 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.

34 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

35 Elemente: Inhaltsmodelle

36 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.

37 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

38 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.

39 Entitäten

40 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.

41 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.

42 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.

43 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 ]]>

44 Fragen & Antworten


Herunterladen ppt "XML DTD."

Ähnliche Präsentationen


Google-Anzeigen