XQuery 2013 S Seite 1 h_da S

Größe: px
Ab Seite anzeigen:

Download "XQuery 2013 S Seite 1 h_da S"

Transkript

1 XQuery 1

2 XPath: XML Information Set Das Information Set besteht aus Information Items und hat zumindest ein document information item. Ein Information Item ist die abstrakte Beschreibung eines Teils eines well-formed XML Dokuments und hat eine Menge von Properties. 2

3 XPath: XML Information Set Die elf Information Items Document Information Item Element Information Item Attribute Information Item Processing Instruction Information Item Unexpanded Entity Reference Information Item Character Information Item Comment Information Item The Document Type Declaration Information Item Unparsed Entity Information Item Notation Information Item Namespace Information Item 3

4 XPath formaler Aufbau Legt die hierarchische Baumstruktur eines XML Dokuments zugrunde. Wählt im Dokumentbaum Dokumentfragmente aus. - Location Path ist eine Folge von Location Steps getrennt durch / : Location Step / Location Step - ein Location Step besteht aus drei Teilen: axis :: node-test [ predicate ] - der Location Step wird bezüglich eines contexts ausgewertet und liefert als Ergebnis eine Knotenmenge im bearbeiteten Dokumentbaum. 4

5 XPath formaler Aufbau 5

6 XPath Axes child the children of the context node descendant all descendants (children, childrens children,...) parent the parent (empty if at the root) ancestor all ancestors from the parent to the root following-sibling siblings to the right preceding-sibling siblings to the left following all following nodes in the document, excluding descendants preceding all preceding nodes in the document, excluding ancestors attribute the attributes of the context node namespace namespace declarations in the context node self the context node itself descendant-or-self the union of descendant and self ancestor-or-self the union of ancestor and self 6

7 Xpath: Axes 7

8 XPath Axes self 8

9 XPath Axes child 9

10 XPath Axes descendant 10

11 XPath Axes descendant-or-self 11

12 XPath Axes parent 12

13 XPath Axes ancestor 13

14 XPath Axes ancestor-or-self 14

15 XPath Axes following-sibling 15

16 XPath Axes preceding-sibling 16

17 XPath Axes following 17

18 XPath Axes preceding 18

19 XPath Axes 19

20 XPath Axes attribute 20

21 XPath Node-Tests Test auf node type: text() chardata nodes comment() comment nodes processing-instruction() processing instruction nodes node() all nodes (not including attributes and namespace declarations) Test auf node name: name nodes with that name Prefix:name node with that qualified name * any element node 21

22 XPath Predicates Ein Predicate ist ein logischer Ausdruck. Die Auswertung eines Prädikats ergibt einen Wahrheitswert (true/false). Ergibt die Auswertung des Prädikats den Wahrheitswert true, ist das Ergebnis ein Object (z.b. eine Knotenmenge) child::section[position()<6] / descendant::cite[attribute::href="there"] 22

23 XPath Predicates Logischer Ausdruck: Expr OrExpr AndExpr ::= OrExpr ::= AndExpr OrExpr 'or' AndExpr ::= EqualityExpr AndExpr 'and' EqualityExpr EqualityExpr ::= RelationalExpr EqualityExpr '=' RelationalExpr EqualityExpr '!=' RelationalExpr RelationalExpr ::= AdditiveExpr RelationalExpr '<' AdditiveExpr RelationalExpr '>' AdditiveExpr RelationalExpr '<=' AdditiveExpr RelationalExpr '>=' AdditiveExpr 23

24 XPath Ausdrücke XPath1.0 Die Objeke einer Ergebnismenge können die folgenden Datentypen haben: - node-set (Knotenmenge) - boolean (true or false) - number (floating point) - string (Unicode Text) Ein Ausdruck kann sein: - Eine Konstante, e.g. "..." - Eine Variable: $variable - Ein Funktionsaufruf: function ( arguments ) - Ein numerischer Ausdruck: +, -, *, div, mod - Ein Knotenmengenausdruck (benutzt location paths!): (set union) 24

25 XPath Funktionen - Knotenmengen-Funktionen last(), position(), count(nodeset), id(object), local-name (nodeset?) - String-Funktionen string(object), concat (string, string, string*), substringbefore(string, string),... - Boolesche Funktionen not(boolean) - Numerische Funktionen sum(node-set), ceiling (number), floor (number), 25

26 XPath Funktionen: Stringfunktionen Function: string substring-before(string, string) Liefert den Teilstring des ersten Strings, der vor dem zweiten liegt. substring-before("1999/04/01","/") ergibt Function: string substring-after(string, string) Liefert den Teilstring des ersten Strings, der nach dem zweiten liegt. substring-after("1999/04/01","/") ergibt 04/01, und substring-after("1999/04/01","19") ergibt 99/04/01. Function: string substring(string, number, number?) Liefert die Zeichenkette aus dem ersten Argument, die bei Position "number" (2. Argument) beginnt und "number" (3. Argument) lang ist. substring("12345",2) ergibt "2345". 26

27 XPath Funktionen: Stringfunktionen Function: number string-length(string?) Liefert die Anzahl der Zeichen im String. Ist string leer, bezieht sich die Operation auf den Kontextknoten. Function: string normalize-space(string?) Liefert string in normalisierter Form zurück (führende und folgende Whitespaces werden entfernt, Folgen von Whitespace zu einem Whitespace zusammengefasst). Function: string translate(string, string, string) Übersetzt string1, indem es jedes Vorkommen von Zeichen in String2 durch entsprechendes Zeichen in String3 ersetzt. translate("bar","abc","abc") ergibt den string BAr. translate("--aaa--","abc-","abc") ergibt "AAA". 27

28 XPath Funktionen: Boolesche Funktionen Function: boolean not(boolean) Liefert TRUE, wenn das Argument FALSE ist und umgekehrt. Function: boolean true() Liefert TRUE Function: boolean false() Liefert FALSE Function: boolean lang(string) Liefert TRUE, wenn die Sprache, definiert im Kontextknoten mit dem Attribut xml:lang dieselbe ist wie in string. lang("en") ergibt true, wenn der Kontextknoten ist <para xml:lang="en"/> 28

29 XPath Funktionen: Numerische Funktionen Function: number number(object?) Konvertiert das Objekt in eine floating point Zahl. Zeichenkette: Zahl, wenn sie in einer Zahlendarstellung vorliegt. Boolean: TRUE -> 1, FALSE -> 0 Eine Knotenmenge wird zuerst in einem String konvertiert. Sonst: NaN (not-a-number: Spezialwert) Function: number sum(node-set) Liefert die Summe aus der Knotenmenge, nachdem die Zeichenkette der Knoten in Zahlen konvertiert wurden. Function: number floor(number) Liefert die grösste Integer Zahl, die nicht grösser ist als das Argument. Also: 4,56 -> 4 29

30 XPath Funktionen: Numerische Funktionen Function: number ceiling(number) Liefert die kleinste Integerzahl, die nicht kleiner als das Argument ist. Also: 4,12 -> 5 Function: number round(number) Liefert die Integerzahl, die dem Argument am nächsten ist. 4,56 -> 5; 3,21 -> 3. 30

31 XPath Abkürzungen Langform Kurzform child:: nothing (child ist default axis) descendant-or-self::node() // self::node(). (nützlich, da location paths, die mit / beginnen die Auswertung beim Root-Knoten beginnen) parent::node().. 31

32 XPath Ausdrücke Beispiele Logischer Ausdruck and Numerische Ausdruck (+, -, *, div, mod, - (unär)) //ingredient[@amount='3 * 0.5' mod 2']/@name Node-Set Ausdruck (Union) //CCC //BBB 32

33 XPath Ausdrücke Beispiele Logischer Ausdruck mit Funktionen //BBB[ position() = floor(last() div ) or position() = ceiling(last() div ) ] <AAA> <BBB/> <BBB/> <BBB/> <BBB/> <BBB/> <BBB/> <BBB/> <BBB/> <CCC/> <CCC/> <CCC/> </AAA> 33

34 XPath Beispiele 34

35 XPointer Erweiterungen XPointer erlaubt eine feinere Adressierung als XPath. Statt nur nodes, adressiert XPointers locations ( nodes, points, oder ranges). Ein point ist die Stelle vor oder nach irgendeinem einzelnen Zeichen z.b. in einem chardata Knoten. Der Knoten Test point() wählt die Menge der points eines Knoten. Ein range besteht aus zwei Punkten im selben Dokument und wird durch ein spezielles Sprachmittel spezifiziert (expr to expr). XPointer stellt einige extra functions bereit: id() Knoten mit ID Attribut und gegebenem Wert here() Knoten, die den aktuellen Xpointer enthält origin() Knoten, wo der Nutzer den link traversal startet. start-point(location-set) Startposition string-range(...) Findet Teilstrings 35

36 XPointer Erweiterungen - Beispiele /descendant::text()/point()[position()=0] Wählt die Stelle vor dem ersten Zeichen in jedem Character Data Element aus. start-point(string-range(//*,'element')) <AAA> <BBB bbb="111">text in the first Xelement BBB.</BBB> <BBB bbb="222"> Text in another Xelement BBB.<DDD ddd="999"> Text in more nested Xelement.</DDD> </BBB> <CCC ccc="123" xxx="321">again some text in some Xelement.</CCC> </AAA> 36

37 XPointer Erweiterungen - Beispiele string-range(//p,"thomas Pynchon",7,0) <P> Dieser Text handelt von Thomas XPynchon, der usw. </P> <P> Ausserdem wurde Thomas XPynchon in den folgenden Jahren usw. </P> 37

38 XPointer - Implementierungen * Fujitsu XLink Processor : entwickelt von Fujitsu Laboratories Ltd. (Funktionen unvollständig) * libxml : Gnome XML Bibliothek (volle Syntax) * 4XPointer : XPointer Processor in Python von Fourthought, Inc. * Universität von Bologna Implementationen in Javascript für ASP n und in Java. * XPointerLib, XPointer für Mozilla 1.0+, Netscape 7, und Firefox versions bis 3.0. Motiviert durch das Annotea Projekt (Web-Browser, der Annotationen unterstützt). 38

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten Teil 7: XPath 1.0 Sommersemester 2007 7.1. Einführung 7.2. XPath Ausdrücke (expressions) 7.3. Pfadangaben (location paths) 7.4. Operatoren 7.5. Vordefinierte Funktionen 4.1. Einführung

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Teil 7: XPath 1.0 Semistrukturierte Daten Sommersemester 2008 7.1. Einführung 7.2. XPath Ausdrücke (expressions) 7.3. Pfadangaben (location paths) 7.4. Operatoren 7.5. Vordefinierte Funktionen 7.1. Einführung

Mehr

XSLT für SAP NetWeaver Process Integration. Transformationssprache für XML Dokumente

XSLT für SAP NetWeaver Process Integration. Transformationssprache für XML Dokumente XSLT für SAP NetWeaver Process Integration Transformationssprache für XML Dokumente Entwicklung und Laufzeit Datenebene Metadatenebene Generieren Generieren Entwicklung ORDERS02 IDocXML Schema Validieren

Mehr

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger XML / XSLT Ein Workshop mit [x] cross solution Armin Egginger [x] cross solution Armin Egginger - Zertifizierter FileMaker Entwickler Urheber von CrossCheck Netzwerk von Datenbankprogrammierern Kunden

Mehr

XPATH (XPATH) Lernziele

XPATH (XPATH) Lernziele XPATH (XPATH) Lernziele Sie finden sich im XPath-Datenmodell zurecht. Sie kennen alle XPath-Achsen. Sie können Knoten und Knotenmengen mit XPath-Ausdrücken auswählen. Sie sind in der Lage, Lokalisierungspfade

Mehr

XPath Lokalisierspfade Achsen in Lokalisierungsschritten

XPath Lokalisierspfade Achsen in Lokalisierungsschritten Achsen in Lokalisierungsschritten self-achse Kontextknoten selbst child-achse Kindknoten des Kontextknotens in Dokumentreihenfolge parent-achse Elterknoten des Kontextknotens attribute-achse Attributknoten

Mehr

Inhalt. Beispiel: XML Dokument. Beispiel: Dokumentenbaum. XPath VU Semistrukturierte Daten 1. Datenmodell

Inhalt. Beispiel: XML Dokument. Beispiel: Dokumentenbaum. XPath VU Semistrukturierte Daten 1. Datenmodell XPath 181135 VU XPath ist die Basis für viele XML-related Standards: insbesondere für XSLT aber auch für XPointer und XQuery (in eingeschränkter Form) auch in XML Schema Nachteil: ist selbst nicht in XML

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Formatierung und Transformation XPath Wiederholung: DTD Eine DTD enthält die textuelle Struktur einer Textgruppe in Form von Elementen und Attributen

Mehr

7.2.2 Spezifikation einer Treffermenge

7.2.2 Spezifikation einer Treffermenge 7.2.2 Spezifikation einer Treffermenge Das Ergebnis der Auswertung eines XPath Ausdrucks (Version 1.0) ist eine Liste von Knoten. Folgende Schritte sind bei einer Anfrage auszuführen: 1.) Festlegung des

Mehr

XML Path Language (XPath)

XML Path Language (XPath) Fachhochschule Wiesbaden - Fachbereich DCSM XML Path Language (XPath) http://www.w3.org/tr/xpath/, http://www.w3.org/tr/xpath20/ 18.05.2009 2004, 2009 H. Werntges, SB Informatik, FB DCSM, FH Wiesbaden

Mehr

Dokumentverarbeitung

Dokumentverarbeitung Dokumentverarbeitung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2012/13, 2. November 2012, c 2010-13 D.Rösner D. Rösner

Mehr

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML XSL extended Stylesheet Language Die Stylesheet Sprache für XML XPath www.w3.org/tr/xpath Adressierung Die Templates im Stylesheet können nur dann richtig (an der richtigen Stelle) angewandt werden, wenn

Mehr

XML-Praxis. XPath. Jörn Clausen

XML-Praxis. XPath. Jörn Clausen XML-Praxis XPath Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht XPath Namespaces XML-Praxis XPath 2/34 XML-Dokument als Baum root presentation status date author toc ilist weitere Text-Knoten durch

Mehr

XML Information Set, XML Path Language (XPath)

XML Information Set, XML Path Language (XPath) Fachhochschule Wiesbaden - Fachbereich Informatik XML Information Set, XML Path Language (XPath) http://www.w3.org/tr/xml-infoset http://www.w3.org/tr/xpath 27.05.2003 H. Werntges, FB Informatik, FH Wiesbaden

Mehr

XML-Praxis. XPath. Jörn Clausen

XML-Praxis. XPath. Jörn Clausen XML-Praxis XPath Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht XPath Namespaces XML-Praxis XPath 2/34 XML-Dokument als Baum weitere Text-Knoten durch whitespace Aufgabe: lokalisiere einen (oder

Mehr

XML Path Language (XPath)

XML Path Language (XPath) XML Vorlesung FH Aargau, SS 2006 XML Path Language (XPath) Erik Wilde 10.4.2006 http://dret.net/lectures/xml-fhnw-ss06/ Übersicht Motivation Analogie File System XML Dokumente beides sind Baummodelle,

Mehr

XML-Praxis. XPath. Jörn Clausen.

XML-Praxis. XPath. Jörn Clausen. XML-Praxis XPath Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht XPath Namespaces 2 XML-Dokument als Baum root presentation status date author toc ilist weitere Text-Knoten durch whitespace Aufgabe:

Mehr

Seminar: XML und intelligente Systeme

Seminar: XML und intelligente Systeme Seminar: XML und intelligente Systeme XML-Navigation: XPath, E4X Christoph Weitkamp cweitkam@techfak.uni-bielefeld.de Einleitung XPath ist eine Sprache, um Informationen in XML-Dokumenten zu finden Modellierung

Mehr

XML Path Language (XPath)

XML Path Language (XPath) XML Path Language (XPath) Erik Wilde ETH Zürich http://dret.net/netdret/ Abstract Die XML Path Language (XPath) ist nicht nur die Grundlage für viele aktuelle XML-Technologien (XSLT, XML Schema, XQuery),

Mehr

XML Path Language (XPath)

XML Path Language (XPath) XML Path Language (XPath) 23.05.2006 Gholaman, Ali Bui, Binh Rodionov, Dmytro Büscher,Miguel Colak,Sedat Kebiri, Yassine Entstehung Wurde im November 1999 verabschiedet. Wurde von dem W3C in einer Zusammenarbeit

Mehr

XPath-Abfragen. 8 XPath-Abfragen

XPath-Abfragen. 8 XPath-Abfragen 8 XPath-Abfragen 419 420 8 XPath-Abfragen Wie an verschiedenen Stellen angekündigt, soll die XPath-Syntax an dieser Stelle im Zusammenhang kurz in der Version 1.0, die in den PHP-Werkzeugen genutzt werden

Mehr

Summer School Digitale Edition

Summer School Digitale Edition Summer School Digitale Edition Erschließung geisteswissenschaftlicher Quellen mit digitalen Methoden 5.-9. September 2016 Zentrum für Informationsmodellierung Austrian Centre for Digital Humanities Elisabethstraße

Mehr

Textnavigation mit XPath. Daniel Schopper

Textnavigation mit XPath. Daniel Schopper Textnavigation mit XPath Daniel Schopper daniel.schopper@oeaw.ac.at Inhalt Was ist XPath (und wofür brauche ich es?) Knotentypen in XML Achsen Funktionen Reguläre Ausdrücke https://pixabay.com/get/ea3cb10628f71c22d9584518a33219c8b66ae3d019b718429df7c370/compass-390903_1920.jpg

Mehr

Seminar Dokumentenverarbeitung

Seminar Dokumentenverarbeitung XPath und XSL/XSLT Seminar Dokumentenverarbeitung Juni 2002 Jan-Gerrit Drexhage jdrexhag@techfak.uni-bielefeld.de Garvin Gripp ggripp@techfak.uni-bielefeld.de 1 XSLT extensible Stylesheet Language (for

Mehr

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

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen Datenbanksysteme XML und Datenbanken Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2019 Übersicht Semistrukturierte Daten Datendefinition in XML Dokumenttypdefinition

Mehr

Präsenzveranstaltung zur E-Learning-Veranstaltung. Einführung in XML. Sommersemester Prof. Dr. Klaus-Peter Fähnrich Dr.

Präsenzveranstaltung zur E-Learning-Veranstaltung. Einführung in XML. Sommersemester Prof. Dr. Klaus-Peter Fähnrich Dr. Präsenzveranstaltung zur E-Learning-Veranstaltung Einführung in XML Sommersemester 2008 Prof. Dr. Klaus-Peter Fähnrich Dr. Maik Thränert 2008-06-09 Adressierung und Abfrage 1 Agenda XPath 1 XPath 2 XQuery

Mehr

XPath XML Path Language

XPath XML Path Language XPath XML Path Language Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2006-08-17 aktuelle Version: http://www.bg.bib.de/portale/xml/pdf/xml-xpath.pdf Inhaltsverzeichnis 1 Baumentsprechung des XML-Dokuments

Mehr

Typologie. XPath unterscheidet zwischen sieben verschiedenen Knoten- Typen.

Typologie. XPath unterscheidet zwischen sieben verschiedenen Knoten- Typen. Xpath und XQuery Inhalte Typologie Ergebnisarten Achsen Pfad-Ausdrücke Fortgeschrittene Ausdrücke Operatoren Kommentar Kontrollanweisungen FLWOR Konstruktoren Beispiele Variablen Funktionen Namensräume

Mehr

Gliederung / Inhaltsüberblick

Gliederung / Inhaltsüberblick Datenbanken und Informationssysteme 2 SS 2002 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher Folie XSW - 1 Gliederung / Inhaltsüberblick

Mehr

Einführung in XML Einführung in XML. Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich

Einführung in XML Einführung in XML. Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich Einführung in XML Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich http://dret.net/netdret/publications#unizh04a 16.8.04 Erik Wilde 1 Ziel XML als Format für strukturierte

Mehr

Einführung in XML. Seminarunterlage. Version 3.05 vom

Einführung in XML. Seminarunterlage. Version 3.05 vom Seminarunterlage Version: 3.05 Version 3.05 vom 8. März 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder

Mehr

XPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten

XPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten XPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten Holger Meyer XPath 1.0 p. 1 Überblick Umfeld Datenmodell Pfadausdrücke Details XPath 1.0 p. 2 XPath 1.0 http://www.w3.org/tr/xpath (Nov 1999)

Mehr

Prof. Dr. Martin Leischner Fachbereich Informatik XML. Prof. Dr. Martin Leischner Fachbereich Informatik. Anwendungen (SOAP,WSDL, ) Verknüpfungen XSL

Prof. Dr. Martin Leischner Fachbereich Informatik XML. Prof. Dr. Martin Leischner Fachbereich Informatik. Anwendungen (SOAP,WSDL, ) Verknüpfungen XSL XML M. Leischner E-Businesskommunikation SS 2004 Folie 1 XML Sprachfamilie Anwendungen (SOAP,WSDL, ) XLL Verknüpfungen XPOINTER XLINK XSL XSLT Layout CSS XPATH Sprache Dokumentenaustausch DTD XML Namespace

Mehr

Gruppe 3 / 5 / 10. Tutorübung zu Einsatz und Realisierung von Datenbanksystemen (SS 17) Michael Schwarz

Gruppe 3 / 5 / 10. Tutorübung zu Einsatz und Realisierung von Datenbanksystemen (SS 17) Michael Schwarz Gruppe 3 / 5 / 10 Tutorübung zu Einsatz und Realisierung von Datenbanksystemen (SS 17) Michael Schwarz Institut für Informatik Technische Universität München 19.07 / 20.07 / 21.07.2017 1/3 Allgemeines

Mehr

Datenbanksysteme. Einführung in XML-Technologien. Teil 1: XML und XPath Martin Gieseking

Datenbanksysteme. Einführung in XML-Technologien. Teil 1: XML und XPath Martin Gieseking Datenbanksysteme Einführung in XML-Technologien Teil 1: XML und XPath 30.5.2011 Martin Gieseking Was ist XML? XML (Extensible Markup Language) ist eine Meta- uszeichnungssprache zur textbasierten Beschreibung

Mehr

XPath & XQuery Standardisierte Abfragesprachen für XML-Dokumente. Sebastian Apel

XPath & XQuery Standardisierte Abfragesprachen für XML-Dokumente. Sebastian Apel XPath & XQuery Standardisierte Abfragesprachen für XML-Dokumente Sebastian Apel Inhalt Die Geschichte XPath 1.0 Das Datenmodell Pfadausdrücke Anwendung von XPath XPath 2.0 & XQuery Neues in XPath 2.0 Wozu

Mehr

XPath. Udo Kelter

XPath. Udo Kelter XPath Udo Kelter 09.05.2007 Zusammenfassung dieses Lehrmoduls XPath ist eine Abfragesprache, mit deren Hilfe Knotenmengen in einem XML-Syntaxbaum bestimmt bzw. selektiert werden können. Eine Besonderheit

Mehr

Anfragen an XML-Dokumente mit XPath

Anfragen an XML-Dokumente mit XPath Anfragen an XML-Dokumente mit XPath Heike Adel 21.06.2010 1 / 32 Motivation Gliederung Motivation Mit XPath kann man... Knoten aus XML-Dokumenten auswählen Werte aus XML-Dokumentdaten berechnen => ganz

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS XML Anfragen: XPath. Dr. Christian Senger XML 1

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS XML Anfragen: XPath. Dr. Christian Senger XML 1 XML Anfragen: XPath XML 1 Ausgangspunkt: Jedes XML Dokument hat Baumrepräsentation Aufgaben von XPath: Adressierung von Teilen eines XML-Dokuments Selektion von Knotenmengen Einschränkung der Knotenmenge

Mehr

DOM Document Object Model

DOM Document Object Model DOM Document Object Model J. Schneeberger Das Document Object Model (DOM) W3C Spezifikation Benutzt die Baumstruktur des (XML/HTML) Dokuments Programmierschnittstelle (API) für HTML- und XML-Dokumente

Mehr

Wege zur Anzeige. XSL die extensible Stylesheet Language. Wege zur Anzeige. Folie 1. Institut für Dokumentologie und Editorik

Wege zur Anzeige. XSL die extensible Stylesheet Language. Wege zur Anzeige. Folie 1. Institut für Dokumentologie und Editorik XSL die extensible Stylesheet Language Folie 1 Spring School 14. bis 18. März 2011 Einführung - Warum XML? Warum TEI? Trennung von Form und Inhalt Eine Quelle, viele verschiedene Ausgabeformate - Standardstylesheets

Mehr

Fachhochschule Wiesbaden - Fachbereich DCSM. XML Information Set.

Fachhochschule Wiesbaden - Fachbereich DCSM. XML Information Set. Fachhochschule Wiesbaden - Fachbereich DCSM XML Information Set http://www.w3.org/tr/xml-infoset 28.11.2006 2004. 2006 H. Werntges, FB Informatik (DCSM), FH Wiesbaden 1 Fachhochschule Wiesbaden - Fachbereich

Mehr

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

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale

Mehr

Semistrukturierte Datenmodelle. XML Datenmodelle. XML Infoset. OEM Beispielbaum. Document InfoItem. Beispiel

Semistrukturierte Datenmodelle. XML Datenmodelle. XML Infoset. OEM Beispielbaum. Document InfoItem. Beispiel XML Datenmodelle Web Informationssysteme Wintersemester 2002/2003 Donald Kossmann Semistrukturierte Datenmodelle Beispiel: OEM (Objekt Exchange Model) Repräsentiere Dokument als annotierten Baum Knoten

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Analyse mit XSLT Ziel diese Sitzung Nach dieser Sitzung sollten Sie: Einen ersten Überblick über Funktionen in XPath haben Stylesheets und Templates

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Formatierung und Transformation http://www.text-technology.de/projects/sekimo.html Ziel dieser Sitzung Nach dieser Sitzung sollten Sie: XPath

Mehr

Datentypen: integer, char, string, boolean

Datentypen: integer, char, string, boolean Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,

Mehr

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001 9. Mediendokumente 9.1 Generische Auszeichnungssprachen: XML 9.2 XML und Style Sheets 9.3 XML für Multimedia: SMIL 9.4 XML Transformationen: XSLT Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design

Mehr

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001 9. Mediendokumente 9.1 Generische Auszeichnungssprachen: XML 9.2 XML und Style Sheets 9.3 XML für Multimedia: SMIL 9.4 XML Transformationen: XSLT Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten JSON Stefan Woltran Emanuel Sallinger Institut für Informationssysteme Technische Universität Wien Sommersemester 2014 Stefan Woltran, Emanuel Sallinger Seite 1 JSON JSON steht

Mehr

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001 9. Mediendokumente 9.1 Generische Auszeichnungssprachen: XML 9.2 XML und Style Sheets 9.3 XML für Multimedia: SMIL 9.4 XML Transformationen: XSLT Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design

Mehr

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken XQuery 1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken Inhalt des Moduls: Grundlagen, Herkunft, Einsatz Basis-Syntax, FLWOR Anwendungsfälle/

Mehr

Bisher. Programme. Ausdrücke und ihre Auswertung (Substitutionsmodell)

Bisher. Programme. Ausdrücke und ihre Auswertung (Substitutionsmodell) Bisher Programme Ausdrücke und ihre Auswertung (Substitutionsmodell) Konstruktionsanleitung für Prozeduren Kurzbeschreibung Sorten und Verträge Gerüst Testfälle Rumpf ausfüllen Testen 2.21 Erinnerung:

Mehr

XSL Transformation. Eine praxisorientierte Einführung Philip Heck

XSL Transformation. Eine praxisorientierte Einführung Philip Heck XSL Transformation Eine praxisorientierte Einführung Philip Heck Agenda Motivation Hello World - Getting Started with XSLT XSLT Verarbeitung im Detail XPath 2 Motivation datenzentriertes XML als Standard

Mehr

XML-Technologien. Tutorium im Sommersemester Mai 2014

XML-Technologien. Tutorium im Sommersemester Mai 2014 XML-Technologien Tutorium im Sommersemester 2014 niels.hoppe@fu-berlin.de 6. Mai 2014 XML Grundlagen URIs, URNs, URLs, IRIs,... Namensräume Document Type Definitions Elemente deklarieren Attribute deklarieren

Mehr

Bisher. Programme, Sequenzen von Formen. Ausdrücke und ihre Auswertung (Substitutionsmodell)

Bisher. Programme, Sequenzen von Formen. Ausdrücke und ihre Auswertung (Substitutionsmodell) Bisher Programme, Sequenzen von Formen Ausdrücke und ihre Auswertung (Substitutionsmodell) Konstruktionsanleitung für Prozeduren Kurzbeschreibung Sorten und Verträge Gerüst Testfälle Rumpf ausfüllen Testen

Mehr

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

Mehr

Textnavigation mit XPath

Textnavigation mit XPath Ulrike Henny & Patrick Sahle Fahrplan XPath: wieso weshalb warum? XPath im Editor XML als Baum XPath: Grundkonzepte XPath: der erste Baukasten XPath: gemeinsame Übungen XPath: der weitere Baukasten XPath:

Mehr

Repetitive Strukturen

Repetitive Strukturen Repetitive Strukturen Andreas Liebig Philipp Muigg ökhan Ibis Repetitive Strukturen, (z.b. sich wiederholende Strings), haben eine große Bedeutung in verschiedenen Anwendungen, wie z.b. Molekularbiologie,

Mehr

Python-Praxis XML & XML-Prozessierung

Python-Praxis XML & XML-Prozessierung Python-Praxis XML & XML-Prozessierung 1 Themen XPath und DOM-Repräsentation 2 Daten sind strukturiert (Texte, Bilder, Messergebnisse) Maschinelle Verarbeitung erfordert Kenntniss der Strukturen Automasierte

Mehr

XSL Transformation (XSLT) Teil II

XSL Transformation (XSLT) Teil II XML Vorlesung FH Aargau, SS 2006 XSL Transformation (XSLT) Teil II Erik Wilde 19.6.2006 http://dret.net/lectures/xml-fhnw-ss06/ 19.6.2006 XML Vorlesung FHA SS 2006 1 Übersicht Conflict Resolution Variablen

Mehr

XML Vorlesung FHA SS

XML Vorlesung FHA SS XML Vorlesung FH Aargau, SS 2006 XSL Transformation (XSLT) Teil II Erik Wilde 19.6.2006 Übersicht Conflict Resolution Variablen und Parameter Sortieren Erzeugen des Ausgabebaumes XPath Erweiterungen um

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001 9. Mediendokumente 9.1 Generische Auszeichnungssprachen: XML 9.2 XML und Style Sheets 9.3 XML für Multimedia: SMIL 9.4 XML Transformationen: XSLT Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design

Mehr

XML Informationsmodelle

XML Informationsmodelle XML Vorlesung ETHZ, Sommersemester 2006 XML Informationsmodelle Erik Wilde 25.4.2006 http://dret.net/lectures/xml-ss06/ 25.4.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht XML Namespaces für Schema-Kombination

Mehr

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren

Zusammenfassung XML. Metasprache um Dokumenttypen zu definieren 1. XML Grundbegriffe XML = extensible Markup Language Metasprache um Dokumenttypen zu definieren XML Baum

Mehr

Die Verwendung der Object Constraint Language (OCL) in UML-Modellen

Die Verwendung der Object Constraint Language (OCL) in UML-Modellen Die Verwendung der Object Constraint Language (OCL) in UML-Modellen Gliederung Einleitung Grundlegende Prinzipien Was ist ein Kontext von Constraints Invarianten Vor- und Nachbedingungen Typen und Collections

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.

Mehr

Datenbanksysteme. Einführung in XML, XPath und XQuery Martin Gieseking

Datenbanksysteme. Einführung in XML, XPath und XQuery Martin Gieseking Datenbanksysteme Einführung in XML, XPath und XQuery 27.5.2013 Martin Gieseking XML-Technologien Strukturierte Daten SAX, DOM Strukturierte Daten XPath, XQuery XML Schemata DTD XML Schema Relax NG XSLT,

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces

14 Abstrakte Klassen, finale Klassen, Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces

14 Abstrakte Klassen, finale Klassen, Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse

Mehr

XML. XML-Abfrage- und Transformationssprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. XML-Abfrage- und Transformationssprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 86 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Mehr

INVENTARNR NAME BENUTZNR

INVENTARNR NAME BENUTZNR XML-Datenbanken 1. Traditionale Datenbanken 1.1 Heutzutage, wenn wir von Datenbanken reden, denken wir vielleicht zuerst an den traditionale Datenbaken, bzw relationale Datenbanken, die wir schon seit

Mehr

XML. XML-Datenmodellierung / XML-Schemasprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. XML-Datenmodellierung / XML-Schemasprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen XML-Datenmodellierung / XML-Schemasprachen XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 83

Mehr

JSON in Java mit Schema und JsonPath. Wolfgang Nast

JSON in Java mit Schema und JsonPath. Wolfgang Nast JSON in Java mit Schema und JsonPath Wolfgang Nast Agenda JSON Schema Java und JSON Schema JSON Path Mapping Zusammenfassung 2 JSON in Java mit Schema und JsonPath Im Überblick Technologie-orientiert Branchen-unabhängig

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Web-Techniken Einführung in JavaScript

Web-Techniken Einführung in JavaScript Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

IN A NUTSHELL. Elliotte Rusty Harold & W, Scott Means. Deutsche Übersetzung von Kathrin Lichtenberg & Jochen Wiedmann O'REILLY*

IN A NUTSHELL. Elliotte Rusty Harold & W, Scott Means. Deutsche Übersetzung von Kathrin Lichtenberg & Jochen Wiedmann O'REILLY* 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. IN A NUTSHELL Elliotte Rusty Harold & W, Scott Means Deutsche Übersetzung

Mehr

XSLT XSL Transformations

XSLT XSL Transformations XML-Praxis XSLT XSL Transformations Teil 1 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Namespaces XPath einfache XSLT-Stylesheets template rules default rules XML-Praxis XSLT XSL Transformations,

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Der Datentyp String. Stringvariable und -vergleiche

Der Datentyp String. Stringvariable und -vergleiche Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Spezifikation von Kommunikationssystemen

Spezifikation von Kommunikationssystemen 1 / 25 Spezifikation von Kommunikationssystemen 8. Abstrakte Datentypen und Objektorientiertes SDL Prof. Jochen Seitz Fachgebiet Kommunikationsnetze 23. Mai 2018 2 / 25 Übersicht 1 Abstrakte Datentypen

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

Automaten und formale Sprachen. Lösungen zu den Übungsblättern

Automaten und formale Sprachen. Lösungen zu den Übungsblättern Automaten und formale Sprachen zu den Übungsblättern Übungsblatt Aufgabe. (Sipser, exercise.3) M = ({q, q2, q3, q4, q5}, {u, d}, δ, q3, {q3}) δ: u d q q q 2 q 2 q q 3 q 3 q 2 q 4 q 4 q 3 q 5 q 5 q 4 q

Mehr

3.1 Reservierte Wörter

3.1 Reservierte Wörter 3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der

Mehr

Name Klasse Datum. Datentyp: Definition: Anführungszeichen

Name Klasse Datum. Datentyp: Definition: Anführungszeichen Name Klasse Datum 1 Allgemeines Die wachsende Notwendigkeit Daten schnell und strukturiert zwischen einzelnen Systemen zu verteilen, hat dem XML Format einen wichtigen Platz in der IT Systemlandschaft

Mehr

3.4 Struktur von Programmen

3.4 Struktur von Programmen 3.4 Struktur von Programmen Programme sind hierarchisch aus Komponenten aufgebaut. Für jede Komponente geben wir Regeln an, wie sie aus anderen Komponenten zusammengesetzt sein können. program ::= decl*

Mehr