Dzisiaj będą Państwo korzystać ze strony XpathTestBed



W okienu Upload można wstawić plik którego tagi będą się podświetlać

na kolorowo, w zależności od wyrażenia w okienku XPath Expression

określanie wyrażenia dostępu do zbioru węzłów zależy od węzła względem

którego wartość wyrażenia się wyznacza. Węzeł taki jest ustalany

po zazanczeniu checkbox "Define context set".

Zad 1

proszę załadować plik grupa osób , oraz ustawić startowy węzeł:

/osoby/grupaStudentow/student[3]

wybierając checkbox "Define context set" Wyświetl podane grupy elementów/atrybutów za pomocą podanych niżej komend:

parent w połączeniu z following sibling
- wyświetl element o nazwie grupaPracownikow
ancestor - sprawdź co wyświetla
preceding-sibling - wyświelt punkty studenta o imieniu Anna
descendant - wyświelt nrDowodu i wiek bierzącego elementu student wykorzystaj |
following-sibling - wyświetl wiek studenta o imieniu Ewa
following - wyświetl numery pracownika wszystkich pracowników
child - wyświetl nazwisko bierzącego elementu
attribute w połączeniu z following - wyświetl płeć studentów Ewa i Henryk oraz
wszystkich pracowników
descendant-or-self - wyświetl element bierzący student wraz z podelementami

Tutaj znajdziesz ciekawy link na temat tych komend: xpath Zwróć uwagę jak funkcjonuje słowo ancestor.

Zad 2 (operatory)

korzystając z operatorów napisać ścieżkę, która


a) wyprowadzi elementy student o wieku powyżej 21 lat


b) wyprowadzi wszystkie elementy student które mają atrybut "k"


c) wyprowadzi wszystkich pracowników mężczyzn



Przykład: //dane/poycja/wartosc[. < 1000] - oznacza wybranie
elementow wartosc, które zawierają liczbę mniejszą od 1000

Przykład: //dane/pozycja[@waluta !='PLN'] oznacza wybranie
elementów pozycja dla których atrybut waluta ma wartość
różną od 'PLN'

Zad 3 (funkcja position())

napisz ścieżkę która umożliwia dostęp do
a) drugiego wystąpienia elementu student
b) do trzeciego i kolejnych wystąpień student
c) do wszystkich poza 2gim wystąpieniem elementu student
d) dostęp do wszystkich elementów które są 2gim dzieckiem swojego ojca
użyj w tym celu skrótu //

Zad 4 (wyszukiwanie poprzez zawartość elementu)

a) wypisz wszystkie elementy następniki bieżącego elementu (odniesienie przez kropkę) których pole wiek jest większe od 21
b) wypisz element pracownik którego podelement imie jest 'Jola'

Przykład: //pozycja[okres < 'H']/wartosc - oznacza wybranie elementu
wartosc znajdujacego sie w elemecie pozycja zawierającego 
element okres, zaczynający się na litery od A do G (mniejsze od H)
Uwaga: analogiczny przykład nie zadziała na stronie na której pracujemy :(

Zad 5 (podstawowe funkcje)

a) Wypisz wszystie wartości wiek korzystając z funkcji text()
ex: /cos_tam/text()
b) Wypisz sumę wartości wiek wszystkich pracowników
Wsk: użyj funkcji sum()
ex: sum(//cos_tam)
c) Wypisz średnią wieku mężczyzn
Wsk: użyj funkcji text(), sum(), count() oraz x div y
d) Wypisz łańcuch znaków Imie: Anna Nazwisko: Nowicka
korzystając z funkcji concat()
przykład: concat('x:',//imie[1]) zwraca łańcuch x:wartosc_elementu_imie