Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML DTD. XML-Technologie Syntax Namensräume XML-Integration in Software Web Services XML-Integration in Datenbanken Elemente und Attribute Entitäten Schlüssel.

Ähnliche Präsentationen


Präsentation zum Thema: "XML DTD. XML-Technologie Syntax Namensräume XML-Integration in Software Web Services XML-Integration in Datenbanken Elemente und Attribute Entitäten Schlüssel."—  Präsentation transkript:

1 XML DTD

2 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 Inhalte

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

4 XML-Technologie: XML-Technologie: Grundlegende Syntax text node

5 XML-Technologie: 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: 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: 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 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 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 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. Hello World! ]]>

12 Syntax Syntax Standard-Attribute NameBeschreibung xml:langSprache des Textknotens eines XML-Elements xml:spaceLeerraumbehandlung durch den Parser idEindeutiger Schlüssel xmlns und xmlns:präfixNamensraum-Deklaration Hello World!

13 Syntax 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 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: 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-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-Integration in Software: XML Schema-Bindung

23

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 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-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-Integration in Datenbanken: XML-Erstellung und Austausch

30 XML-Integration in Datenbanken: XML-Integration in Datenbanken: Speichertypen Fünf typische Speichermodelle zur Integration von XML in relationale Datenbanken: 1.XML wird gar nicht direkt in der DB gespeichert, sondern nur Referenzen auf XML-Dateien, die dann wieder im Dateisystem liegen. 2.XML-Daten sind vollständig zerlegt und jedes Feld (ein Element mit Textknoten oder ein Attribut) wird einem DB-Feld zugeordnet. 3.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. 4.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. 5.XML wird in Tabellen gespeichert, die nur aus dem DB-spezifischen XML- Datentyp gebildet werden.

31 XML-Integration in Datenbanken: XML-Integration in Datenbanken: Speichertypen

32 Elemente und Attribute

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

34 Elemente: 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. InhaltBeschreibung 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 #ANY Beliebiger Inhalt

35 Elemente: Elemente: Inhaltsmodelle

36 Attribute: 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 wertDie Wertangabe legt einen Standardwert fest, der dann gilt, wenn das Attribut fehlt. #IMPLIEDKeine explizite Angabe und kein Wert erforderlich. #REQUIREDKeine explizite Angabe, aber ein Wert erforderlich. #FIXED wertFester Wert, der immer gilt.

37 Attribute: 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. TypBeschreibung CDATATextinhalt ohne besondere Eigenschaften oder Einschränkungen. ENTITYIn der DTD definierte Entität ENTITIESLeerzeichen-getrennte Liste aus Entitäten WertelisteFeste Menge an Tokens (zulässige Werte), die in einem Klammerausdruck definiert werden IDGültige XML-Bezeichner, die als Schlüssel fungieren (Primärschlüssel) IDREFSchlüssel-Verweis auf einen gültigen XML-Namen/Schlüsselwert, der in einem id-Attribut gespeichert ist (Fremdschlüssel) IDREFSLeerzeichen-getrennte Liste an Schlüsselverweisen (mehrere Fremdschlüssel) NMTOKENGültige XML-Bezeichner (kein Leeraum etc.) NMTOKENSLeerzeichen-getrennte Liste, die nur aus NMTOKEN-s besteht NOTATIONNotationsverweis 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.

44 Fragen & Antworten


Herunterladen ppt "XML DTD. XML-Technologie Syntax Namensräume XML-Integration in Software Web Services XML-Integration in Datenbanken Elemente und Attribute Entitäten Schlüssel."

Ähnliche Präsentationen


Google-Anzeigen