260 likes | 368 Views
XML-Anfragesprachen Referentin: Monika Willenborg. Gliederung. 1. Motivation 2. Vergleich von HTML und XML an einem Beispiel 3. Aufgaben von XML-Anfragesprachen 4. Besondere Merkmale einiger XML-Anfragesprachen 5. Zusammenfassung/Fazit. Motivation.
E N D
XML-Anfragesprachen Referentin: Monika Willenborg
Gliederung 1. Motivation 2. Vergleich von HTML und XML an einem Beispiel 3. Aufgaben von XML-Anfragesprachen 4. Besondere Merkmale einiger XML-Anfragesprachen 5. Zusammenfassung/Fazit
Motivation - semantisch weitergehende Informationen - die Speicherung von Daten in XML kann z. B. bei Anfragen von Suchmaschinen zu wesentlich geeigneteren Ergebnissen führen - XML spielt daher sehr wahrscheinlich bald eine wichtige Rolle im Internet - der Datenzugriff mit klassischen Datenbanksprachen auf XML ist unzureichend, z. B werden in relationalen Datenbanksprachen keine Pfadausdrücke unterstützt
HTML und XML onko.html <h2>Onko Kaffee</h2> <i>Billiger:</i> <b>5,99</b>
HTML und XML onko.html <h2>Onko Kaffee</h2> <i>Billiger:</i> <b>5,99</b> Onko Kaffee Billiger: 5,99
HTML und XML onko.html onko.xml <h2>Onko Kaffee</h2> <i>Billiger:</i> <b>5,99</b> <Waren> <Marke>Onko Kaffee</Marke> <Text>Billiger:</Text> <Preis Art=“DM“>5,99</Preis> </Waren> Onko Kaffee Billiger: 5,99
HTML und XML onko.html onko.xml <h2>Onko Kaffee</h2> <i>Billiger:</i> <b>5,99</b> <Waren> <Marke>Onko Kaffee</Marke> <Text>Billiger:</Text> <Preis Art=“DM“>5,99</Preis> </Waren> Onko Kaffee Billiger: 5,99 – <Waren> <Marke>Onko Kaffee</Marke> <Text>Billiger:</Text> <Preis Art=“DM“>5,99</Preis> </Waren> + <Waren>
Aufgaben von XML-Anfragesprachen - Daten eines XML-Dokumentes selektieren - Ausgabedaten restrukturieren - neues Dokument erzeugen - Pfadausdrücke unterstützten - mit einem eigenen Datenmodell arbeiten
Buch Buch Video Video Buch ... Titel Titel Titel Autor Blumen Produzent Titel Autor Sommer Produzent Autor Wener Reus Hunderassen Luum Reus Kampfhunde Luum Hunderassen Buch Video Kampfhunde Hunde Ersteller Reus
Pfadausdrücke generelle Syntax: e::= l | e | _ | e.e | (e) | e-e | e* | e+ | e? Beispiele: ((s|S)ection|paragraph)(s)? ==> section, Section, sections, sections Sections, paragraph, paragraphs Tiere._*.Katzen Katzen Haustiere Tiere Fische kalte Länder Löwe wilde Tiere warme Länder Katzen Tiger
Einige XML-Anfragesprachen - Lorel - XML-QL - XML-GL - XSL - XQL
Beispiel: Auszug aus einem XML-Dokument <Verlag> <VName>Solverlag</VName> <Sitz>Berlin</Sitz> <Buch> <BName>Kochen heute</BName> <ISBN>3-434-02122-4</ISBN> <Seiten>100</Seiten> </Buch> .... </Verlag>
Graphische Darstellung des XML-Dokuments Verlag ... ... VName Buch Solverlag Sitz Seiten BName Berlin ISBN 100 Kochen heute 3-434-02122-4
Aufgabe: Es sollen die Verlagsdaten angezeigt werden, wenn die Bücher eine Seitenzahl haben, die kleiner als 100 oder gleich 100 ist.
Beispiel: Lorel-Anfrage select M from Suchweg.Verlag M where M.Buch.Seiten <=100
Besondere Merkmale von Lorel - Pfad Ausdrücke sehr mächtig und flexibel - Zwei Datensichten möglich (wegen IDREF) - Joins möglich - Universelle Quantifikation möglich - Aggregatfunktionen (z. B. Minimum) möglich - Unterstützt Ton, Video, Bilder und spezielle Datentypen wie Jpeg, Gif und Ps.
Beispiel: XML-QL-Anfrage WHERE <Verlag> <Buch> <Seiten>$r</Seiten> </Buch> </Verlag> ELEMENT_AS $m IN www.suchweg\verlag.xml , $r<=100 CONSTRUCT $m
Besondere Merkmale von XML-QL - Joins möglich - Unterstützt nicht Negation bei Prädikaten - Aggregatfunktionen nicht möglich - Nur begrenzt Mengenoperationen möglich - Relative Position von Tags kann angefragt werden
Beispiel: XML-GL-Anfrage www.suchweg/verlag.xml VERLAG VERLAG * BUCH SEITEN <= 100
Besondere Merkmale von XML-GL - Graphische Anfragesprache - Joins möglich - Pfad Ausdrücke nur begrenzt möglich - Aggregatfunktionen (z. B. Minimum) möglich - Verschachtelungen nicht möglich
Beispiel: XSL-Anfrage <xsl:template match="/"> <xsl:for each select=“Verlag[Buch/Seiten<=100]"> <xsl:value-of /> </xsl:for-each> </xsl:template>
Besondere Merkmale von XSL - Aufbau wie ein XML Dokument - keine Joins möglich
Beispiel: XQL-Anfrage Verlag[Buch/Seiten<=100]
Besondere Merkmale von XQL - Erweiterung der XSL pattern Syntax - Einfach und kompakt - Kein eigenes Datenmodell - Joins nicht möglich - keine extra Ergebnisanweisung - Verschachtelungen nicht möglich
Besondere Merkmale im Überblick Lorel XML-QL XML-GL XSL XQL eigenes Datenmodell kennt IDREF Joins graphische Darstellung Aufbau wie XML Dokument einfach und kompakt Pfadausdrücke universelle Quantifikation Negation Aggregatfunktionen Verschachtelungen Mengenoperationen Ergebnisanweisung
Zusammenfassung/Fazit - viele Webseiten sind nach wie vor in HTML - es sind schon viele Anfragesprachen für XML entstanden und weitere werden entwickelt - die Anfragesprachen sind teilweise schon sehr leistungsfähig z. B. Lorel, aber ihre Anwendung ist unkomfortabel - XML-QL ist schon komfortabel, dafür nicht so leistungsfähig - die Entwicklung der Anfragesprachen ist relativ neu (wie auch XML), sie werden von Programmen wie z. B. Netscape Navigator nicht unterstützt, was sehr wünschenwert wäre. (XSL wird nur teilweise vom IE 5.0 unterstützt)