Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Größe: px
Ab Seite anzeigen:

Download "Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung"

Transkript

1 Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung 1

2 XML XML steht für die extensible Markup Language (XML) XML ist eine sogenannte Markup-Sprache (wie HTML und SGML) und wurde entwickelt, um zusätzlich zum eigentlichen Inhalt eines Dokumentes Meta-Informationen zu speichern. 2

3 Markup-Sprachen Die meisten Markup-Sprachen verwenden Tags: <tag> Das ist ein Text </tag> Das ist der Fall in: XML (Extensible Markup Language) HTML (Hypertext-Markup Language) SGML (Standard Generalized Markup Language) 3

4 Beispiel HTML <html> <head> <title>webseite zur Vorlesung Datenbanken (WS09/10)</title> </head> <body> <p align="left > <h1> Vorlesung Datenbanken (WS09/10) <br> Universität Bielefeld<br> Prof. Philipp Cimiano</h1> Zeit: Donnerstags, 14:00-16:00 <br> Raum: H3<br> <br> Die erste Vorlesung findet am statt. <br> <font color="#990000"> Die Prüfung findet am 19. Februar 2010 um 10:00 statt! </font> 4

5 Unterschiede zwischen XML und HTML HTML hat ein festes (Tag-) Vokabular, während wir in XML beliebige Tags definieren und verwenden können. XML wird vorwiegend für den Datenaustausch eingesetzt; dafür ist HTML nicht geeignet. HTML ist eine Formattierungssprache 5

6 Beispiel für ein XML Dokument zur Datenrepräsentation 6 <bank> <account> <account_number> A-101 </account_number> <branch_name> Downtown </branch_name> <balance> 500 </balance> </account> <account> <account_number> A-102 </account_number> <branch_name> Brighton </branch_name> <balance> 900 </balance> </account> (...) </bank>

7 Datenaustausch In vielen Anwendungen möchten verschiedene Parteien Daten austauschen. Daten in einer Datenbank können schlecht ausgetauscht werden. Austausch in Form von Daten in Textform ist fehleranfällig. 7

8 XML für den Datenaustausch Folgende Eigenschaften machen XML geeignet als Sprache für den Datenaustausch: Selbsterklärend: Tags dokumentieren die Bedeutung der Daten Flexibilität: die Struktur eines XML-Dokumentes ist flexibel, es können z.b. zusätzliche Tags eingeführt werden ohne dass das Dokument korrumpiert ist. Die Gegenseite muss andererseits nicht alle Tags verarbeiten können. Die Tags können also auch einfach ignoriert werden. Komplexität: XML erlaubt beliebig komplexe Strukturen durch Einbettung: verschiedene Relationen können z.b. in ein Dokument gepackt werden. Standard: XML ist weitgehend akzeptiert als Standard für den Datenaustausch und es gibt genügend Tool-Unterstützung. 8

9 Bemerkungen zu XML Die Parteien, die Informationen austauschen wollen, müssen sich natürlich auf bestimmte Tags und ihre Bedeutung einigen. Die Repräsentation in XML ist nicht immer kompakt da die Attributnamen öfters wiederholt werden müssen. Genauso wie SQL der de facto -Standard für die Datenabfrage ist, ist XML der de facto -Standard für den Datenaustausch. 9

10 Struktur eines XML Dokumentes: Elemente Ein XML Dokument besteht aus sogenannten Elementen. Ein Element ist im Wesentlichenein Paar eines öffnenden und schließenden Tags zusammen mit dem beinhalteten Text. Das folgende ist z.b. ein Element: <account_number> A-101 </account_number> 10

11 Struktur eines XML Dokumentes: Attribute XML erlaubt auch die Spezifikation von Attributen. Attribute werden als Name/Wert-Paare innerhalb von Tags angegeben: <Tag A_Name= Wert > <Text> </Tag> 11

12 Beispiel für Attribute Beispiel: wir können Attribute nutzen um den Kontotyp anzugeben: <account account_number= A-101 > <branch_name> Downtown </branch_name> <balance> 500 </balance> </account> 12

13 Namespaces in XML Ein weiterer wichtiger Bestandteil von XML sind die sogenannten Namensräume (engl. Namespaces). Namespaces sind eindeutige Identifier, die als Prefix von Tag-Bezeichnern zu verstehen sind und damit Tags eindeutig machen. Sie identifizieren z.b. eine Organisation. Das verhindert z.b. dass andere Parteien Tags mit gleichem Namen aber ganz anderer Bedeutung verwenden. Die Namensräume werden in dem Wurzel-Element des XML-Dokumentes eingeführt. 13

14 Verwendung von Namensräumen in unserem Beispiel 14 <bank xmlns:bank=http://www.bank.de > <bank:account> <bank:account_number> A-101 </bank:account_number> <bank:branch_name> Downtown </bank:branch_name> <bank:balance> 500 </bank:balance> </bank:account> <bank:account> <bank:account_number> A-102 </bank:account_number> <bank:branch_name> Brighton </bank:branch_name> <bank:balance> 900 </bank:balance> </bank:account> (...) </bank>

15 XML Document Schemas Datenbanken haben meistens ein festes Schema mit Beschränkungen hinsichtlich der Datentypen der gespeicherten Information. XML Dokumente können ohne ein bestimmtes Schema erzeugt werden. Diese Flexibilität von XML ist in vielen Fällen von Vorteil. In anderen Fällen möchte man die Struktur der Dokumente näher beschreiben, besonders wenn XML Dokumente automatisch verarbeitet werden sollen. 15

16 XML Document Schemas Es gibt im Wesentlichen zwei Formate um das Schema eines XML Dokumentes zu definieren: Document Type Definition (DTD) XML Schema Wir besprechen im Folgenden die beiden Ansätze. 16

17 Document Type Definition (DTD) Die sogenannte Document Type Definition (DTD) ist ein optionaler Bestandteil eines XML Dokumentes. Eine DTD definiert im Wesentlichen die gültigen Elemente, Attribute und Subelemente eines XML Dokuments. 17

18 DTD am Beispiel <!DOCTYPE bank [ ] > <!ELEMENT bank ((account customer depositor)+) > <!ELEMENT account (account_number branch_name balance)> <!ELEMENT customer (customer_name customer_street customer_city)> <!ELEMENT depositor (customer_name account_number)> <!ELEMENT account_number (#PCDATA)> <!ELEMENT branch_name (#PCDATA)> <!ELEMENT balance (#PCDATA) > <!ELEMENT customer_name (#PCDATA)> <!ELEMENT customer_street (#PCDATA)> <!ELEMENT customer_city (#PCDATA)> 18

19 DTD am Beispiel <!DOCTYPE bank [ <!ELEMENT bank ((account customer depositor)+) > bank ist ein Element mit beliebig vielen (+) aber mindestens einem der folgenden Subelemente: account, customer oder depositor. Es wird also eine ähnliche Syntax verwendet wie wir sievon regulären Ausdrücken her kennen: steht für oder + steht für ein oder beliebig viele 19

20 DTD am Beispiel <!DOCTYPE bank [... <!ELEMENT account (account_number branch_name balance)> account ist ein Element mit den folgenden Subelementen (in genau der Reihenfolge): account_number, branch_name und balance. 20

21 DTD am Beispiel <!DOCTYPE bank [... <!ELEMENT customer (customer_name customer_street customer_city)> <!ELEMENT depositor (customer_name account_number)> customer und depositor sind änhlich zu account definiert. 21

22 DTD am Beispiel 22 <!DOCTYPE bank [... <!ELEMENT account_number (#PCDATA)> <!ELEMENT branch_name (#PCDATA)> <!ELEMENT balance (#PCDATA) > <!ELEMENT customer_name (#PCDATA)> <!ELEMENT customer_street (#PCDATA)> <!ELEMENT customer_city (#PCDATA)> Die obigen Elemente sind definiert als Typ #PCDATA (Parsed Character Data). Das ist der DTD Datentyp für Strings.

23 Definition von Attributen in der DTD Attribute eines Elementes werden in Form einer Attributliste definiert (ATTLIST). Die Syntax ist wie folgt: <! ATTLIST (<Element> <Attribute> <Type> (<Default- Value> #REQUIRED) )+> 23

24 Datentypen für Attribute Folgende Datentypen für Attribute sind in einer DTD erlaubt: CDATA: Attributwert enthält im wesentlichen Buchstaben und Ziffern (character data) ID: spezifiziert einen eindeutigen Wert (vergleichbar zu einem Schlüssel in rel. Datenbanken) IDREF: Fremdschlüssel auf einen Wert, der als Wert eines Attributs vom Type ID in einem anderen Element auftaucht. IDREFS: wie IDREF, erlaubt aber eine Liste von Fremdschlüsseln 24

25 Beispiel ID und IDREF <!ELEMENT account (branch_name balance)> <!ATTLIST account account_number ID #REQUIRED > owners IDREFS #REQUIRED 25

26 Probleme mit DTDs DTDs erlauben also die Spezifikation eines Schemas. Es gibt aber folgende Probleme mit DTDs: Textelemente (#PCDATA) oder Attribute (CDATA) können nicht näher typisiert werden. Bei Verwendung von ID und IDREF können wir nicht angeben, auf welchen Typ von Element sich der Verweis beziehen soll. In unserem Beispiel könnten wir von Account aus tatsächlich die ID von anderen Konten referenzieren. Das ist natürlich so nicht gewollt. Wir können keine beliebigen Kardinalitäten definieren. Um solche Probleme zu lösen wurde XML Schema eingeführt. 26

27 XML Schema XML Schemas werden im Gegensatz zu DTDs in XML selbst beschrieben. Dafür verwendet XML Schema den Namensraum: 27 XML Schema definiert auch einige Basis-Datentypen, wie z.b. string, integer, decimal (Zahl mit Nachkommastellen), date, boolean. Elemente mit Subelementen oder mit Attributen müssen in XML Schema als komplexe Datentypen definiert werden (complextype)

28 Beispiel XML Schema <xs:schma xmlns:xs= > <xs:element name= account > (...) <xs:complextype> <xs:sequence> <xs:element name= account number type= xs:string > <xs:element name= branch_name type= xs:string > <xs:element name= balance type= xs:decimal > </xs:sequence> </xs:complextype> </xs:schema> 28

29 minoccurs and maxoccurs Wir können auch Kardinalitäten mit XML Schema spezifizieren: <xs:complextype name= BankType > <xs:sequence> <xs:element ref= account minoccurs= 0, maxoccurs= unbounded > <xs:element ref= customer minoccurs= 0, maxoccurs= unbounded > <xs:element ref= depositor minoccurs= 0, maxoccurs= unbounded > </xs:sequence> </xs:complextype> 29

30 Definition von Schlüsseln Wir definieren account_number als Schlüssel von account wie folgt: <xs:key name= accountkey > <xs:selector xpath= /bank/account > <xs:field xpath= account_number > </xs:key> 30

31 Definition von Fremdschlüsselverweisen Wir definieren Element account_number im Element depositor als Fremdschlüsselverweis auf account wie folgt: <xs:keyref name= depositoraccountfkey refer= accountkey > <xs:selector xpath= /bank/depositor > <xs:field xpath= account_number > </xs:key> D.h. der Schlüssel accountkey muss natürlich vorher erzeugt werden (Folie 30). 31

32 Manipulation und Anfrage von XML Dokumenten Document Object Model (DOM) XPath XQuery XSLT 32

33 Document Object Model Das sogenannte Document Object Model (DOM) stellt uns eine Datenstruktur zur Verfügung, um XML Dokumente als Baum zu travesieren. Das DOM basiert im Wesentlichen auf Knoten. Knoten können sein: Elemente Texte (zwischen Element-Tags) Attribute usw. 33

34 Methoden auf Node; In Java wird ein Knoten im DOM Modell durch folgendes Interface realisiert: org.w3c.dom.node Dieses Interface hat die folgenden wichtigen Methoden: getchildnodes(): NodeList getnodetype(): short getnodename(): String getnodevalue(): String 34

35 Definition der Methoden getnodename, getnodetype und getnodevalue 35

36 DOM Tree für unser Beispiel bank Value=null account... #text Value= account_number branch_name balance #text #text #text Value= A-101 Value= Downtown Value=

37 DOM Tree in Java DocumentBuilderFactory domfactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = domfactory.newdocumentbuilder(); Document doc = builder.parse("/users/cimiano/documents/teaching/databases/ data/accounts.xml"); // doc enthält dann das DOM Modell 37

38 Traversierung des DOM Trees; Wir können z.b. das Wurzelelement zurückliefern lassen: Node root = doc.getdocumentelement(); Wir können alle Element eines bestimmten Typs zurückliefern lassen: NodeList nodes = doc.getelementsbytagname("account"); Wir können uns alle Kinder eines Knotens zurückliefern lassen: NodeList children = node.getchildnodes(); 38

39 Übungen Schauen sie sich die folgenden Programme auf der Webseite an: DOMTreeOutput.java: Ausgabe des DOM Trees für unser Beispiel accounts.xml XMLQuery.java: Rückgabe aller Kontonummern durch Verwendung des DOM Trees (und XPath). Sie brauchen zur Ausführung dieser Programme den Xerces Parser: 39

40 XPath Wir können auch bestimmte Fragmente (Knoten) eines XML Baums mit Hilfe von Pfadausdrücken adressieren: Ein Pfadausdruck ist eine Sequenz von Elementen oder Attributen, getrennt durch /. 40 In unserem Beispiel können wir z.b. alle Elemente <balance> </balance> durch folgenden Ausdruck adressieren: /bank/account/balance. Wichtig: beim Auswerten eines Pfadausdrucks werden immer Knoten zurückgeliefert.

41 XPath (Beispiel) 41 Pfadausdrücke werden von links nach rechts evaluiert. Jeder Teilausdruck gibt eine geordnete Liste von Knoten zurück. Der Pfadausdruck /bank/account/account_number liefert folgendes zurück: <account_number> A-101 </account_number> <account_number> A-102 </account_number> <account_number> A-215 </account_number> <account_number> A-305 </account_number> <account_number> A-201 </account_number> <account_number> A-222 </account_number> <account_number> A-217 </account_number>

42 Xpath (Beispiel) Wir können natürlich auch direkt den Text adressieren, mit folgendem Pfadausdruck: /bank/account/account_number/text() Das Ergebnis ist dann: A-101 A-102 A-215 A-305 A-201 A-222 A

43 XPath in Java Um alle Kontonummern in accounts.xml mit Hilfe von XPath zu erhalten können wir wie folgt vorgehen: DocumentBuilderFactory domfactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = domfactory.newdocumentbuilder(); Document doc = builder.parse("/users/cimiano/documents/teaching/databases/data/accounts.xml"); Document document = builder.parse( accounts.xml"); 43 XPath xpath = XPathFactory.newInstance().newXPath(); XPathExpression expr = xpath.compile("/bank//account_number/text()"); Object result = expr.evaluate(document, XPathConstants.NODESET); nodes = (NodeList) result; for (int i = 0; i < nodes.getlength(); i++) { System.out.println(nodes.item(i).getNodeValue()); } // siehe XMLQuery.java auf der Webseite

44 Xpath (Beispiel) Wir können auch bestimmte Bedingung einführen (ähnlich zu SELECT in der rel. Algebra und WHERE in SQL): /bank/account/[balance > 500]/balance/Text() Ergebnis: A-215 A-201 A-222 A

45 XPath In einem XPath Ausdruck kann man auch Knoten überspringen, z.b. /bank//account_number Liefert für unser Beispiel das selbe Ergebnis wie /bank/account/account_number 45

46 XQuery Für XML gibt es auch eine Anfragesprache ähnlich zu SQL. Diese Anfragesprache nennt sich XQuery und ist vom World Wide Web Consortium (W3C) standardisiert. Im W3C Jargon nennt man so ein Standard eine W3C Recommendation (http://www.w3.org/tr/xquery/) Die zu unserem ersten Pfadausdruck äquivalente XQuery- Anfrage sieht wie folgt aus: for $x in /bank/account/account_number return <account_number> {$x} </account_number> 46

47 Bemerkungen zu XQuery Eine XQuery Anfrage muss natürlich auch immer eine Liste von Knoten zurückliefern. Bei der Rückgabe müssen wir Ausdrücke, die ausgewertet werden sollen, in geschweifte Klammern einbetten. 47

48 Andere Konstrukte in XQuery Select in XML Attribute Ordnung Ausgabe des Unterbaums Joins 48

49 Select in XML Auch in XML können wir einen select durchführen, um z.b. nur die Knoten zu erhalten, die eine bestimmte Eigenschaft erfüllen. Bsp: wir selektieren alle Konten mit einem Saldo von über 400 Euro: for $x in /bank/account where $x/balance > 400 return <account_number> {$x/account_number}</account_number> 49

50 Attribute Wir können auch den Inhalt von gewissen Attributen selektieren. Nehmen wir an, die Kontonummer sei als ein Attribut des Elementes <account> modelliert: for $x in /bank/account return <account_number> </account_number> 50

51 Ordnung Wir können mit XQuery Ergebnisse auch anordnen: for $c in /bank/customer order by $c/customer_name return <customer> {$c/customer_name} </customer> 51

52 Ausgabe von Teilbäumen Wir können auch einfach den gesamten Teilbaum unter einem Element ausgeben: for $c in /bank/customer order by $c/customer_name return <customer> {$c/*} </customer> 52

53 Joins in XML Nehmen wir an, wir hätten ein Dokument mit Informationen zu Konten (<account>), Kunden (<customer>) und der Verbindung zwischen Kunden und Konten. Wir können einen Join wie folgt angeben in XQuery: for $a in /bank/account, $c in /bank/customer, $d in /bank/ depositor where $a/account_number = $d/account_number and $c/customer_name = $d/customer_name return <cust_acct> {$c $a} </cust_acct> 53

54 XSLT Die XML Stylesheet Language (XSL) war eigentlich als eine Sprache konzipiert, um XML Dokumente zu transformieren, z.b. in andere XML Dokumente oder in HTML. XSLT ist aber so mächtig, dass es im Prinzip auch als Anfragesprache für XML genutzt werden kann. XSL beinhaltet einen generischen Mechanismus, um XML Dokumente in andere Dokumente zu transformieren. Diesen Mechanismus nennen wir XSLT (XSL Transformations). 54

55 XSLT In XSLT können wir Schablonen (Templates) definieren, die zu bestimmten Teilen eines Dokumentes passen. Bsp: <xsl:template match= /bank/account > <xsl:value-of-select= customer_name > </xsl:template> Diese Schablone selektiert alle Element vom Typ Konto und gibt dann den Kundennamen (customer_name) aus (ohne Tags). 55

56 XSLT 56 Wichtig: Die Teile eines XML Dokumentes, die nicht zu einer definierten Schablone passen werden einfach so ausgegeben. Wenn wir das verhindern wollen, dann müssen wir eine Dummy -Schablone einführen, die auf alle Elemente passt und nichts ausgibt. Wir erweitern unser Beispiel also wie folgt: <xsl:template match= /bank/account > <xsl:value-of-select= customer_name > </xsl:template> <xsl:template match= */ >

57 XSLT Wichtig: jedes Element welches sich nicht im XSLT namespace befindet, wird genau so ausgegeben. z.b. <xsl:template match= /bank/account > <account> <xsl:value-of-select= account_number > </account> </xsl:template> <xsl:template match = * /> 57

58 Rekursion in XSLT 58 XML-Dokumente stellen im Wesentlichen einen Baum dar. Dementsprechend wollen wir mit XSL rekursiv Baumstrukturen aufbauen. Um das zu erreichen müssen wir unsere Schablonen rekursiv anwenden, um einen Baum aufzubauen. Das geht mit dem Konstrukt <xsl:applytemplates>. <xsl:template match= /bank > <accounts> <xsl:apply-templates> </account> </xsl:tempate>

59 Speicherung von XML Daten Wir wollen natürlich XML Dokumente auch persistent irgendwo speichern, um sie Anfragen zu können. Was für Möglichkeiten haben wir da? Speicherung als Dateien (Da haben wir die gleichen Nachteile wie in der ersten Vorlesung besprochen!) Speicherung in einer relationalen Datenbank Speicherung in einer nativen XML Datenbank 59

60 Speicherung von XML Daten in einer relationalen Datenbank Hier unterscheiden wir drei Möglichkeiten: 1. Speicherung als String 2. Explizite Repräsentation als Baum 3. Abbildung auf relationales Schema 4. Native Speicherung 60

61 Speicherung als String Hier gibt es folgende Alternativen: 1. Wir können das gesamte XML-Dokument als einen String in einem Tupel darstellen. 2. Wir können die Teilbäume der obersten Elemente als String darstellen. Allgemein ist die Speicherung als String suboptimal. Denn wir verlieren Struktur. Außerdem gibt es kein Schema und die Daten können nicht sinnvoll angefragt werden. 61

62 Speicherung als Baum Wir können auch explizit die Baumstruktur eines XML Dokumentes speichern in einer relationalen Datenbank. Dafür können wir z.b. folgende zwei Relationen verwenden: nodes(id,type,label,value) child(child_id,parent_id) 62

63 Beispiel Repräsentation als Baum <bank> <account> <account_number> A-101 </account_number> <branch_name> Downtown </branch_name> <balance> 500 </balance> </account> <account> <account_number> A-102 </account_number> <branch_name> Brighton </branch_name> <balance> 900 </balance> </account> (...) </bank> Nodes: (bank_1, elem, bank,null) (account_1, elem, account,null) (account_number_1, elem, account_number,null) (text_1, #text, #text, A-101 )... Child: (bank_1,null) (account_1,bank_1) (account_number_1,account_1) (text_1,account_number_1) 63

64 Vorteile/Nachteile der Baumrepräsentation Vorteile: es können formale Anfragen ausgewertet werden (z.b. SQL) Nachteile: Die Anfragen können relativ komplex werden Es müssen sehr viele Joins ausgewertet werden. 64

65 Abbildung auf relationales Schema Wir erzeugen eine Relation für jedes Element und die entsprechenden Unterelemente: Für jedes Attribut führen wir ein Extra-Attribut (Spalte in einer Tabelle) ein. Wenn das Unterelement einfach ist (d.h. keine Attribute oder Unterelemente hat), dann führen wir ebenfalls ein Extra-Attribut (Spalte in der Tabelle) für jedes Unterelement ein. Wenn das Unterelement komplex ist, dann führen wir explizite IDs für jedes Unterelement ein und fahren mit den Unterelementen fort. 65

66 Beispiel für Abbildung auf ein relationales Schema <bank> <account> <account_number> A-101 </account_number> <branch_name> Downtown </branch_name> <balance> 500 </balance> </account> <account> <account_number> A-102 </account_number> <branch_name> Brighton </branch_name> <balance> 900 </balance> </account> (...) </bank> Bank (Account_ID): (A_101) (A_102) Account (Account_ID,Acc_Num,Branch,Balance) (A_101, A-101, Downtown,500) (A-102, A-102, Brighton, 900 ) 66

67 Native Speicherung Einige DBMS unterstützen mittlerweile einen Datentypen xml. Sie speichern XML Daten dann nicht relational ab, sondern verwenden eigens dafür vorhergesehene Datenstrukturen. Solche DMBS unterstützen auch XQuery direkt ohne Umweg über SQL. Einige DBMS erlauben auch die Kombination von relationalen mit XML Daten sowie das Schachteln von Anfragen, z.b. von XML Anfragen innerhalb von SQL Queries. 67

Crashkurs XML. Überblick - Nachmittag. 16.10.2003 Felix Naumann RDBMS XML. Anfragebearbeitung Optimierung

Crashkurs XML. Überblick - Nachmittag. 16.10.2003 Felix Naumann RDBMS XML. Anfragebearbeitung Optimierung Crashkurs XML Felix Naumann Überblick - Nachmittag RDBMS Anfragebearbeitung Optimierung XML Grundkonzepte XML Schema XSLT & XQuery (Anfragesprache) 2 1 Integrierte Informationssysteme Anfrage Integriertes

Mehr

XML Schema vs. Relax NG

XML Schema vs. Relax NG XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen

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

2. Einführung in Datenbanken und XML

2. Einführung in Datenbanken und XML 2. Einführung in Datenbanken und XML Was ist XML? 2. Einführung in Datenbanken und XML XML steht für extensible Markup Language durch das W3C entwickeltes Dokumentenformat einfach, flexibel, von SGML abgeleitet

Mehr

1 Software Engineering 1

1 Software Engineering 1 1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt

Mehr

XML DTD und Schema von Thomas Mangold

XML DTD und Schema von Thomas Mangold XML DTD und Schema von Thomas Mangold Inhalt: Zweck kurze Übersicht über den Aufbau Gemeinsamkeiten und Unterschiede Grundelemente Schema vs. DTD Beispiel Definitieren eines Schemas Links 15.05.2002 XML-Seminar

Mehr

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee Mathias Heilig email: mathias.heilig@gmx.de Inhalt XSL Übersicht XSL im XML- Umfeld XSLT XPath XSL- FO Was können wir mit XSLT heute machen? Formatierungsprozess XSLT im XML- Formatierungsprozess Transformation

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de.

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de. Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object

Mehr

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer Speicherung von XML in (objekt-)relationalen Datenbanken Burkhard Schäfer Übersicht Motivation Anforderungen Ansätze modellorientiert strukturorientiert Zusammenfassung Motivation Warum XML in Datenbanken

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de XML und Java Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Was ist XML? Müller Hans Ulmenweg 22 70565

Mehr

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...

Mehr

IT-Zertifikat: Daten- und Metadatenstandards

IT-Zertifikat: Daten- und Metadatenstandards IT-Zertifikat: Daten- und Metadatenstandards DTD - Document Type Definition / Dokumenttypdefinition Das (bislang) Wichtigste auf einen Blick Externe DTD einbinden:

Mehr

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

XML. Basis Syntax. Basis Syntax. XML (extensible Markup Language) 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

Mehr

Vortrag im Rahmen des IFC-Seminars am 06.12.2000. Performance Messungen mit XML bei der empolis GmbH

Vortrag im Rahmen des IFC-Seminars am 06.12.2000. Performance Messungen mit XML bei der empolis GmbH Vortrag im Rahmen des IFC-Seminars am 06.12.2000 von Stefan Rauch Diplomarbeit zum Thema: Performance Messungen mit XML bei der empolis GmbH Übersicht / Agenda Einleitung Die Firma empolis GmbH XML, SAX,

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

XML Grundlagen Teil I

XML Grundlagen Teil I XML Vorlesung FH Aargau, SS 2006 XML Grundlagen Teil I Erik Wilde 20.3.2006 http://dret.net/lectures/xml-fhnw-ss06/ 20.3.2006 XML Vorlesung FHA SS 2006 1 Übersicht Aufbau von XML XML Dokumenten-Syntax

Mehr

Web-Programmierung (WPR)

Web-Programmierung (WPR) Web-Programmierung (WPR) Vorlesung II. XML Manfred Gruner mailto:wpr@gruner.org 4.2 XML XML extensible Markup Language Universelles Format für strukturierte Dokumente und Daten Web: XML = Querschnittstechnologie

Mehr

Projektseminar Texttechnologische Informationsmodellierung

Projektseminar Texttechnologische Informationsmodellierung Projektseminar Texttechnologische Informationsmodellierung XQuery Ziele der Sitzung Nach dieser Sitzung sollten Sie: XQuery als wesentlichen Standard zur Abfrage von in XML kodierten Daten kennen Mit Hilfe

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was 1 In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was die wichtigsten Konzepte sind. Den Themenbereich XML

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

Datenaustauschformate. Datenaustauschformate - FLV

Datenaustauschformate. Datenaustauschformate - FLV Datenaustauschformate FLV-Dateien CSV-Dateien XML-Dateien Excel-Dateien Access- Backupdateien Günter M. Goetz 108 Datenaustauschformate - FLV Fixed Length Values Repräsentation einer Tabelle als 'Flat-File'

Mehr

XSL Templates. Mit Templates arbeiten. XSL Templates

XSL Templates. Mit Templates arbeiten. XSL Templates XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder

Mehr

X-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001

X-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001 X-Technologien XML and Friends 9. Juli 2001 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht XML SAX DOM XSL XPath XSLT XSL FO Extensible Markup Language Simple API for XML Document Object Model Extensible

Mehr

XML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel

XML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel XML-QL Querysprachen für XML Zusätzliche Quellen: http://www.w3.org/tr/xquery/ http://www.w3schools.com/xquery/ XML-QL ist eine Querysprache für XML mit folgenden Eigenschaften: Kombiniert die XML-Syntax

Mehr

Webseite in XML Kurzeinführung

Webseite in XML Kurzeinführung Webseite in XML Kurzeinführung 1. Entwicklung... 1 2. Erste Webpage in XML... 2 2.1 Erstes Beispiel... 2 2.2 Tags definieren... 4 2.3 Kommentare in XML... 5 2.4 XML mittels CSS im Browser ansehen... 5

Mehr

Was ist SGML. - welche Auszeichnungen (Mark up) sind erlaubt? - welche Auszeichnungen sind notwendig?

Was ist SGML. - welche Auszeichnungen (Mark up) sind erlaubt? - welche Auszeichnungen sind notwendig? Was ist SGML SGML = Standard Generalized Markup Language internationaler Standard für die Beschreibung von Textauszeichnungen ( marked up text ) SGML ist keine Auszeichnungssprache sondern ein Formalismus

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Woche 10 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Zusammenfassung Zusammenfassung der letzten LV Satz Sei G = (V, Σ, R, S) eine kontextfreie

Mehr

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten Transformation von XML-Dokumenten Lernziele Warum kann es sinnvoll sein XML-Dokumente zu transformieren? Wie funktioniert XSLT (Extensible Stylesheet Language Transformations)? Was ist XPath? Was sind

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML-Praxis XML Extensible

Mehr

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

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back XML Grundlagen Andreas Rottmann,Sebastian Riedl 27. August 2002 Rottmann, Riedl: XML Grundlagen 1 Überblick Hintergründe und Geschichte Aufbau von XML-Dokumenten DTD Schemata Erweiterungen XML APIs Rottmann,

Mehr

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079)

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079) XML Verarbeitung mit einer in Haskell eingebetteten DSL Manuel Ohlendorf (xi2079) 2.0.200 Manuel Ohlendorf Übersicht 1 2 Einführung Datenstruktur Verarbeitung Vergleich mit anderen Verfahren Fazit 2 Übersicht

Mehr

Strukturierung von Inhalten

Strukturierung von Inhalten Strukturierung von Inhalten extensible Markup Language Metasprache erlaubt die Definition eigener Markupsprachen zur Strukturierung von Informationen World Wide Web Consortium (W3C) Standard Basiert auf

Mehr

Grundlagen der Extensible Stylesheet Language

Grundlagen der Extensible Stylesheet Language Grundlagen der Extensible Stylesheet Language Transformations (XSLT) Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 21. 01. 2011 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 120 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

2 XML-Basiskonzepte. 2.1 XML-Dokumente

2 XML-Basiskonzepte. 2.1 XML-Dokumente D3kjd3Di38lk323nnm 19 Im Rahmen dieses Buches können wir keine vollständige Einführung in alle XML-Konzepte geben. Diejenigen Konzepte von XML, die für das Verständnis von XQuery nötig sind, sollen aber

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

ASN.1 <-> XML TRANSLATION

ASN.1 <-> XML TRANSLATION ASN.1 XML TRANSLATION Management Verteilter Systeme Patrick Gerdsmeier, Pierre Smits Wintersemester 2003/2004 Lehrstuhl für Systeme Prof. Dr. Kraemer BTU Cottbus ASN.1 XML TRANSLATION Gliederung

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

Softwareentwicklung mit Komponenten

Softwareentwicklung mit Komponenten Softwareentwicklung mit Komponenten XML Extensible Markup Language TU Berlin im Wintersemester 2000/2001 Von Akin Kurdoglu Betreuer M.Bittner, W. Koch, Prof. Dr. S. Jähnichen 1 Gliderung - Definition von

Mehr

Kapitel 6: SQL und XML

Kapitel 6: SQL und XML 6. SQL und XML Seite 1 Kapitel 6: SQL und XML Wie können die Inhalte einer Datenbank als XML-Dokumente exportiert werden (Publizieren von XML? Wie können die Inhalte eines XML-Dokumentes in eine Datenbank

Mehr

extended Markup Language (XML)

extended Markup Language (XML) Überblick über Internet-Technologien Server-Technologien Datenbankkopplung XSP Servlets JSP PHP CGI nur HTML nur HTML XML+ Dokumentsprachen Client-PGM ruft DB-Server Web-Server ruft Datenbankserver nur

Mehr

XML Kurs 2005-8 LRZ 1

XML Kurs 2005-8 LRZ 1 XML Kurs 2005-8 LRZ 1 Inhalt 2005-8 LRZ 2 Werbung 1: XML steht für strukturierte Daten March 2008 2005-8 LRZ 3 Werbung 2: XML ist lizenzfrei, plattformunabhängig und gut unterstützt March 2008 2005-8 LRZ

Mehr

Konzept und Realisierung Extensible Stylesheet Language

Konzept und Realisierung Extensible Stylesheet Language Konzept und Realisierung Extensible Stylesheet Language Hauptseminar Telematik SS2002 Kai Weber XSL/XSLT 1 Inhalt des Vortrages Wozu dienen Stylesheets Vorstellung der XSL-Sprachfamilie Transformationen

Mehr

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda

Mehr

Implementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN

Implementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN Vorstellung der Diplomarbeit Implementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN Oberseminar Datenbanken WS 05/06 Diplomand: Oliver Schmidt Betreuer:

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Nachname: Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 120 Minuten. Aufgabe

Mehr

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs BNC/XML 7 BNC/XML XML BNC XSLT extensible Markup Language I XML erlaubt es, strukturierte Daten in Textdateien zu speichern. Zum Schreiben und Lesen von XML-Dateien genügen einfache Text-Editoren wie Emacs

Mehr

1 Was ist XML? Hallo XML! Kommentare in XML 52

1 Was ist XML? Hallo XML! Kommentare in XML 52 Inhalt Vorwort 13 Einleitung und Ziel des Buches 15 1 Was ist XML? 21 1.1 XML ein Definitionsversuch 21 1.2 XML und HTML wo sind die Unterschiede? 22 1.3 XSLT 24 1.4 Einsatzgebiete von XML und XSLT 25

Mehr

1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2.

1. Einführung. Gliederung. Document Object Model (DOM) DOM Die Spezifikation (1) Level 2 HTML Specification. 1. Einführung. 2. Gliederung Document Object Model (DOM) Level 2 HTML Specification 1. Einführung Spezifikation 2. DOM Module Levels, Core, Überblick 3. DOM Intern Funktionsweise, Parser 4. DOM Level 2 HTML Eigenschaften,

Mehr

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008

Programmieren II SAX. Beispiel-Schema kontakt.xsd SAX DOM. Dr. Klaus Höppner JAXB. Hochschule Darmstadt SS 2008 Programmieren II SAX Dr. Klaus Höppner DOM Hochschule Darmstadt SS 2008 JAXB 1 / 21 2 / 21 SAX SAX (Simple API for XML) ist eine ereignisorientierte Methode zum Parsen von XML-Dateien. Dies bedeutet, das

Mehr

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz XML 1 Einführung, oxygen Ulrike Henny ulrike.henny@uni-koeln.de XML extensible Markup Language Was ist XML? XML-Grundlagen XML-Editoren, oxygen HTML + CSS XPath Übungen Literatur Folie 2 Was ist XML? extensible

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester XML Vorlesung ETHZ, Sommersemester 2006 XML Schema Teil II Erik Wilde 16.5.2006 http://dret.net/lectures/xml-ss06/ 16.5.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Identity Constraints ID/IDREF in XML

Mehr

Universität zu Köln Informationsverarbeitung WS 2009/10. Datenbanken vs. Markup Prof. Dr. M.Thaller 25.11.2009. XML als Datenbank

Universität zu Köln Informationsverarbeitung WS 2009/10. Datenbanken vs. Markup Prof. Dr. M.Thaller 25.11.2009. XML als Datenbank Universität zu Köln Informationsverarbeitung WS 2009/10 HS: Dozent: Referentin: 25.11.2009 Datenbanken vs. Markup Prof. Dr. M.Thaller Frauke Schmidt XML als Datenbank Inhalt XML Datenbanken Anforderungen

Mehr

XML, XHTML und MathML

XML, XHTML und MathML XML, XHTML und MathML Erik Wilde Institut für Technische Informatik und Kommunikationsnetze (TIK) ETH Zürich 3.7.03 Erik Wilde 1 Programm Einführung und Geschichte von XML XML Basics (Dokumente, DTDs)

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

Logische Dokumentenstruktur mit SGML und XML

Logische Dokumentenstruktur mit SGML und XML Logische Dokumentenstruktur mit SGML und XML ein Referat von Oliver Lichte olichte@techfak.uni-bielefeld.de 15. Mai 2001 1 Standard Generalized Markup Language 1.1 Standard Generalized Markup Language

Mehr

XML - Extensible Markup Language. Agenda - Oracle XML DB

XML - Extensible Markup Language. Agenda - Oracle XML DB Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von Datenbanken 2005 in Wörlitz Annegret Warnecke Senior

Mehr

Allgemeines. veröffentlicht unter http://www.profv.de/uni/ lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005

Allgemeines. veröffentlicht unter http://www.profv.de/uni/ lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005 Volker Grabsch 14. Januar 2008 Allgemeines veröffentlicht unter http://www.profv.de/uni/ lizensiert unter Creative Commons BY-SA 3.0 Quelle Dieser Vortrag basiert auf dem Paper XQuery Implementation in

Mehr

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1. Multimediale Web-Anwendungen JavaScript Einführung MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1 Entstehungsgeschichte: JavaScript 1995 Netscape Communications Corp. (Brendan Eich)

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten 2 Was ist XML? Daten sind

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

XML. XML extensible. Markup. Language TECHNISCHE UNIVERSITÄT DRESDEN. Internet in der AT SS 06 Koycheva/Braune. Lehrstuhl für Automatisierungstechnik

XML. XML extensible. Markup. Language TECHNISCHE UNIVERSITÄT DRESDEN. Internet in der AT SS 06 Koycheva/Braune. Lehrstuhl für Automatisierungstechnik XML extensible Markup Language Gliederung: 1. XML als Auszeichnungssprache 2. Aufbau von XML-Dokumenten 3. Dokumentdefinition 4. Darstellung von XML-Dokumenten 5. Eigenschaften von XML 6. XML in der Automatisierung

Mehr

Dynamische Websites mit XML und PHP4

Dynamische Websites mit XML und PHP4 Dynamische Websites mit XML und PHP4 Linuxtag 2002 07.06.2002, Karlsruhe Stephan Schmidt Inhalt der Session Über den Redner Strukturierung von Inhalten Transformation von XML Entwickeln einer XML-Struktur

Mehr

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009 Einführung in XML Arthur Brack FHDW Hannover Inhalt Was ist XML? Warum XML? Aufbau von XML-Dokumenten Ausblick XML-Schemasprachen XPath XSLT Zusammenfassung Literatur Einführung in XML 2 / 14 Was ist XML?

Mehr

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele:

Semistrukturierte Daten. 2. Datenmodellierung mit XML und XML-Schema XML. Lernziele: 2. Datenmodellierung mit XML und XML-Schema Was ist XML? 2. Datenmodellierung mit XML und XML-Schema 2. Datenmodellierung mit XML und XML-Schema Was ist XML? Semistrukturierte Daten Lernziele: Eigenschaften

Mehr

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014

Modell/Metamodell. Generated Source Code. Generator. Model. Fakultät für Informatik und Wirtschaftsinformatik MDSD - SS 2014 Modell/Metamodell Model Generator Generated Source Code Andreas Schmidt Modellierung 1/18 Modell Modell beschreibt die zu generierende Anwendung Modell ist... abstrakt kompakt formal Modell kann in unterschiedlichen

Mehr

Datenbanksysteme I XML & Datenbanken. 28.7.2014 Dr. Gjergji Kasneci (Folien von Prof. Dr. Felix Naumann)

Datenbanksysteme I XML & Datenbanken. 28.7.2014 Dr. Gjergji Kasneci (Folien von Prof. Dr. Felix Naumann) Datenbanksysteme I XML & Datenbanken 28.7.2014 Dr. Gjergji Kasneci (Folien von Prof. Dr. Felix Naumann) Überblick 2 Motivation & Syntax XML Programmierung Schemata Anfragesprachen Speicherung von XML Motivation

Mehr

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

Daten- und Metadatenstandards Wintersemester 2011 / 2012 08. November 2011 XML II: DTD Daten- und Metadatenstandards Wintersemester 2011 / 2012 08. November 2011 XML II: DTD Themenüberblick Vergangene Woche: Text Inhalt Struktur Äußeres Erscheinungsbild: Layout Extensible Markup Language:

Mehr

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis IT-Zertifikat: Daten- und Metadatenstandards Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig I. Was ist XSLT? XSL Transformation (XSLT) ist eine Programmiersprache zur Transformation

Mehr

XML-Übersicht. Von HTML zu XML

XML-Übersicht. Von HTML zu XML XML-Übersicht Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung

Mehr

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language) Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten XML-Übersicht Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung

Mehr

XML und SOAP Einführung und Grundlagen

XML und SOAP Einführung und Grundlagen XML und SOAP Einführung und Grundlagen Matthias Böhmer 16.12.2005 Agenda 1. XML 2. SOAP 3. Seife im Buchladen?! E-Commerce :: XML und SOAP Matthias Böhmer 16.12.2005 2 XML :: Einführung (1) extensible

Mehr

Seminar im Sommersemester 2006 Institut für Mikrosystemtechnik, niversität Siegen

Seminar im Sommersemester 2006 Institut für Mikrosystemtechnik, niversität Siegen Web 2.0 im Sommersemester 2006 Mikrosystemtechnik, niversität Siegen Seite 1 Inhalt Einführung Eine DTD erstellen Das XML-Dokument Formatierung mittels XSLT Die HTML-Ausgabe Das Document Object Model Ajax

Mehr

Versuchsziele. 1. Aufgabe. Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata

Versuchsziele. 1. Aufgabe. Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata Versuchsziele XML-Dateien für eine vorgegebene DTD-Datei erstellen können. XML-Dateien

Mehr

Bibliothekssysteme / Verbundsysteme / Netze

Bibliothekssysteme / Verbundsysteme / Netze Bibliothekssysteme / Verbundsysteme / Netze Teil 5: Datenstrukturen / Anwendungen Kaderkurs für Diplombibliothekarinnen und Diplombibliothekare 2002-05-08 Programm 2002-05-08 1105 1140 XML und die Folgen

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

XSD - XML Schema Definition

XSD - XML Schema Definition XSD - XML Schema Definition Definieren von XML-Dokumenten Michael Dienert 15. September 2016 Inhaltsverzeichnis 1 Was sind XSD Dateien und warum soll man das lernen? 1 1.1 XSD Dateien und Anwendungen....................

Mehr

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: http://ruhr.pm.org/ XML-Daten verarbeiten mit XML::LibXML Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.1 The use of a camel image in association with Perl is a trademark of

Mehr

6. Datenbanken und XML

6. Datenbanken und XML 6. Datenbanken und XML 6.0 Einführung XML (extended Markup Language) definiert ein Format für Textdateien, das sich sehr gut als Austauschformat zwischen verschiedenen Softwaresystemen (z.b. zwischen Datenbanken

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Institut für Dokumentologie und Editorik. XML-Datenbanken und XQuery

Institut für Dokumentologie und Editorik. XML-Datenbanken und XQuery XML-Datenbanken & XQuery Folie 1 XML Digitale Edition XSL-FO XSLT XQuery XML-DB Folie 2 Programm - Ausgewählte Biere verköstigen - Brauereibesichtigung - Anwendung der Hefe erlernen - brauen Folie 3 Telota

Mehr

Polymorphe Typen in OEM (1) OEM. Polymorphe Typen in OEM (2) Object Exchange Model (OEM)

Polymorphe Typen in OEM (1) OEM. Polymorphe Typen in OEM (2) Object Exchange Model (OEM) Polymorphe Typen in (1) Object Exchange Model (). Motivation: Historische Entwicklung, alternatives semistrukturiertes Datenmodell. Manche Ansätze im Folgenden basieren auf. Thema der folgenden Folien.

Mehr

XML Schema 2016 S h_da S Seite 1

XML Schema 2016 S h_da S Seite 1 XML Schema Seite 1 XML/Schema: Strukturen Dokumentinstanz Dokumenttyp Wellformed Valid Dokumentstrukturdefinition mit XML/Schema XML Document Type Definition Seite 2 XML Dokument Instanz XML-Deklaration

Mehr

Verarbeitung von XML mit SAX und DOM

Verarbeitung von XML mit SAX und DOM Verarbeitung von XML mit SAX und DOM Sven Peters Seminar Dokumentenverarbeitung Typeset by FoilTEX Urspünglich nur für Java SAX Simple Api for XML Peter Murray-Rust (Jumbo XML Browser) - YAXPAPI (Yet Another

Mehr

X-Technologien. Ein Überblick. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz

X-Technologien. Ein Überblick. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz X-Technologien Ein Überblick Ulrike Henny ulrike.henny@uni-koeln.de X-Technologien Das X-Universum XML im Zentrum Woher kommt XML? Einsatz von XML X-Technologien Datenhaltung Datenzugriff Umwandlung Ausgabe

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Stefan Thater & Michaela Regneri Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Übersicht XML XML-Parser in Python HTML HTML-Parser in Python 2 Extensible

Mehr

Buchstabensuppe. Standards für die Präsentation von XML-Instanzen

Buchstabensuppe. Standards für die Präsentation von XML-Instanzen W. Schubert, Siemens ICM N IS P23-1- Buchstabensuppe Standards für die Präsentation von XML-Instanzen Walther Schubert Siemens ICM N IS P23 und Manfred Krüger MID/Information Logistics Group GmbH XML Name

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML-Praxis XML Extensible

Mehr

Ressourcen-Beschreibung im Semantic Web

Ressourcen-Beschreibung im Semantic Web Ressourcen-Beschreibung im Semantic Web Cristina Vertan Inhaltsübersicht Wie sollen die Ressourcen für Semantic Web annotiert werden? Was ist und wie funktioniert RDF? Wie kodiert man RDF-Statements in

Mehr

XML in der Oracle Datenbank "relational and beyond"

XML in der Oracle Datenbank relational and beyond XML in der Oracle Datenbank "relational and beyond" Ulrike Schwinn (Ulrike.Schwinn@oracle.com) Oracle Deutschland GmbH Oracle XML DB Ein Überblick 1-1 Agenda Warum XML in der Datenbank? Unterschiedliche

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser.

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Verwenden Sie folgende XML-Sprachmittel: Leeres Element, geschachtelte Elemente, Element

Mehr

Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06

Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06 Berner Fachhochschule Software Schule Schweiz JDOM http://www.jdom.org/ Beatrice Amrhein Oktober 06 1 Motivation JDOM ist ein Open Source, Baumbasiertes, Java API zum Parsen, Erzeugen, Verarbeiten und

Mehr

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz Transformation von XML-Dokumenten Folie 1 Was ist XSL politisch? XSL ist eine eigene Technik. Zum Publizieren (Transformieren) von Dokumenten. Früher gab es dafür Verlage und Schriftsetzer, um gute Inhalte

Mehr