XPath

XPath er et sprog af familien, der identificerer XML noder i et XML-dokument. XPath udtryk, i modsætning til de XML udtryk, ikke egnet til at identificere strukturen af ​​et dokument, men nøjagtigt at lokalisere knudepunkterne.

XPath er oprindeligt født fra behovet for at give en syntaks og en fælles adfærd blandt XPointer og XSL; Først senere blev vedtaget af udviklere som en metode til at forespørge data i XML-format. Den version 1.0 af XPath blev en W3C standard November 16, 1999.

Notation

Den mest almindelige form for XPath udtryk er en sti udtryk. En sti udtryk er skrevet som en sekvens af skridt til at nå en XML-node, der starter fra den aktuelle node. Alternativt kan du bruge veje "absolut" ved hjælp som reference dokumentet roden. Elementerne er adskilt af "/". Hvert element har tre komponenter:

  • Axis Specifier
  • Node test
  • Prædikat

Vi har defineret to notationer:

  • Forkortet syntaks, kompakt, hvilket tillader oprettelsen af ​​konstruktioner intuitive og let realisable;
  • Komplet syntaks, mere kompleks, som indeholder yderligere muligheder, i stand til at angive mere udførligt elementerne.

Stenografi

Den stenografi notation tillader mange forskellige syntaks for fælles sager. XPath'en har en enkleste form af typen:

som udvælger C elementer, der er børn af B elementer, der er børn af A element, der er roden af ​​XML-dokumentet. XPath syntaks er designet til at efterligne syntaksen af ​​URI og at bruges til at angive de filer eller mapper i filsystemet.

De mere komplekse udtryk kan konstrueres ved at angive en akse forskellig fra en simpel navn eller prædikat, som kan skrives i parentes efter hele udtrykket. For eksempel:

Vælg det første element, søn af B, uanset dens navn, og antallet af knuder, der findes mellem A og B. Bemærk, at udtrykket ikke begynder med "/", så A er en aktuel kontekst node.

Udvidet syntaks

I den fulde syntaks, over de to eksempler vil blive skrevet:

I dette tilfælde hvert punkt i XPath'en, Axis udtrykkeligt angivet, efterfulgt af :: og stadig efterfulgt af knudepunktet test, såsom A eller node af ovennævnte eksempler.

Axis

Den akse angiver bevægelsesretningen af ​​dokumentet XML. Axis rådighed, helt og forkortet syntaks, er:

For eksempel ved hjælp af følgende stenografi, du vælger en attribut ved navn i ethvert element af dokumentet. Axis er mest almindeligt anvendt til at henvise til den aktuelt valgte node. For eksempel, vælge et punkt ved navn i den aktuelle kontekst, hvis tekst er lig med "Se også".

Node Test

Knudepunktet test kan kontrollere specifikke navne på knudepunkter eller mere generelle udtryk. I tilfælde af et XML-dokument, hvor præfikset namespace er defineret, vil du finde alle de knuder i denne namespace.

Andre node test er:

Prædikater

Udtryk af enhver størrelse kan specificeres i firkantede parenteser, der skal være opfyldt, for at node, der skal tages i betragtning. For eksempel vil der matcher et element med en egenskab ved hvilken værdien er. Der er ingen grænse for antallet af prædikater og bør ikke være begrænset til det sidste element i en XPath udtryk. De kan også indlejres. Stier er angivet i prædikater vil henvise til som led i det pågældende punkt.

vil vælge værdien af ​​målet af et element, hvis elementet har en attribut, hvis værdi er, og hvis moderselskabet er et element, der har en attribut værdi

Funktioner og operatører

XPath 1.0 definerer fire datatyper: node-sæt, strygere, tal og Boolesk.

De tilgængelige operatorer er:

  • Operatører "/", "//" og bruges i udtrykkene af ruten som tidligere beskrevet.
  • En union operatør, "|", som danner en forening af to node-sæt.
  • Booleske operatorer "og" og "eller" og "ikke".
  • Aritmetiske operatorer "+", "-", "*", "div" og "mod".
  • Sammenligning operatører "=", "& lt;" "=", "& gt;", "& lt; =" "& gt; =".

Funktionen Biblioteket indeholder:

  • Funktioner til at manipulere strenge: concat, substring, indeholder, substring-før, substring-efter, oversætte, normalisere-rum, snor længde
  • Funktioner til at manipulere tal: sum, rund, gulv, loft
  • Funktioner til at få adgang til node egenskaber: navn, lokal-name, namespace-uri
  • Funktioner til at få adgang til oplysninger om kontekst node: position, sidste
  • Funktioner til typekonvertering: streng, tal, boolean

Nogle af de mest almindelige funktioner er beskrevet senere. For en fuldstændig beskrivelse, se referencedokumentet W3C

Funktioner af knudepunkterne

Funktioner til strenghåndtering

Boolske funktioner

Antal funktioner

Kan oprettes udtryk ved hjælp af operatørerne: og. Boolske udtryk kan kombineres med parenteser og kombineret med booleske operatorer, og. De numeriske beregninger og kan anvende. Strenge kan bestå af alle Unicode-tegn.

I eller uden for prædikater, kan hele node-sæt kombineres ved hjælp af | karakter.

returnere en enkelt node-sæt med alle de elementer, der har elementer eller som børn, sammen med alle de elementer, der har børn, der findes i den aktuelle kontekst.

vælger attributten som er større end det dobbelte af værdien af ​​attributten.

Eksempler

Lad os se på et simpelt XML-dokument til bedre at forstå, hvordan man få adgang til oplysningerne heri.

Forrige artikel XI Triennale
Næste artikel Xi Ursae Majoris

Relaterede artikler