XQuery

XQuery er et spørringsspråk designet for samlinger av XML -data . Det ligner semantisk på SQL , selv om det inkluderer noen programmeringsmuligheter.

XQuery 1.0 ble utviklet av W3C XML Query -arbeidsgruppen . Arbeidet ble tett koordinert med utviklingen av XSLT 2.0 av XSL Working Group ; de to gruppene delte ansvaret for XPath 2.0 , som er en undergruppe av XQuery 1.0. XQuery 1.0 er en W3C- anbefaling fra 23. januar 2007 .

Funksjoner

XQuery gir midler til å trekke ut og manipulere informasjon fra XML-dokumenter, eller fra enhver datakilde som kan representeres ved hjelp av XML, for eksempel relasjonsdatabaser eller kontordokumenter.

XQuery bruker XPath- uttrykk for å få tilgang til visse deler av XML-dokumentet. Den legger også til uttrykk som ligner på de som brukes i SQL, kjent som FLWOR- uttrykk . FLWOR-uttrykk har fått navnet sitt fra de 5 typene utsagn de kan være sammensatt av: FOR , LET , WHERE , ORDER BY og RETURN .

Det inkluderer også muligheten til å bygge nye XML-dokumenter fra søkeresultatene. En XML-lignende syntaks kan brukes hvis strukturen (elementer og attributter) er kjent på forhånd, eller dynamiske nodekonstruksjonsuttrykk kan brukes på annen måte. Alle disse konstruktørene er definert som uttrykk i språket, og kan nestes vilkårlig.

Språket er basert på tremodellen for informasjonen i XML-dokumentet, som består av syv forskjellige nodetyper: elementer, attributter, tekstnoder, kommentarer, behandlingsinstruksjoner, navnerom og dokumentnoder.

Typesystemet som brukes av språket anser alle verdier som sekvenser, og antar en enkelt verdi som en sekvens av et enkelt element. Elementene i en sekvens kan være atomverdier eller noder. Atomverdier kan være heltall, tekststrenger, boolske verdier, etc. Den fullstendige listen over tilgjengelige typer er basert på primitivene definert i XML Schema .

XQuery 1.0 inkluderer ikke muligheten til å oppdatere XML-dokumenter. Du kan heller ikke utføre tekstsøk. Disse to funksjonene utvikles for mulig inkorporering i neste versjon av språket.

Eksempler

Følgende XQuery-kodeeksempel viser tegnene som vises i hver handling av Shakespeares Hamlet , hentet fra hamlet.xml- dokumentet .

<html><head/><body> { for $act i doc("hamlet.xml")//ACT la $speakers := distinct-values($act//SPEAKER) komme tilbake <span> <h1>{ $act/TITLE/text() }</h1> <ul> { for $speaker i $speakers returner <li>{ $speaker }</li> } </ul> </span> } </body></html>

XQuery er et funksjonelt programmeringsspråk som utelukkende består av uttrykk. Det er ingen utsagn, selv om noen av søkeordene som brukes kan tyde på utsagnslignende oppførsel. For å utføre en funksjon, blir uttrykket inne i funksjonens kropp evaluert og det oppnådde resultatet returneres. For å skrive en funksjon som dupliserer verdien som er oppgitt som et argument, vil vi for eksempel skrive:

erklær funksjon local:doubler($x) { $x * 2 }

For å skrive en XQuery-spørring som returnerer teksten "Hello, World", skriver vi uttrykket:

"Hei Verden"

Applikasjoner

En liste over noen eksempler på bruk av XQuery:

Se også

Eksterne lenker