close

XQuery

Gå til navigation Gå til søg

XQuery er et forespørgselssprog designet til indsamling af XML -data . Det ligner semantisk SQL , selvom det indeholder nogle programmeringsmuligheder.

XQuery 1.0 er udviklet af W3C XML Query arbejdsgruppen . Arbejdet var tæt koordineret med udviklingen af ​​XSLT 2.0 af XSL Working Group ; de to grupper delte ansvaret for XPath 2.0 , som er en delmængde af XQuery 1.0. XQuery 1.0 er en W3C- anbefaling fra 23. januar 2007 .

Funktioner

XQuery giver mulighed for at udtrække og manipulere information fra XML-dokumenter eller fra enhver datakilde, der kan repræsenteres ved hjælp af XML, såsom relationsdatabaser eller kontordokumenter.

XQuery bruger XPath- udtryk til at få adgang til visse dele af XML-dokumentet. Det tilføjer også udtryk, der ligner dem, der bruges i SQL, kendt som FLWOR- udtryk . FLWOR-udtryk har deres navn fra de 5 typer udsagn, de kan være sammensat af: FOR , LET , WHERE , ORDER BY og RETURN .

Det inkluderer også muligheden for at bygge nye XML-dokumenter ud fra forespørgselsresultaterne. En XML-lignende syntaks kan bruges, hvis strukturen (elementer og attributter) er kendt på forhånd, eller dynamiske nodekonstruktionsudtryk kan bruges på anden måde. Alle disse konstruktører er defineret som udtryk i sproget og kan indlejres vilkårligt.

Sproget er baseret på træmodellen af ​​oplysningerne i XML-dokumentet, som består af syv forskellige nodetyper: elementer, attributter, tekstnoder, kommentarer, behandlingsinstruktioner, navnerum og dokumentnoder.

Typesystemet, der bruges af sproget, betragter alle værdier som sekvenser, idet man antager en enkelt værdi som en sekvens af et enkelt element. Elementerne i en sekvens kan være atomværdier eller noder. Atomværdier kan være heltal, tekststrenge, boolske værdier osv. Den fulde liste over tilgængelige typer er baseret på de primitiver, der er defineret i XML Schema .

XQuery 1.0 inkluderer ikke muligheden for at opdatere XML-dokumenter. Du kan heller ikke udføre tekstsøgninger. Disse to funktioner er ved at blive udviklet til mulig inkorporering i den næste version af sproget.

Eksempler

Følgende XQuery-kodeeksempel viser de tegn, der optræder i hver handling af Shakespeares Hamlet , hentet fra hamlet.xml- dokumentet .

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

XQuery er et funktionelt programmeringssprog, der udelukkende består af udtryk. Der er ingen udsagn, selvom nogle af de anvendte søgeord kan tyde på udsagnslignende adfærd. For at udføre en funktion evalueres udtrykket inde i funktionens krop, og det opnåede resultat returneres. For for eksempel at skrive en funktion, der duplikerer værdien leveret som et argument, ville vi skrive:

erklære funktion local:doubler($x) { $x * 2 }

For at skrive en XQuery-forespørgsel, der returnerer teksten "Hello, World", skriver vi udtrykket:

"Hej Verden"

Ansøgninger

En liste over nogle eksempler på brug af XQuery:

  • Udtræk oplysninger fra en database for at bruge dem i en webtjeneste .
  • Generer en oversigt over de oplysninger, der er gemt i en XML-database.
  • Udfør tekstsøgninger på nettet og kompilér resultaterne af det.
  • Vælg og transformer data fra XML til XHTML , så de kan publiceres på nettet.
  • Indhent data fra forskellige kilder med henblik på at blive integreret af applikationen.
  • Opdel et XML-dokument, der repræsenterer en række af flere transaktioner, i flere XML-dokumenter, et for hver transaktion.

Se også

Eksterne links