Home » Articole » Articole » Calculatoare » Dezvoltarea web » XML » XML – XPath: căi de locație, axe, predicate și funcții

XML – XPath: căi de locație, axe, predicate și funcții

postat în: XML 0

Patru tipuri de căi de locație XPath

Există două distincții diferite pentru a separa diferite căi de locație: neabreviat vs. abreviat și relativ vs. absolut. Combinarea acestor două concepte ar putea fi utilă atunci când vorbim despre căile de locație XPath. Ca să nu mai vorbim că te-ar putea face să pari foarte inteligent în fața prietenilor tăi când spui lucruri precum:

  1. Căi de locație relativă abreviată – Utilizarea sintaxei abreviate în timp ce se specifică o cale relativă.
  2. Căi de locație absolută abreviată – Utilizarea sintaxei abreviate în timp ce se specifică o cale absolută.
  3. Căi de locație relativă neabreviată – Utilizarea sintaxei neabreviate în timp ce se specifică o cale relativă.
  4. Căi de locație absolută neabreviate – Utilizarea sintaxei neabreviate în timp ce se specifică o cale absolută.

Menționez doar această distincție în patru căi acum, deoarece ar putea fi utilă în timp ce citești specificația sau alte texte despre subiect.

Axele XPath

În XPath, există câteva selecții de noduri a căror performanță necesită sintaxa neabreviată. În acest caz, veți folosi o axă pentru a specifica fiecare pas de locație pe calea locației.

Din orice nod din arbore, există 13 axe de-a lungul cărora puteți păși. Acestea sunt după cum urmează:

Axe Sens
ancestor:: Părinți ai nodului curent până la nodul rădăcină
ancestor-sau-self:: Părinți ai nodului curent până la nodul rădăcină și nodul curent
attribute:: Atributele nodului curent
child:: Copiii imediați ai nodului curent
descendant:: Copii ai nodului curent (inclusiv copiii copiilor)
descendant-sau-self:: Copii nodului curent (inclusiv copiii copiilor) și nodul curent
following:: Nodurile după nodul curent (excluzând copiii)
following-sibling:: Noduri după nodul curent (cu excepția copiilor) la același nivel
namespace:: Spațiu de nume XML al nodului curent
parent:: Părinte imediat al nodului curent
preceding:: Noduri înaintea nodului curent (cu excepția copiilor)
preceding-sibling:: Noduri înainte de nodul curent (excluzând copiii) la același nivel
self:: Nodul curent

Predicate și funcții XPath

Uneori, este posibil să doriți să utilizați un predicat într-o cale de locație XPath pentru a filtra în continuare selecția. În mod normal, veți obține un set de noduri dintr-o cale de locație. Un predicat este o expresie mică, care este evaluată pentru fiecare nod dintr-un set de noduri. Dacă expresia este „falsă”, atunci nodul nu este inclus în selecție. Un exemplu este următorul:

//p[@class=‘alert’]

În exemplul precedent, fiecare etichetă <p> din document este verificată pentru a vedea dacă atributul său „class” este setat la „alert”. Doar acele etichete <p> cu un atribut „class” cu valoarea „alert” sunt incluse în setul de noduri pentru această cale de locație.

Următorul exemplu utilizează o funcție, care poate fi folosită într-un predicat pentru a obține informații despre nodul context.

/book/chapter[position()=3]

Acest exemplu dinainte selectează doar capitolul cărții din a treia poziție. Deci, pentru ca ceva să fie returnat, elementul curent <book> trebuie să aibă cel puțin 3 elemente <chapter>.

De asemenea, observați că funcția de poziție returnează un număr întreg. Există multe funcții în specificația XPath. Pentru o listă completă, consultați specificația W3C la http://www.w3.org/TR/xpath#corelib

Iată câteva funcții suplimentare care pot fi utile:

number last() – ltimul nod din setul de noduri curent

number position() – poziția nodului de context testat

number count(node-set) – numărul de noduri dintr-un set de noduri

boolean starts-with(string, string) – returnează adevărat dacă primul argument începe cu al doilea

boolean contains(string, string) – returnează adevărat dacă primul argument îl conține pe al doilea

number sum(node-set) – suma valorilor numerice ale nodurilor din setul de noduri

number floor(number) – numărul, rotunjit în jos la cel mai apropiat număr întreg

number ceiling(number) –  numărul, rotunjit în sus la cel mai apropiat număr întreg

number round(number) – numărul, rotunjit la cel mai apropiat număr întreg

(Include texte din Wikibooks traduse și adaptate de Nicolae Sfetcu)

Ghid pagini Facebook – Campanii de promovare pe Facebook
Ghid pagini Facebook – Campanii de promovare pe Facebook

Ghidul complet pentru succesul pe Facebook – Descoperă strategii eficiente de promovare!

Nu a fost votat $3.99 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Ghid marketing pe Internet
Ghid marketing pe Internet

Descoperă Secretele Marketingului Online cu o Carte Gratuită!

Nu a fost votat $0.00 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Etica Big Data în cercetare
Etica Big Data în cercetare

O explorare critică a provocărilor etice și a implicațiilor legale asociate Big Data.

Nu a fost votat $0.00$2.35 Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *