30.11.2001 - Martin Klossek Seminar „XML: Datenrepräsentation und Abfragesprachen “ - WS2001/2002.

Slides:



Advertisements
Ähnliche Präsentationen
Verarbeiten und Präsentieren von
Advertisements

Seminar „WWW und Datenbanken“ - SS2001
XML: Extensible Markup Language
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
eXist Open Source Native XML Database
Zurück zur ersten Seite n Style Sheets sind im Prinzip Formatvorlagen für HTML-Dokumente n Über Style Sheets lassen sich zentrale Layout-Vorgaben für eine.
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
XML - Aufbau und Struktur - mit Einsatz im B2B
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.
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Grundlagen der Sprache
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XPATH XML Path Language. Xpath – XML Path Language IT Zertifikat - Daten und Metadatenstandards: XPath 2 Entwicklung des W3C Adressierungssprache für.
XML - Abfragesprache Xpath. Problemstellung Unsere XML-Datei steht und wir wollen alle 1. Titel aller vergangenen Sendungen automatisch aus den Playlists.
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
HTML - Eine erste Annäherung
© 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™
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
XML Standardisierungen und Abfragesprachen
Einführung XML XML Einführung Andreas Leicht.
Hauptseminar XML-Technologie: Resource Description Framework (RDF) Michael Kranz Betreuer: Roland Haratsch.
XPointer Die Xpointer beschreiben einen Ort oder Bereich innerhalb einer XML-Instanz. Die XPointer bauen auf der XML Path Language auf. Die XPointer ist.
Xlink / Xpointer - Framework
RDF-Schema Seminar: „Semantic Web“ André Rosin,
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
XQuery-Anfragen Spezifikations- und Selektionsmethoden für Daten und Dienste Markus Mauch.
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
Tobias Högel & Dennis Böck,
Marcus Haller & René Schulze
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
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.
1 Seminar 2004/2005 von Auszeichnungssprache XPath Ein Referat von Wei CAI
XML Path Language XPath
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
- XML-Path Language (xPath) ist eine Empfehlung des W3C - es wurde entwickelt, um durch ein XML- Dokument zu navigieren - und ist ein großer Teil von.
XSLT.
Hyperlinks und Anker Links notieren
XML - Konzepte XHTML XML Base XPath XInclude XLink XForms XPointer
Datenbanktechnologie Daniel Ebner SS Mai Ulrike Lohner.
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.
Sesame Florian Mayrhuber
XPath Was ist XPath XPath ist eine Syntax für das Definieren der Teile eines XML-Dokumentes. XPath benutzt Pfade, um XML-Elemente zu definieren. XPath.
Verarbeiten von XML-Daten
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
XML (Extensible Markup Language)
SQLite und XML in PHP 5.
Einführung in PHP.
XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.
Vortrag: Frames & Javascript.
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
CSS Cascading Style Sheets
HTML Hypertext Markup Language
Semantic Web.
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
XML Die “E-Lance Economy” oder die “Digital Economy” stellt neue Anforderungen an Funktionalität im Netz. XML wurde vom World Wide Web Consortium (W3C)
XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –
XML Das „Competence Center XML“ am Institut für Wirtschaftsinformatik der J. W. Goethe-Universität in Frankfurt.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Lukas Kerecz - Edits1 Edits Lukas Kerecz. Lukas Kerecz - Edits2 Gliederung  Einführung  Edits – warum und wofür?  Edits – Definiton  einleitende Beispiele.
 Präsentation transkript:

30.11.2001 - Martin Klossek Seminar „XML: Datenrepräsentation und Abfragesprachen “ - WS2001/2002

Motivation Im World Wide Web sind unzählbar viele Dateien zu unterschiedlichsten Themenbereichen verfügbar... 30.11.2001 XLink - Martin Klossek

Motivation ...wodurch Menschen Informationen aller Art finden und ihren Wissensschatz verbreitern können. Mit ein – wenn nicht sogar der – Hauptgrund für die Erfolgsstory des WWW: Hyperlinks „Klicken Sie hier für weitere Infos“ 30.11.2001 XLink - Martin Klossek

Motivation HTML-Hyperlinks Verbinden Resourcen wie HTML-Dateien, Dokumente, Texte, Bilder, Grafik, Multimedia... Fest in den HTML-Standard eingebettet (und nur in diesem Kontext einsetzbar) <a href=“resource-uri“>click here</a> <img src=“image-uri“> 30.11.2001 XLink - Martin Klossek

Motivation HTML-Hyperlinks Zielen auf Interaktivität ab. Bekannte Konzept: „Browsen“ oder „Surfen“ Für Maschinen schwierig zu verarbeiten, insbesondere bei Änderungen da feste Einbindung in HTML-Dokumente, die verglichen mit XML schwer zu modifizieren sind 30.11.2001 XLink - Martin Klossek

Motivation XLink tritt an für Schauen wir uns das doch näher an! Idee eines „eXtensible Linkkonzepts“ (wie bei XML auch!) Flexible Einsatzmöglichkeiten im Resourcenmanagment Überwindung der Schwächen von HTML-Hyperlinks Schauen wir uns das doch näher an! 30.11.2001 XLink - Martin Klossek

Übersicht Motivation XLink zur Verlinkung XPath zum Adressieren XPointer zum Zeigen Ausblick 30.11.2001 XLink - Martin Klossek

XLink - Idee Idee ist die Resourcenverknüpfung R2 R1 R5 LINK R3 R4 XML-Daten HTML-Daten Grafiken Dokumente ... R2 Verknüpfung R1 R5 LINK Resource R3 R4 Verweis auf Resource 30.11.2001 XLink - Martin Klossek

XLink - Idee Link als Container von Referenzen auf Resourcen Lokalen Resourcen Verbindungen zwischen diesen Resourcen Metainformationen (wie Titel des Links oder Verhaltensanweisungen) 30.11.2001 XLink - Martin Klossek

XLink - Idee Damit bietet ein XLink-Link: uni- und bidirektionale Verknüpfungs-strukturen mehr als 2 Resourcen pro Link möglich Metadaten können angegeben werden Trennung von Resource und Link durch externes Speichern von Links achja, und für XML-Resourcen geht es auch mit Subresourcen 30.11.2001 XLink - Martin Klossek

XLink - Spezifikation XLink ist spezifiziert vom W3C (als Recommendation = Empfehlung) offiziell seit dem 27. Juni 2001 verfügbar unter dem Titel unter der URL „XML Linking Language (XLink) Version 1.0“ http://www.w3.org/TR/2001/REC-xlink-20010627/ 30.11.2001 XLink - Martin Klossek

XLink - Syntax 1 Im Folgenden das Wesentliche aus der XLink-Spezifikation, so zunächst: XLink kennt zwei syntaktische Konstrukte für Links Extended Links Simple Links (als Vereinfachung von Extended Links ähnlich wie <a href>) in XML-Syntax (natürlich ) 30.11.2001 XLink - Martin Klossek

XLink - Syntax Um eXtensible gerecht zu werden: 2 Um eXtensible gerecht zu werden: XLink definiert keine XML-Elemente, sondern globale Attribute in einem Namespace http://www.w3.org/1999/xlink Beispiel <link xlink:type="extended" xmlns:xlink="http://www.w3.org/1999/xlink"> ... </link> 30.11.2001 XLink - Martin Klossek

XLink - Syntax 3 Beliebige XML-Elemente können durch XLink-Attribute zu XLinks werden! Zentrales Attribut ist type type gibt an, von welchem XLink-Typ das Element sein soll... je nach Wert sind weitere Attribute nötig, um XLink-konform zu sein 30.11.2001 XLink - Martin Klossek

XLink - Syntax Typen und mögliche Attribute 3 type="resource" role, title, label type="locator" href, role, title, label type="extended" role, title type="title" Titel im Element type="simple" type="arc" href, role, arcrole, title, show, actuate arcrole, title, show, actuate, from, to 30.11.2001 XLink - Martin Klossek

XLink - Syntax Beispiel 3 link third-party <link xlink:type="extended" xlink:role="connector"> <title xlink:type="title">Von TOC zum Chapter 1</title> <res xlink:type="resource">10</res> <loc xlink:type="locator" xlink:href="toc.xml#chap1" xlink:label="a"/> <loc xlink:type="locator" xlink:href="chap1.xml" xlink:label="b"/> <arc xlink:type="arc" xlink:from="a" xlink:to="b"/> </link> third-party link toc.xml #chap1 “10“ chap1.xml 30.11.2001 XLink - Martin Klossek

XLink - Syntax Extended Links unterstützen alle Features von XLink 4 Extended Links unterstützen alle Features von XLink Zur Vereinfachung: Simple Links Subset von Extended Links einfach anzuwenden gehen von einer lokalen Resource zu einer externen Resource ähnlich den HTML-Hyperlinks! 30.11.2001 XLink - Martin Klossek

XLink - Syntax Beispiel 4 a outbound <a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.klossek3000.de" xlink:actuate="onRequest" xlink:show="replace" xlink:title="Link zu Martins Homepage">Klicken Sie hier</a> a http://www.klossek3000.de “Klicken Sie hier“ outbound entsprechend auch inbound, z. B. für Einbettungen wie bei <img> 30.11.2001 XLink - Martin Klossek

XLink - Linkbases Weiteres Feature von XLink 5 Weiteres Feature von XLink Erlauben leichte Änderung von Links Essentiell bei nicht änderbaren Resourcen wie Grafiken Nach Spezifikation im XLink-Format Externe Links und Linkdatenbanken Linkbase 30.11.2001 XLink - Martin Klossek

Auslieferung Resource mit Linkinformationen Anwendungsbeispiel angeforderte Resource file.xml Resourcen Anforderung Resource file.xml XLink Processor Webserver X Linkbase x Linkinformationen X Auslieferung Resource mit Linkinformationen 30.11.2001 XLink - Martin Klossek

Übersicht Motivation XLink zur Verlinkung XPath zum Adressieren XPointer zum Zeigen Ausblick 30.11.2001 XLink - Martin Klossek

XPath - Idee XPath ist eine Sprache zur Adressierung von Teilresourcen von XML-konformen Daten kein XML-Dialekt, um in XML-Attributen und URIs genutzt zu werden sehr mächtig, um flexible Anwendungen zu ermöglichen wird von XSLT + XPointer verwendet 30.11.2001 XLink - Martin Klossek

XPath - Spezifikation XPath ist spezifiziert vom W3C (als Recommendation = Empfehlung) offiziell seit dem 16. November 2001 verfügbar unter dem Titel unter der URL „XML Path Language (XPath) Version 1.0“ http://www.w3.org/TR/xpath 30.11.2001 XLink - Martin Klossek

XPath - Anforderungen Zugriff auf Teilresourcen eines XML-konformen Dokuments ist das Ziel Berücksichtigung der Hierarchie und Semistrukturiertheit der XML-Daten Sprache soll Variablen, Rechen-operationen und Stringverarbeitung kennen für Flexibilität einfache nicht-XML Notation 30.11.2001 XLink - Martin Klossek

XPath - Konzept XPath operiert auf einer Baumrepräsentation der XML-Daten <doc> <head><title>Some Klingon words and phrases</title></head> <body> <p><b>amarklor-kalish</b>(n) is a Klingon word used to describe a color on the ultra-violet scale seen by Klingons. It falls between amarklor (very dark violet or purple) and kalish (completely black).</p> <p><b>cheb</b>(n) unit weight approx. 5 pounds (2.25kg)</p> <p><b>gheb</b>(n) horn (musical instrument)</p> <p><b>nuqDaq 'oH puchpa''e'</b>'Where is thebathroom?'</p> </body> </doc> 30.11.2001 XLink - Martin Klossek

XPath - Konzept ... ... Knotentypen Wurzelknoten Elemente Attribute Texte Namespace PIs Kommentare root <?xml ver ... ?> doc head body title p p p p ... b (n) horn ... ... Some Klingon words and phrases gheb 30.11.2001 XLink - Martin Klossek

XPath - Konzept Beispiel Ein beispielhafter XPath-Ausdruck auf diesen Daten würde die Subresource liefern (den 2. Absatz) /doc/body/p[2] <p><b>cheb</b>(n) unit weight approx. 5 pounds (2.25kg)</p> 30.11.2001 XLink - Martin Klossek

XPath - Syntax Zentrales Element in XPath ist der Location Path ein Pfad durch den Baum! Syntax z.B. /doc/body/p LocationPath ::= [/]Step(/Step)* Step ::= Axis ‘::‘ NodeTest Predicate* 30.11.2001 XLink - Martin Klossek

XPath - Syntax Abarbeitung eines Location Path erfolgt von links nach rechts Zu jedem Zeitpunkt mit Kontext Kontextknoten (node) Kontextposition (Position Kontextknoten) Kontextgröße (max. Pos. Kontextknoten) Menge von Funktionen Variablen mit Werten 30.11.2001 XLink - Martin Klossek

XPath - Syntax Am Beispiel /doc/body/p[2] Start- Kontext 2 Kontext Kontext- knoten=doc Kontext- knoten=root body/p[2] Kontext- knoten=p[2] Kontext 3 p[2] End- kontext Kontext- knoten=body 30.11.2001 XLink - Martin Klossek

XPath - Syntax Axis: verschiedene Achsen für Baumdurchlauf (Kinder, Geschwister) in XPath mögliche Achsen sind child, descendant, parent, ancestor following-sibling, preceding-sibling, following, preceding attribute, namespace self, descendant-or-self, ancestor-or-self 30.11.2001 XLink - Martin Klossek

XPath - Syntax ascendants following self preceding descendants vertikale Achse horizontale Achse root ascendants acticle header abstract paragraphs author following title text p p name email self preceding a words martin martin@klossek3000.de href=“...“ click here descendants 30.11.2001 XLink - Martin Klossek

XPath - Syntax Axis: Beispiele Beispiel descendant::a[self::text()=’click here’] child::a[attribute::href=’...’] /descendant::p /child::article/child::author/child::name 30.11.2001 XLink - Martin Klossek

XPath - Syntax NodeTest: die Knoten in der Achse werden mit NodeTest gefiltert node() * typ namespace[:typ] text() comment() processing-instructin[name] DT DT DT DT = Defaulttyp! 30.11.2001 XLink - Martin Klossek

XPath - Syntax NodeTest: Beispiele Beispiel child::text() /descendant::loc/attribute::xlink:label //loc/@xlink:label 30.11.2001 XLink - Martin Klossek

XPath - Syntax Predicate*: Filterung der Knotenmenge mit Prädikaten Erfüllt ein Knoten der Knotenmenge das Prädikat, wird er in die Ergebnismenge aufgenommen, andernfalls nicht Predicate ::= ’[’ Expr ’]’ 30.11.2001 XLink - Martin Klossek

XPath - Syntax XPath kennt für Ausdrücke (expr) die Datentypen node-set (Knotenmenge, auch leer) boolean number (FIießkommazahl) string (Zeichenkette) Vergleichen, Verknüpfen, Verrechnen von Ausdrücken möglich 30.11.2001 XLink - Martin Klossek

XPath - Syntax Darüberhinaus verfügt XPath über eine umfangreiche Funktions-bibliothek, beispielsweise string concat (string, string, string*) number last () number floor (number) ... 30.11.2001 XLink - Martin Klossek

XPath - Syntax Predicate: Beispiele Beispiel /child::module/child::item[5] /child::module/child::item[$i] /child::module/child::item[last()] (string(./treelink) and string(/communitysys/session/loginname)) or string(./newlink) or string(./doshowinvisible) 30.11.2001 XLink - Martin Klossek

Übersicht Motivation XLink zur Verlinkung XPath zum Adressieren XPointer zum Zeigen Ausblick 30.11.2001 XLink - Martin Klossek

XPointer - Idee XPointer dient zum Adressieren von Fragmenten in XML-Daten Das klingt ja fast so wie XPath!? richtig, aber nur fast, denn XPointer geht weiter! Genauso wie XPath nur für XML-Dokumente anwendbar 30.11.2001 XLink - Martin Klossek

XPointer - Spezifikation XPointer ist spezifiziert vom W3C (Candidate Recommendation) offiziell seit dem 11. September 2001 verfügbar unter dem Titel unter der URL “XML Pointer Language (XPointer) Version 1.0“ http://www.w3.org/TR/xptr/ 30.11.2001 XLink - Martin Klossek

XPointer - Syntax XPointer sehen Anchors in HTML ähnlich: <a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="article1.xml#xpointer(/doc/body/p[2])" >Klicken Sie hier für Absatz 2</a> article1.xml#xpointer(/doc/body/p[2]) Dokumentname “#xpointer“ XPointer-Ausdruck 30.11.2001 XLink - Martin Klossek

XPointer - Syntax XPath kann Knoten des XML-Dokuments adressieren XPointer kennt zusätzlich Punkte (point) - gibt die Möglichkeit, Knoten und auch einzelne Zeichen anzusprechen Bereiche (range) - alle XML Informationen zwischen zwei Punkten (z. B. Zeichenkette oder Elemente) 30.11.2001 XLink - Martin Klossek

XPointer - Syntax point und range verlangen nach einer Generalisierung der XPath Node und Node-Set-Datentypen: location = node | point | range location-set = geordnete Liste von Daten des Typs location singleton = location-set der Größe 1 30.11.2001 XLink - Martin Klossek

XPointer - Syntax Beispiel Entsprechend auch eine Reihe neuer Funktionen für range und point xpointer(range(string-range(//*,'anderen'))) <doc> <p id="1">Ein Beispieltext.</p> <p id="2"> Text in einem anderen Paragraphen. <section id="3">Text in einem Unterlement.</section> </p> <p id="4">Und weitere Text.</p> </doc> 30.11.2001 XLink - Martin Klossek

XPointer - Syntax Die neuen Funktionen sind location-set range-to (location-set) location-set string-range (location-set, string, number?, number?) location-set range (location-set) location-set range-inside (location-set) location-set start-point (location-set) location-set end-point (location-set) location-set here () + location-set origin () 30.11.2001 XLink - Martin Klossek

XPointer - Syntax Es geht aber auch einfacher! mit bare names Beispiel - Damit greift man -direkt wie bei HTML-Anchors - auf Elemente mit der ID=“bare name“ zu! <doc> <p id="text1">Ein Beispieltext.</p> </doc> article1.xml#text1 Dokumentname bare name = id des referenzierten Elements 30.11.2001 XLink - Martin Klossek

XPointer - Syntax Kindersequenzen (child sequences) Beispiel - Damit greift man direkt auf die Kinderelemente zu. <doc> <p id="2"> Text in einem anderen Paragraphen. <section id="3">Text in einem Unterlement.</section> </p> </doc> - Jeder Schritt schreitet eine Ebene tiefer und sucht das i-te Kinde dort article1.xml/1/2/3 Dokumentname childsequence = durch / separierte Index der Kinderelemente 30.11.2001 XLink - Martin Klossek

XPointer FAZIT: XPointer bieten eine Reihe von Vereinfachungen und Erweiterungen gegenüber XPath, um Fragmente von XML-Resourcen zu adressieren Prinzipiell bedienen sie sich aber der Mächtigkeit von XPath Für XLink mit der bare name Adressierung essentiell 30.11.2001 XLink - Martin Klossek

Übersicht Motivation XLink zur Verlinkung XPath zum Adressieren XPointer zum Zeigen Ausblick 30.11.2001 XLink - Martin Klossek

Ausblick W3C XML Pointer, XML Base and XML Linking XLink: Recommendation seit 27.06.2001 XPath: Recommendation seit 16.11.1999, 2.0 in Arbeit XPointer: Candidate Recommendation seit 11.09.2001 http://www.w3.org/XML/Linking 30.11.2001 XLink - Martin Klossek

Ausblick Implementierungen von XLink durch teilweise durch Mozilla empolis x2x - Linkmanagment einige experimentelle Software XPath dagegen wesentlich häufiger XSLT-Prozessoren (alle!) in XML-Datenbanken wie tamino von Software-AG 30.11.2001 XLink - Martin Klossek

? Ausblick Beobachtungen und Vermutungen XLink ist Abrundung von XML um Verknüpfungsfähigkeiten Linkinformationen könnten auch in Datenbanken beschrieben werden! Primärer Einsatz von Links sind im Moment Hyperlinks in HTML. Ob sie je durch XLink abgelöst werden, ist fraglich... 30.11.2001 XLink - Martin Klossek

Fazit XLink ist die logische Ergänzung zu XML, um Resourcen verknüpfen zu können und dabei wie bei XML selbst flexibel und erweiterbar zu sein. 30.11.2001 XLink - Martin Klossek

Kontakt Kontakt: martin@klossek3000.de Folien und Ausarbeitung in verschiedenen Formaten unter http://www.stormzone.de/uni/ Hauptstudium/seminare/xml/list.php3 30.11.2001 XLink - Martin Klossek

Das war‘s 30.11.2001 XLink - Martin Klossek