Kihagyás

XPath

  • Relációk megfelelője itt
    • tételek(item) listája (sequence)
  • Tehát a bemenet, a köztes lépes és a kimenet is tételek listája
  • Lehet egyszerű érték és csomópont

Csomópont fő típusai

  1. dokumentum csomópont - teljes dokumentumot reprezentálja
  2. Elem csomópont a tagek és köztük levő dokumentumrészlet
  3. Attribútum a nitó tagben szerepelnek és ott is kapnak értéket

Dokumentum csomópont

  • doc(URL) vagy document(URL) parancs hatására jön létre
  • Minden XPath (és XQuery) lekérdezés hivatkozik egy dokumentum csomópontra
  • Az út kifejezése perjelek és tagek sorozatából áll
    • Hasonlóan a fáljelérés szintaxisához
    • Mindenképp perjellel kezd
      • average UNIX enjoyer moment

Dokumentum csomópont - Példa

<kocsmák>
    <kocsma>
        <ár melyikSör="Bud" >2.50</ár>
        <ár melyikSör="Miller" >3.00</ár>
    </kocsma>
    <sör név="Bud" árulja="Joe bárja Sue bárja ..." />...
</kocsmák>

Akkor a /kocsmák/kocsma/ár/@melyikSör-be a Bud és a Miller bekerül

Nyilván, ha attribútummal végződik egy út, akkor nem elemek, hanem azotmi értékek listáját kapjuk

XPath felépítése

  • Azon utak, amik nem a dokumentum-gyökérből kezdődnek, azok //-el kezdődnek majd
    • pl.: //X/Y akkor bármely mélységű X elem Y közvetlen gyerekét veszi
      • /somethingsimething/X/Y ugyanúgy, mint /X/Y is
  • Wildcard karakter (*/) itt is játszik egy szintten
  • Egy tag atomi értékét text() függvény adja vissza
    • XPath esetén [text()]
    • pl.: /kocsmák/kocsma/ár[text()]
  • További szűrés lehetséges a [] között
    • pl.: kocsmák/kocsma/ár[@melyikSör="Miller]

Tengelyek

  • :: notation
  • A @ illetve az gyerek szintaxis igazából cukorka
    • @sör = attribute::sör
    • /kocsmák/sör = /child::kocsmák/child::sör

További tengelyek

  • parent::
  • descendant-or-self::
  • ancestor::
  • ancestor-or-self::
  • self ~ .
    • pl.: /könyvesbolt/könyv/cím[.='Az XML kézokönyv']/parent::könyv