XML standartai

XPath – kelio standartas duomenų struktūrai XML dokumente pasiekti. XPath sintaksė kiek primena failų sistemose naudojamą kelią dokumentams aplanke rasti, tačiau yra daug lankstesnė ir numato atvejus kuomet tame pačiame aplanke (pavyzdžiui, narių sąraše) yra vienodus vardus turintys elementai. Galimas elementų indeksavimas bei paieška pagal atributų reikšmes. XPATH gali būti naudojama skyrium arba kaip sudėtingesnės XSLT transformacijų kalbos dalis.

Kelio aprašas

[redaguoti | redaguoti vikitekstą]

XPath užklausa vykdoma, vieną XML dokumento mazgą laikant užklausos kontekstu.

XPath išraišką sudaro:

Ašys

[redaguoti | redaguoti vikitekstą]

XPath ašis apibrėžia aibę mazgų, susijusių su konteksto mazgu. Kiekvienos ašies mazgų aibė yra vieno tipo: elementų, atributų arba vardų srities. XPath egzistuoja tokios ašys:

Mazgų testas

[redaguoti | redaguoti vikitekstą]

Mazgų testas gali pagal pavadinimą, vardų sritį, ir tipą apriboti išrenkamus mazgus.

Predikatai

[redaguoti | redaguoti vikitekstą]

Predikatai gali apriboti išrenkamą mazgų aibę pagal nurodytus požymius (pavyzdžiui, išrinkti tik antrąjį elementą)

Trumpesnė sintaksė

[redaguoti | redaguoti vikitekstą]
Išraiška Sinonimas Pastabos
child::node() *
child::node node
descendant::node() .//*
descendant::node() //* Tik kai konteksto mazgas yra šaknis
parent::node() ..
attribute::node() @*
self::node() .

Vartojimo pavyzdys

[redaguoti | redaguoti vikitekstą]
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="test.xsl" type="text/xsl" ?>
<straipsnis xml:id="1" xmlns="http://lt.wikipedia.org/wiki/XPath#Vartojimo_pavyzdys" data="2006-11-06">
  <pavadinimas xml:id="2">XPath</pavadinimas>
  <skyrius xml:id="3" pavadinimas="Kelio aprašas">
    <skyrius xml:id="4" pavadinimas="Ašys" >
      <sąrašas xml:id="5" />
    </skyrius>
    <skyrius xml:id="6" pavadinimas="Mazgų testas" />
    <skyrius xml:id="7" pavadinimas="Predikatai" />
  </skyrius>
  <skyrius xml:id="8" pavadinimas="Pavyzdys" />
  <skyrius xml:id="9" pavadinimas="Sąvokos" />
  <skyrius xml:id="10" pavadinimas="Funkcijos" />
  <literatūra>
  </literatūra>
</straipsnis>

Konteksto mazgo id yra '3':

Konteksto mazgo id yra '8':

Konteksto mazgo id yra '4':

Konteksto mazgo id yra '1':

„Sveikas pasauli“ pavyzdys

[redaguoti | redaguoti vikitekstą]

XML dokumentui

<vietos>
  <vieta vardas="dangus" būsena="a"/>
  <vieta vardas="pasaulis" būsena="sveikas"/>
  <vieta vardas="pragaras" būsena="b"/>
</vietos>

XPath takas

/vietos/vieta[@vardas="pasaulis"]/@būsena

turi grąžinti tekstą „sveikas“ (paieška pagal atributo reikšmę)

XPath takas

/vietos/vieta[2]/@būsena

irgi turi grąžinti tekstą „sveikas“ (indeksavimas).

Sąvokos

[redaguoti | redaguoti vikitekstą]

XPath išraiškos konceptualiai vykdomos XML dokumente kaip medyje. XPath specifikacijoje apibrėžti 7 mazgų tipai:

Funkcijos

[redaguoti | redaguoti vikitekstą]

XPath išraiškose gali būti naudojamos šios funkcijos:


Literatūra

[redaguoti | redaguoti vikitekstą]
  1. XPath standarto tinklalapis (angl.)
  2. XPath vadovėlis Archyvuota kopija 2012-11-26 iš Wayback Machine projekto. (angl.)
  3. XPath vadovėlis (vok.)
  4. XSLT ir XPath nuoroda Archyvuota kopija 2010-10-30 iš Wayback Machine projekto. (vok.)