Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyDatabázové systémy v biomedicíně Základy XML XPath

Logo Matematická biologie

XPath

Abychom mohli pracovat s jednotlivými prvky XML dokumentu či je vyhledávat, potřebujeme jazyk, který nám umožní se v XML struktuře dokumentu pohybovat a odkazovat se na požadované prvky. Tímto prostředkem je jazyk XPath, který definuje operátory a funkce pro uvedené účely. Pomocí XPath konstrukce můžeme odkazovat libovolný prvek XML dokumentu a to buď v podobě absolutní či relativní cesty. Základní prvky jazyka XPath shrnuje tabulka:

Tab. 3: - Základní prvky XPath výrazů

Výraz XPath

Příklad

Popis

/

/pacient/vysetreni/datum_vysetreni

Odkaz na kořenový uzel, za lomítkem následuje název kořenového elementu. Lomítkem taktéž oddělujeme dětské elementy od rodičovských. Uvedený příklad odkazuje na všechny datumy vyšetření, které odpovídají uvedené cestě.

//

//datum_vysetreni

odkaz na element v libovolné hierarchické úrovni, příklad odkazuje na všechny datumy vyšetření bez ohledu na absolutní cestu.

@

/pacient/@id

Odkaz na atribut, příklad odkazuje na atribut id kořenového elementu pacient.

..

//datum_vysetreni/../vysledek

Odkaz na rodičovský element. Uvedený příklad nejprve nalezne libovolně umístěný element datum_vysetreni, následně se odkáže na rodiče a z něj na jeho další dětský element vysledek. Jde tedy o ukázku odkazu na sourozence.

*

//vysetreni/*

Odkaz na všechny dětské elementy

@*

/pacient/@*

Odkaz na všechny atributy

 

S uvedenými výrazy bychom vystačili, pokud by se každý element či atribut objevoval v XML dokumentu pouze jednou. Reálně se však elementy (kromě kořenového) mnohokrát opakují, náš příklad může obsahovat stovky vyšetření a jejich výsledky, kdy názvy elementů budou stejné, měnit se bude pouze obsah elementů. V této situaci použijeme k bližšímu určení elementu tzv. predikáty XPath jazyka. Jde vlastně o filtrační podmínku, kterou uvedeme ve výrazu uzavřenou v hranatých závorkách. V predikátech můžeme využívat jednak hodnoty elementů a atributů, jednak pořadí elementu v dokumentu. K dispozici je také řada funkcí, které můžeme v predikátech využít.  Příklady predikátů v XPath výrazech uvádí tabulka.

Tab. 4: - Predikáty XPath výrazů

Výraz XPath

Popis

//pacient[@id="245"]

Odkaz na element pacient, jehož id atribut má hodnotu 245

//vysetreni[1]

První element pacient v XML dokumentu

//vysetreni[last()]

Poslední element pacient v XML dokumentu

//pacient[1]/vysetreni[last()]

Poslední vyšetření prvního pacienta

//vysetreni[vysledek>20]/datum_vysetreni

Odkaz na datum vyšetření, jehož výsledek byl větší než 20.

//vysetreni[year-from-date(datum_vysetreni) = 2014]

Všechna vyšetření, která byla provedena v roce 2014

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity