Baza XML i wyszukiwanie elementów za pomocą XPath

0

Witam,
z uwagi na zajęcia uczelniane mam okazję bliżej przyjrzeć się językowi XML i językom 'przeszukiwania' tych plików przy pomocy XPath (a następnie XQuery).

Ostatnio na laboratorium korzystaliśmy z przykładowego dokumentu xml (baza mondial.xml dołączona do wątku, ale również dostępna w sieci), z którego należalo wyciągnąć różne dane. O ile z prostymi przykladami sobie w miarę radziłem, o tyle z bardziej wyszukanymi przykładami "traciłem wątek".

Np.

  1. lista nazw kontynentów,
/mondial/continent/name
  1. lista wszystkich krajów z Azji,
/mondial/country[encompassed[@continent='asia']]/name
  1. lista miast europejskich, które leżą nad rzeką, a populacja ich kraju jest większa niż 18mln,
//country[encompassed[@continent='europe']][population>18000000]/province/city/located_at[@watertype='river']/../name
  1. lista krajów europejskich, które graniczą z krajem, na którego terenie znajduje się góra o wysokości większej niż 4000m,
    dygrejsa: nie wiem za bardzo jak połączyć w tym przypadku dwie elementy poddrzewa, bo muszę niejako wejść do /mondial/country/... i do /mondial/mountain/..

  2. lista jezior, z którymi nie sąsiadują żadne miasta.
    dygrejsa: tutaj natomiast nie wiem jak zrobić 'not exists' znany np. z relacyjnych baz danych.. (bo chyba tak to trzeba rozpatrywać..)

Także proszę o ewentualne podpowiedzi, które pomogą zrealizować podpunkty 4) i 5) lub o rzeczywiste przykłady rozwiązania, które na pewno będą przydatne w innych zapytaniach tego typu.. Bo zapowiada się, że to dopiero początek zabawy z XML a coś jednak chciałbym z tego wynieść ;)

Pozdrawiam!

ps. W sieci jest jakoby fajny tutorial ( http://www.w3schools.com/xpath/xpath_syntax.asp ) jednakże poziom przykładów zapytań jest niestety bardzo podstawowy..

0

Odświeżam temat, czy ktoś zna odpowiedzi na powyższe pytania?

1 użytkowników online, w tym zalogowanych: 0, gości: 1