XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language)



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

... MathML XHTML RDF

XML Schema vs. Relax NG

Datenaustauschformate. Datenaustauschformate - FLV

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

XML Grundlagen Teil I

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

XSL Templates. Mit Templates arbeiten. XSL Templates

2. Einführung in Datenbanken und XML

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

Übungsaufgaben zu XML:

IT-Zertifikat: Daten- und Metadatenstandards

Java und XML 2. Java und XML

WEBSEITEN ENTWICKELN MIT ASP.NET

HTML5. Wie funktioniert HTML5? Tags: Attribute:

XML und SOAP Einführung und Grundlagen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Ressourcen-Beschreibung im Semantic Web

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren

Multimedia Technologie II

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Grundbegriffe der Informatik

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

Online-Publishing mit HTML und CSS für Einsteigerinnen

Die Excel Schnittstelle - Pro Pack

DTD: Syntax-Zusammenfassung

Standard-Kontaktformular

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

proles-login. Inhalt [Dokument: L / v1.0 vom ]

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Webdesign-Multimedia HTML und CSS

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

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Webseite in XML Kurzeinführung

, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Containerformat Spezifikation

Lizenzierung von StarMoney 10 bzw. StarMoney Business 7 durchführen

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

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Containerformat Spezifikation

Mathematische Grundlagen der Informatik 2

Programmiersprachen und Übersetzer

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

Anmerkungen zur Übergangsprüfung

Einfügen von Bildern innerhalb eines Beitrages

Lizenz Verwaltung. Adami Vista CRM

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

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

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Theorie der Informatik

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

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

2.11 Kontextfreie Grammatiken und Parsebäume

Schulung Marketing Engine Thema : Einrichtung der App

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Grundlagen von Python

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Ein Ausflug zu ACCESS

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

teischl.com Software Design & Services e.u. office@teischl.com

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Zeichen bei Zahlen entschlüsseln

Bewusstkaufen.at XML Produkt Importschnittstelle für Händler

Software Engineering Klassendiagramme Assoziationen

XML-Austauschformat für Sicherheitsdatenblätter

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 )

Benutzerkonto unter Windows 2000

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Die Post hat eine Umfrage gemacht

Kapiteltests zum Leitprogramm Binäre Suchbäume

Benutzer Verwalten. 1. Benutzer Browser

XML Tutorium mit Oxygen. Oxygen Version 9.3!!

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Urlaubsregel in David

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

Installieren von Microsoft Office Version 2.1

1 Mathematische Grundlagen

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht

IAWWeb PDFManager. - Kurzanleitung -

Grammatiken. Einführung

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

XML-Namensräume. Marc Monecke

So erstellen Sie nützliche Beschreibungen zu Ihren Tradingdaten

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

Übungsblatt 3: Algorithmen in Java & Grammatiken

1. So beginnen Sie eine Kalkulation

Transkript:

XML XML (extensible Markup Language) Beschreibt den Inhalt und nicht die Präsentation. Unterschiede zu HTML: Neue Tags können definiert werden. Strukturen können eine willkürliche Tiefe haben. Ein XML Dokument kann eine optionale Grammatikbeschreibung beinhalten. Regelung der Präsentation durch Cascade Style Sheets XSL Basis Syntax Basiskomponenten: Benutzerdefinierte Tags: Starttag <person> Endtag </person> Die Struktur zwischen den Tags wird als Content bezeichnet. Der Ausdruck Subelement beschreibt auch die Relation zwischen einem Element und seinen Komponenten. Die Darstellung von Mengen wird durch Wiederholung der Elemente mit demselben Tag realisiert. Basis Syntax Alle Daten werden als Text behandelt. Daten werden oft als PCDATA (Parsed Character Data) beschrieben. XML nutzt Unicode. <person> <name> Alan </name> <age> 42 </age> <email> agb@abc.com </email> </person>

XML Attribute Entsprechen Eigenschaften (property). Sind als (name, value) Paar definiert. Sind frei wählbar. Ihr Wert ist immer ein String. Dürfen nur einmal in einem Tag vorkommen. Ermöglichen Vieldeutigkeit durch verschiedene Repräsentationsmöglichkeiten von Daten: <person> <name> Alan </name> <age> 42 </age> <email> agb@abc.com </email> </person> Well-Formed Ein XML-Dokument ist wohl-geformt, wenn es die folgenden Bedingungen erfüllt: 1.Tags müssen passend geschachtelt sein. 2. Attribute müssen einzigartig sein. <person name= Alan age= 42 email= agb@abc.com /> Transformation von ssd nach XML Die Transformation von ssd nach XML ist in der Regel einfach. Ein Problem ist die Mehrdeutigkeiten, die durch Attribute verursacht werden können. Eine Transformationsfunktion kann folgende Form haben: T(atomicvalue) = atomicvalue T({l 1 :v 1,..., l n :v n }) = <l 1 >T(v 1 )</l 1 >...<l n >T(v n )</l n > Unterschiede in XML- und ssd-graphen Ssd-Ausdrücke sind eine Menge von Label- / Teilbäume-Paaren. Ein XML-Element hat lediglich ein toplevel Label. Ssd-Ausdrücke werden durch Graphen mit Labeln an den Kanten dargestellt. XML-Elemente werden durch Graphen mit Labeln als Knoten dargestellt.

XML name Alan XML- und ssd-graphen person age 42 email agb@abc.com name Alan person age 42 ssd email agb@abc.com Referenzen in XML XML-Dokumente mit Referenzen können als Graphen beschrieben werden. Jedes Element erhält ein einzigartiges Identifikationsattribut id. Ein Element kann mit Hilfe eines Attributes idref referenziert werden. Durch diese Technik werden Repräsentationen von zyklischen rekursiven Datenstrukturen ermöglicht. <state id= s2 > <scode> NE </scode> <sname> Nevada </sname> </state> <city id= c2 > <ccode> CCN </ccode> <cname> Carson City </cname> </city> Ordnung Mischen von Elementen und Text XML-Elemente haben eine feste Ordnung. XML-Attribute haben keine Ordnung. <person firstname= John lastname= Smith /> <person lastname= Smith firstname= John /> Bei ssd ist Ordnung unwichtig, da ssd auf ungeordneten Collections basieren. Möglichkeit, PCDATA und Subelemente innerhalb eines Elements zu mischen. Grund: Einbettung von Texten in strukturierte Daten und umgekehrt. Solche Dokumente müssen vor der Umsetzung von XML nach ssd- Ausdrücken bearbeitet werden. Es müssen einige Standard Tags für PCDATA hinzugefügt werden.

Andere XML Konstrukte Kommentare Sie stellen einen Teil vom XML-Dokument dar, sind aber kein Teil vom CDATA (character data). Sie werden an die Applikation weitergeleitet. Bsp.: <!-- this ist a comment--> processing instructions (PI) Durch die PI werden im XML Dokument Befehle für Applikationen dargestellt. Ein PI hat ein Ziel (Name der Applikation) und einen optionalen freien Text. Bsp.: <?xml-stylesheet href= book.css type= text/css?> Andere XML Konstrukte Version Gibt die verwendete Version von XML an. Zusätzliche Informationen, die die Textkodierung, des Dokumentes beschreiben, können der Versionsnummer folgen. Bsp.: <?xml version= 1.0?> CDATA (character data) Werden genutzt, um escape blocks zu schreiben, die Zeichen beinhalten, die andererseits als Markup erkannt werden können. Bsp.: <![CDATA[<start>this ist an incorrect element</end>]]> Andere XML Konstrukte DOCTYPE Ein XML-Dokument kann eine optionale Document Type Definition (DTD) besitzen, welche die Dokumentengrammatik definiert. Bsp.: <!DOCTYPE name [markupdeclarations]> Document Type Definitions (DTD) Definiert die Grammatik eines XML- Dokuments. Ist ein Teil von XML. Dient als Schema für die Datenrepräsentation. <db><person> <name> Alan </name> <age> 42 </age> <email> agb@abc.com </email> </person> <person>... </person> </db>

Document Type Definitions (DTD) <!DOCTYPE db [ <!ELEMENT db (person*)> <!ELEMENT person (name,age,email)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT email (#PCDATA)> ]> root Element ist <db> <db> besteht aus einer willkürlichen Anzahl von <person> Elementen, welche aus <name>, <age> und <email> bestehen. Reguläre Ausdrücke Sind e und e reguläre Ausdrücke, dann sind e* (Iteration: null oder mehr), e + (Iteration: eins oder mehr), e? (Option: null oder eins), e e (Alternative zwischen e und e ), e, e (Konkatenation: Hintereinanderreihen von regulären Ausdrücken) auch reguläre Ausdrücke. DTDs als Grammatik DTDs als Schema Eine DTD ist eine kontextfreie Grammatik. Eine DTD kann Rekursionen enthalten. <!ELEMENT node (leaf (node, node))> <!ELEMENT leaf (#PCDATA)> <node> <node> <node> <leaf> 1 </leaf> </node> <node> <leaf> 2 </leaf> </node> </node> <node> <leaf> 3 </leaf> </node> </node> DTDs können zu einem gewissen Grad als Schema genutzt werden. Probleme bei der Repräsentation: Beschränkung auf die definierten Komponenten. Beschränkung aufgrund der starren, in der DTD definierten, Anordnung der Komponenten.

DTDs als Schema <!DOCTYPE db [ <!ELEMENT db (r1*, r2*)> <!ELEMENT r1 (a,b,c)> <!ELEMENT r2 (c,d)> <!ELEMENT a (#PCDATA)> <!ELEMENT b (#PCDATA)> <!ELEMENT c (#PCDATA)> <!ELEMENT d (#PCDATA)> ]> <db><r1><a> a1 </a><b> b1 </b><c> c1 </c></r1> <r1><a> a2 </a><b> b2 </b><c> c2 </c></r1> <r2><c> c2 </c><d> d2 </d></r2> <r2><c> c3 </c><d> d3 </d></r2> <r2><c> c4 </c><d> d4 </d></r2> </db> Deklarieren von Attribute in DTDs In DTDs könne Attribute deklariert werden. Alle Attribute sind vom Typ CDATA. <product> <name language= French department= music > trompette six trous </name> <price currency= Euro > 420.12 </price> </product> <!ATTLIST name language CDATA #REQUIRED department CDATA #IMPLIED> <!ATTLIST price currency CDATA #IMPLIED> Deklarieren von Attributen in DTDs #REQUIRED: dieses Attribut wird gebraucht. #IMPLIED: dieses Attribut ist optional. Wichtige Deklarationstypen: ID Deklariert das spezielle Attribut, das den einzigartigen Bezeichner einer Entität definiert. IDREF Der Wert dieses Attributs ist der Bezeichner eines anderen Elements. IDREFS Der Wert ist eine Liste von Bezeichnern, die durch Leerzeichen voneinander getrennt werden. Deklarieren von Attributen in DTDs EMPTY Das Element mit diesem Attribut ist leer. ENTITY Zum Referieren von externen XML Dokumenten. Durch das Verwenden eines ENTITY lassen sich externe Daten in das aktuelle XML Dokument einfügen.

Beispiel <?xml version 1.0?> <!DOCTYPE report[ <!ENTITY %abstract SYSTEM /u/abitebou/lebook/abstract > <!ENTITY %content SYSTEM /u/suciu/lebook/lebook > ]> <report> <meta keywords= xml,www,web,semistructured author= Abiteboul,Buneman,Suciu date= 25.12.98 /> <title>data on the Web</title> %abstract; %content; </report> Validität von XML-Dokumenten Ein valides XML-Dokument erfüllt folgende Eigenschaften: Es verfügt über eine DTD. Es hält sich an die DTD. Es hält die schwachen Erfordernisse für Bezeichner und Referenzen ein: Die Werte von allen Attributen vom Typ id müssen verschieden sein. Alle Referenzen vom Typ idref und idrefs müssen sich auf ein existierendes id Attribut beziehen. Die DTD schränkt die Typen des referenzierten Elements nicht ein. Einschränkungen der DTDs als Schema DTD geben eine festen Ordnung vor. Kein atomaren Typen (int, ) vorhanden außer PCDATA. Keine Bereichspezifikationen (von 1 bis 72) Der Typ, der mit einem Element verknüpft ist, ist global. DTDs beschränken den Typ des Attributs idrefs nicht. Verschiedene Typen von idrefs. aus der Datenbank Sicht: mangelhafte Typisierung durch DTDs. Navigation Ermöglichung der Navigation durch das ganz Web durch: XML Links Sind Elemente mit Attributen (xml:link), die das Verlinken regeln. Reichhaltiger Verlinkungsprozess: Ein Link zwischen einem Element in einem Dokument A und einem Dokument B kann extern definiert werden. XML Pointers Kein Standard.

DCD (Document Content Description) Präzisere Typisierung der XML Daten als DTD. Typisierung von Terminalelementen (PCDATA). Beschränkungen http://www.w3.org/2001/xmlschema wie Bereiche können definiert werden. Verschiedene Datentypen. Spezifikation von default-werten. Spezifikation von relationships wie z.b. Subkategorien oder is-an-instance-of. XML Schema Ein XML Schema besteht aus Typdefinitionen und Elementdeklarationen. Diese geben die Gültigkeit von wohlgeformten Elementen und Attributinformationesobjecten (XML- Infoset) an. Des Weiteren spezifizieren diese Augmentierungen zu diesen Objekten und deren Nachkommen. Beispiel <xs:complextype name="purchaseordertype"> <xs:sequence> <xs:element name="shipto" type="usaddress"/> <xs:element name="billto" type="usaddress"/> <xs:element ref="comment" minoccurs="0"/> <xs:element name="items" type="items"/> </xs:sequence> <xs:attribute name="orderdate" type="xs:date"/> </xs:complextype> RDF (Resource Description Framework) Repräsentation von Metadaten in XML Bessere Tauglichkeit für Suchmaschinen im Bereich des Entdeckens von Ressourcen. Katalogisierung von Inhalt und Inhaltsbeziehungen einer Web Seite. Erlaubt intelligenten Software-Agenten, Wissen zu teilen und auszutauschen. Besteht aus Datenmodell und Syntax Das Datenmodell ist ein Kanten-beschrifteter Graph. Knoten heißen resources, Kantenbeschriftung properties und Kanten statement. Quelle: http://www.w3.org/tr/2004/per-xmlschema-1-20040318/

RDF (Resource Description Framework) Erweiterung des Basisgraphenmodell Durch Container (bag, Sequenz oder Alternative). Durch Statements höherer Ordnung. <rdf:description id= &o1 > <person> <rdf:description id= &o2 > <name> Alan </name> <age> 42 </age> <email> agb@abc.com </email> </rdf:description> </person> </rdf:description> Stylesheets Umwandeln der XML Daten in HTML Transformationssprache XSL Cascading Style Sheets (CSS) Im XML Dokument eingebettet: <STYLE TAG= address > <FONT-SIZE V=10> <FONT-FAMILY V= Times New Roman > </STYLE> Mit processing instructions kann ein Stylesheet dem XML Dokument angehängt werden: <?STYLESPEC company-desc style23.ssh?> SAX und DOM Zwei APIs für XML Dokumente: SAX (Simple API for XML) Standard für das Parsen von XML. Mehr Syntax getrieben. Liest den Fluss von XML Daten und parst diese. Ermittelt beim Interpretieren von Tags Events. Diese Events werden an die Applikationen zurückgesendet. SAX und DOM DOM (Document Object Model) Kompiliert das XML Dokument und konstruiert eine Baum Darstellung für dieses. Bietet eine objekt-orientierte Sicht des XML Dokuments. Jedes Dokument definiert eine Schnittstelle, die dessen Verhalten spezifiert. Auf die Daten wird via Interface zugegriffen. Interfaces sind: Node Subelement Attribute Character-Data