Megosztás:


Elérésiút-kifejezések (XQuery)

A következőkre vonatkozik:SQL Server

Az XQuery-elérési utak kifejezései csomópontokat, például elemeket, attribútumokat és szövegcsomópontokat keresnek egy dokumentumban. Az elérésiút-kifejezés eredménye mindig dokumentum-sorrendben történik, az eredményütemezésben ismétlődő csomópontok nélkül. Az elérési út megadásakor használhatja a nem megadott vagy a rövidített szintaxist. Az alábbi információk a nem megadott szintaxisra összpontosítanak. A rövidített szintaxist a jelen témakör későbbi részében ismertetjük.

Jegyzet

Mivel a jelen témakörben szereplő mintalekérdezések az xml típusú oszlopokon vannak megadva, CatalogDescription és Utasítások, a ProductModel táblában meg kell ismerkednie az ezekben az oszlopokban tárolt XML-dokumentumok tartalmával és szerkezetével.

Az elérésiút-kifejezések lehetnek relatívak vagy abszolútak. Az alábbiakban a következők leírása található:

  • A relatív elérési út kifejezése egy vagy több lépésből áll, amelyeket egy vagy két perjel (/ vagy //) választ el egymástól. A child::Features például egy relatív elérési út kifejezés, amelyben Child csak a környezeti csomópont gyermekcsomópontjaira hivatkozik. Ez az a csomópont, amely jelenleg feldolgozás alatt áll. A kifejezés lekéri a környezeti csomópont <Szolgáltatások> elemcsomópont gyermekeit.

  • Az abszolút elérési út kifejezése egy vagy két perjellel (/ vagy ///) kezdődik, amelyet egy választható relatív elérési út követ. A kifejezés kezdeti perjele (/child::ProductDescription) például azt jelzi, hogy az abszolút elérési út kifejezés. Mivel egy kifejezés elején perjel a környezeti csomópont dokumentumgyökércsomópontját adja vissza, a kifejezés a dokumentumgyökér összes <ProductDescription> elemcsomópontját adja vissza.

    Ha egy abszolút elérési út egyetlen perjellel kezdődik, előfordulhat, hogy relatív elérési út követi vagy sem. Ha csak egyetlen perjelet ad meg, a kifejezés a környezeti csomópont gyökércsomópontját adja vissza. XML-adattípus esetén ez a dokumentumcsomópont.

Egy tipikus elérésiút-kifejezés lépésekből áll. A /child::ProductDescription/child::Summaryabszolút elérési út kifejezése például két, perjellel elválasztott lépést tartalmaz.

  • Az első lépés lekéri a dokumentumgyökér <ProductDescription> elemcsomópont gyermekeit.

  • A második lépés lekéri az összes lekért <ProductDescription> elemcsomópont <Összefoglaló> elemcsomópont gyermekeit, ami pedig a környezeti csomópont lesz.

Az elérésiút-kifejezések lépése lehet tengely- vagy általános lépés.

Tengely lépése

Az elérésiút-kifejezés tengelylépései a következő részekből állnak.

tengely
Meghatározza a mozgás irányát. Egy elérési út kifejezésének tengelylépése, amely a környezeti csomóponttól indul, és a tengely által megadott irányban elérhető csomópontokhoz navigál.

csomópontteszt
Megadja a kijelölendő csomóponttípust vagy csomópontneveket.

Nulla vagy több választható predikátum
A csomópontok szűréséhez jelöljön ki néhányat, és elvetsen másokat.

Az alábbi példák egy tengelystep használnak az elérésiút-kifejezésekben:

  • Az abszolút elérési út kifejezés ( /child::ProductDescription) csak egy lépést tartalmaz. Egy tengelyt (child) és egy csomóponttesztet (ProductDescription) határoz meg.

  • A relatív elérési út kifejezés (child::ProductDescription/child::Features) két lépést tartalmaz perjellel elválasztva. Mindkét lépés gyermektengelyt ad meg. A ProductDescription és a Szolgáltatások csomóponttesztek.

  • Az child::root/child::Location[attribute::LocationID=10]relatív elérési út kifejezés két, perjellel elválasztott lépést tartalmaz. Az első lépés egy tengelyt (child) és egy csomóponttesztet (root) határoz meg. A második lépés egy tengelylépés mindhárom összetevőjét megadja: egy tengelyt (gyermek), egy csomóponttesztet (Location) és egy predikátumot ([attribute::LocationID=10]).

A tengelylépések összetevőivel kapcsolatos további információkért lásd: Tengely megadása elérésiút-kifejezés lépésben, Csomópontteszt megadása elérésiút-kifejezési lépésben, és Predikátumok megadása elérésiút-kifejezés lépésben.

Általános lépés

Az általános lépés csak egy kifejezés, amelyet csomópontok sorozatának kell kiértékelnie.

Az SQL Server XQuery-implementációja egy elérésiút-kifejezés első lépéseként egy általános lépést támogat. Az alábbi példák az általános lépéseket használó elérésiút-kifejezésekre mutatnak be példákat.

(/a, /b)/c  
id(/a/b)  

További információ az id függvényről: azonosító függvény (XQuery).

Ebben a szakaszban

Tengely megadása elérésiút-kifejezés lépésben
Az elérésiút-kifejezés tengelylépésének működését ismerteti.

Csomópontteszt megadása elérési útkifejezési lépésben
A csomóponttesztek elérésiút-kifejezésben való működését ismerteti.

Predikátumok megadása egy elérésiút-kifejezés lépésben
Az elérésiút-kifejezés predikátumaival végzett munkát ismerteti.

Rövidített szintaxis használata elérésiút-kifejezés
Az elérésiút-kifejezések rövidített szintaxisának működését ismerteti.