FU Berlin

<xmlcity:berlin>

Bundesministerium für Bildung und Forschung

Wachstumskerne

   
   
 

> Über das XML Clearinghouse
> Ansprechpartner
 

XML in Berlin und Brandenburg
> Firmen
> Forschungsvorhaben
> Lehrveranstaltungen
> Stellenangebote
 

Veranstaltungen des XML Clearinghouses
> XML Kolloquium
> Workshops
> Konferenzen
> Infotage
 

XML im deutsch-sprachigen Raum
> XML Veranstaltungen
> Standards und Entwicklungen
> Fördermöglichkeiten
> XML Reports
 

XML News
> Deutschsprachig
> Englischsprachig
> Semantic Web
> E-Business
> News einstellen
 

Online-Zertifikate
> XML-Grundlagen
> Electronic Business
> Semantic Web
 

Testlabor
> Ontology Reviewing System
 
 
 

XQuery

Status: W3C Working Draft vom 12.11.2003
Version: 1.0
Homepage: http://www.w3.org/TR/xquery/
Verfasser: W3C

XQuery ist eine XML Anfragesprache, die einfach verständlich sein soll sowie flexibel mit verschiedenen Datenquellen umgehen kann. XQuery baut auf der Anfragesprache Quilt auf, die unter anderem Elemente von XPath, XQL und SQL enthält. Gleichzeitig ist XQuery eine Übermenge von XPath 1.0, d.h. eine Anfrage die sowohl in XQuery als auch in XPath gültig ist, liefert in beiden Sprachen das gleiche Ergebnis.

Eine Anfrage in XQuery besteht aus einem optionalen Prolog, in dem Namensräume und Funktionen deklariert werden können, und dem Anfragekörper, der aus einer Sequenz von Ausdrücken verschiedener Arten besteht. Die Bedeutung dieser Ausdrücke hängt von dem aktuellen Kontext ab, d.h. den Namespaces, Funktions- und Variablendefinitionen, der Base URI, der aktuellen Belegung von Variablen und Parametern sowie einigen weitern Punkten.

Als Ausdrücke können aus nachfolgenden Elementen bestehen.

  • Literale, das sind Zahlen, Zeichenketten oder Wahrheitswerte.
  • Pfade, diese werden verwendet um Koten im XML Dokument zu adressieren. Dabei sind auch Wildcards erlaubt. Daneben gibt es die Möglichkeit Pfade mit Hilfe von Prädikaten auszuschließen, so liefert child::employee[secretary] alle Knoten, die ein Element "secretary" haben.
  • Arithmetische und logische Ausdrücke, diese Ausdrücke können aus den arithmetischen Operatoren +, -, *, div, idiv und mod bzw. aus and und or erzeugt werden.
  • Vergleichsausdrücke, von denen es 3 verschiedene Arten gibt, zum einen für den Vergleich von Werten, dann für den Knotenvergleich und schließlich einen für einen allgemeinen Vergleich.
  • Konstruktoren, mit denen XML Strukturen durch eine Anfrage erzeugen werden könenn, diese werden in geschweiften Klammern notiert.
  • Bedingungen, die in der Form "if" ? "then" ? "else" angegeben werden.
  • Quantifizierende Ausdrücke, als Existenzquantor dient Xquery "some" und als Allquantor "every".
  • Validierungsausdrücke, die dazu dienen einzelne Knoten zu überprüfen.

Variablen werden in XQuery durch ein $ gefolgt von dem Variablennamen referenziert. Ausdrücke können geklammert werden, um die Auswertungsreinfolge festzulegen. Kommentare werden durch die Zeichen (: und :) eingeschlossen.

Beispiel einer XQuery Anfrage die alle Autoren eines Buches zählt und sie ausgibt
<results>
	{
		for $book in //book
		let $authors := $book/author
		return
			<book title={ $book/title/text() } authorCount={ count($authors) }>
			{
				for $author in $authors
				return
					<author>{ $author/last/text() }</author>
			 }
			</book>
	}
</results>

Beispiel Datensatz für diese Anfrage
<bib>
	<book year="2003">
		<title>XQuery from the Experts</title>
		<author><last>Katz</last><first>Howard</first></author>
		<publisher>Addison-Wesley</publisher>
		<price>49.99</price>
	</book>
	<book year="2003">
		<title>XML Schema</title>
		<author><last>van der Vlist</last><first>Eric</first></author>
		<publisher>O'Reilly</publisher>
		<price>40.00</price>
	</book>
	<book year="2003">
		<title>XQuery</title>
		<author><last>Nagarajan</last><first>Vaidyanathan</first></author>
		<author><last>McGovern</last><first>James</first></author>
		<author><last>Bothner</last><first>Per</first></author>
		<publisher>Sams</publisher>
		<price>34.99</price>
	</book>
</bib>
	

Ergebnis dieser Anfrage
<results>
	<book title="XQuery from the Experts" authorCount="1">
		<author>Katz</author>
	</book>
	<book title="XML Schema" authorCount="1">
		<author>van der Vlist</author>
	</book>
	<book title="XQuery" authorCount="3">
		<author>Nagarajan</author>
		<author>McGovern</author>
		<author>Bothner</author>
	</book> 
</results>
	


 
         
       
 
  Seite zuletzt geändert am: 11-Apr-2006 11:11:43
Webadmin: wwwadmin@xml-Clearinghouse.de
© XML Clearinghouse   Impressum
Haftungsausschluss