1 / 21

XML Standardisierungen und Abfragesprachen

XML Standardisierungen und Abfragesprachen. Inhalt. Standardisierungen - Dokumenttyp-Definition (DTD) - XML Schema - XML Schema - eigene Datentypen Abfragesprachen - XPath - XQL. Dokumenttyp-Definition (DTD).

alvin-bond
Download Presentation

XML Standardisierungen und Abfragesprachen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XMLStandardisierungen undAbfragesprachen Oberseminar Datenbanken - Christian Wilke 98I

  2. Inhalt • Standardisierungen - Dokumenttyp-Definition (DTD) - XML Schema - XML Schema - eigene Datentypen • Abfragesprachen - XPath - XQL Oberseminar Datenbanken - Christian Wilke 98I

  3. Dokumenttyp-Definition (DTD) • definiert Elemente, Attribute und Entities- Reihenfolge- Anzahl- Werte- Datentypen • XML Dokument ist gültig wenn es zu seiner DTD konform ist • Dokumente müssen keine DTD besitzen Oberseminar Datenbanken - Christian Wilke 98I

  4. DTD - Beispiel <!DOCTYPE label[ <!ELEMENT label (name, street, city, state, country, code)> <!ELEMENT name (#PCDATA)> <!ELEMENT street (#PCDATA)> <!ELEMENT city (#PCDATA)> <!ELEMENT country (#PCDATA)> <!ELEMENT code? (#PCDATA)> ]> Oberseminar Datenbanken - Christian Wilke 98I

  5. DTD - Einsatz <!DOCTYPE label SYSTEM label.dtd"> ... <label> <name>Max Mustermann</name> <street>Musterstraße 17</street> <city>Musterstadt</city> <country>Musterland</country> <code>0815</code> </label> Oberseminar Datenbanken - Christian Wilke 98I

  6. DTD - Beispiel (2) <!ELEMENT car (#PCDATA)> <!ATTLIST car type (coupe|limousine|cabrio|kombi) "coupe" name CDATA #REQUIRED color CDATA #IMPLIED > Oberseminar Datenbanken - Christian Wilke 98I

  7. XML Schema • weitere Möglichkeit, Elemente und Attribute bzw. Voraussetzungen für deren Auftreten zu definieren • liegt als wohlgeformtes XML-Dokument vor • Attribute werden als Kindknoten der Elemente dargestellt • Einbindung in XML-Dokument: <gedicht xmlns=” gedicht.xsd”...> Oberseminar Datenbanken - Christian Wilke 98I

  8. XML Schema - Beispiel <schema name=”gedicht.xsd”> <elementType name=”gedicht”> <sequence minOccur=”1”> <elemntTypeRef name=”titel”/> <elemntTypeRef name=”vers” minOccur=”1” maxOccur=”*”/> </sequence> <attrDecl name=”autor” required=”false”> <dataTypeRef name=”string”/> </attrDecl> </elementType> ... </schema> Oberseminar Datenbanken - Christian Wilke 98I

  9. XML Schema (2) • Elementtypen mit lokalem Gültigkeitsbereich • Elemente erweitern • Import von Teilen eines Schemas bzw. ganzen Schemen • Export von Teilen eines Schemas bzw. ganzen Schemen • benutzerdefinierte Datentypen Oberseminar Datenbanken - Christian Wilke 98I

  10. XML Schema - Datentypen • XML Schema • erkennt welche Attribute welche Datentypen verlangen • überprüft, ob Daten Einschränkungen des Datentyps entsprechen (30. Februar...) • ermöglicht Definition neuer Datentypen Oberseminar Datenbanken - Christian Wilke 98I

  11. XML Schema eigene Datentypen • vorhandene Datentypen:ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS, NOTATION, CDATA string, boolean, number, dateTime, binary, uri, integer, decimal, real, date, time, timePeriod • benutzerdefinierte Datentypen bauen darauf auf Oberseminar Datenbanken - Christian Wilke 98I

  12. XML Schema eigene Datentypen <datatyp name=”wochentag”> <basetyp name=”string”/> <enumeration> <literal>Montag</literal> <literal>Dienstag</literal> ... <literal>Samstag</literal> <literal>Sonntag</literal> </enumeration> </datatyp> Oberseminar Datenbanken - Christian Wilke 98I

  13. XML Schema eigene Datentypen <attrDecl name=”tag” required=”false”> <datatypeRef name=”wochentag”/> </attrDecl> Oberseminar Datenbanken - Christian Wilke 98I

  14. XML Path Language - XPath • dient zum Auffinden von Informationen in XML-Dokumenten • XSL und XPointer bauen auf XPath auf<xsl:apply-templates select=”id(‚smith‘)/info[@type=‘public‘]”> • XML-Dokument wird als Baum interpretiertTeile des Dokuments (Elemente, Attribute...) entsprechen Knoten des Baums, Wurzel ist das Dokument selbst Oberseminar Datenbanken - Christian Wilke 98I

  15. XPath - Beispiel <?xml version=”1.0”?> <!--Vorbemerkung--> <Wurzel> <!--Parent-Element--> <Parent Name=”Elternknoten”> <Child Name=”Kindknoten”>Kind 1</Child> <Child Name=”Kindknoten”>Kind 2</Child> </Parent> </Wurzel> Oberseminar Datenbanken - Christian Wilke 98I

  16. XPath - Baumstruktur R Wurzel C Kommentar E Element A Attribut T Text Oberseminar Datenbanken - Christian Wilke 98I

  17. XPath - Knotentypen • sieben Typen von Knoten:- Wurzelkonten (nicht das Wurzelelement)- Elementknoten- Textknoten (Inhalt der Elemente)- Attributknoten (gelten nicht als Kinder des Elementknotens)- Namensraumknoten- Kommentarknoten- Verarbeitungsanweisungsknoten (z.B. <?cursor blinking?>). Oberseminar Datenbanken - Christian Wilke 98I

  18. XPath Auffinden einzelner Elemente • erfolgt durch sogenannten Adresspfad • einfachster Adresspfad / wählt Wurzelknoten aus • relativ dazu werden untergeordnete Knoten ausgewählt, z.B. /Wurzel/Parent • mittels Prädikaten können Elemente mit bestimmten Attributwerten ermittelt werden/Wurzel/Parent/Child[@Name=”Kindknoten”][2] Oberseminar Datenbanken - Christian Wilke 98I

  19. XPath - Achsen • Achsen sind Kriterien zum Auffinden von Informationen- child-Achse (Kind) ermittelt direkt untergeordnete Elemente- descendent-Achse (Nachfahre) ermittelt untergeordnete Elemente- parent-Achse(Eltern) ermittelt direkt übergeordnete Elemente- ancestor-Achse (Vorfahre) ermittelt übergeordnete Elemente- self-Achse (Eigen-Achse) ermittelt Elemente in Bezug auf aktuellen Knoten- attribute-Achse (Attribut) ermittelt Attribute von Elementen Oberseminar Datenbanken - Christian Wilke 98I

  20. XML Query Language - XQL • entwickelt, bevor sich XPath durchsetzen konnte • Datenmodell und Syntax sind ähnlich • auch XQL filtert Teilmengen von Informationen aus XML-Dokumenten • XQL interpretiert Dokument ebenfalls als Baum (mit Dokumentelement als Wurzelknoten) • verschiedene Filter:Kind, Nachfahre, Attribut, Inhalt (Gleichheit, Ungleichheit...) Oberseminar Datenbanken - Christian Wilke 98I

  21. XQL (2) • Unteranfragen - Anfragen auf Ergebnisse von Unteranfragenbuch/kapitel[bild]liefert alle Kapitel aus dem Buch, die ein Bild enthalten • Methoden erleichtern aussagekräftige Anfragenbuch/kapitel[index() = 0]buch/kapitel/absatz/zeile[text()=”abc”]liefern das erste Kapitel des Buches bzw. die Zeile(n) mit dem Inhalt abc. Oberseminar Datenbanken - Christian Wilke 98I

More Related