Megosztás a következőn keresztül:


Helymeghatározási út (SQLXML 4.0)

A következőkre vonatkozik:SQL ServerAzure SQL Database

Az XPath lekérdezések kifejezés formájában vannak megadva. Számos kifejezés létezik. A helymeghatározási út egy olyan kifejezés, amely a kontextuscsomóponthoz viszonyított csomópontokat választ ki. A helymeghatározási útvonal értékelésének eredménye egy csomóponthalmaz.

A helymeghatározó útvonalak típusai

Egy helymeghatározási útvonal az alábbi formák egyikét öltheti:

  • Abszolút helymeghatározási útvonal

    Az abszolút helymeghatározási út a dokumentum gyökércsomópontjánál kezdődik. Ez egy lecsapásból (/) áll, amelyet opcionálisan egy relatív helybeli útvonal követ. A képjel (/) kiválasztja a dokumentum gyökércsomópontját.

  • Relatív helymeghatározási útvonal

    Egy relatív hely útja a dokumentum kontextuscsomópontjánál kezdődik. A helymeghatározási út egy vagy több helylépésből álló sorozatból áll, amelyeket egy lecsapás (/) választ el egymástól. Minden lépés kiválaszt egy halmazt a kontextuscsomóponthoz viszonyítva. A kezdeti lépéssorozat egy ponthalmazt választ ki egy kontextuscsomóponthoz viszonyítva. Az adott halmazban minden csomópontot kontextuscsomópontként használják a következő lépéshez. Az adott lépéssel azonosított csomópontok össze vannak kötve. Például a child::Order/child::OrderDetail kiválasztja a <OrderDetail> elem gyermekeit a <kontextuscsomópont Order> elem gyermekeiből.

    Megjegyzés:

    Az XPath SQLXML 4.0 implementációjában minden XPath lekérdezés a gyökérkontextusban kezdődik, még akkor is, ha az XPath nem kifejezetten abszolút. Például egy "Customer" (Ügyfél) jelzéssel kezdődő XPath lekérdezés "/Customer" jelzéssel jelenik meg. Az XPath Customer[Order] lekérdezésben az Ügyfél a gyökérkontextusban kezdődik, de a Rendelés az Ügyfél kontextusban kezdődik. További információért lásd: Bevezetés az XPath lekérdezések használatába (SQLXML 4.0).

Helyszíni lépések

A helymeghatározási út (abszolút vagy relatív út) három részből álló helylépésekből áll:

  • Tengely

    A tengely meghatározza a fa kapcsolatot a helylépés által kiválasztott csomópontok és a kontextus csomópont között. A szülő, gyermek, attribútum és az önmag tengelye támogatott. Ha a helymeghatározási útban egy gyermektengely van megadva, akkor a lekérdezés által kiválasztott csomópontok közül az összes kontextuscsomópont gyermeke. Ha egy szülőtengelyt jelölnek, a kiválasztott csomópont a kontextuscsomópont szülőcsomópontja. Ha egy attribútumtengelyt jelölnek, a kiválasztott csomópontok a kontextuscsomópont attribútumai.

  • Csomópontteszt

    A csomópontteszt meghatározza a helymeghatározási lépés által kiválasztott csomóponttípust. Minden tengelynek (gyermek, szülő, attribútum és én) van egy fő csomóponttípusa. Az attribútumtengely esetében a fő csomópont típus az< attribútum>. A szülő, gyermek és önálló tengelyek esetében a fő csomóponttípus az< elem>.

    Például, ha a helyút megadja a child::Customer-et, akkor a <kontextuscsomópont Ügyfélelem> gyermekei kerülnek kiválasztva. Mivel a gyermektengely<fő csomóponttípusa elem>, a csomópont teszt, a Customer, TRUE, ha a Customer elemcsomópont<>.

  • Szelekciós predikátumok (nulla vagy annál több)

    Egy predikátum egy csomóponthalmazt szűr egy tengely tekintetében. A kiválasztási predikátumok meghatározása egy XPath kifejezésben hasonló ahhoz, mint egy WHERE klauzulát megadni egy SELECT állításban. A predikátum zárójelek között van megadva. A kiválasztási predikátumban megadott teszt alkalmazása szűri a csomópont teszt által visszaadott csomópontokat. Minden csomópont esetén a szűrendő csomópontban a predikátum kifejezést úgy értékelik, hogy az adott csomópont kontextuscsomópont, a csomópontok száma pedig kontextusméret. Ha a predikátum kifejezés TRUE-ra értékeli az adott csomópont esetén, akkor a csomópont bekerül a kapott csomóponthalmazba.

    Egy helylépés szintaxisa a tengelynév és a csomópont teszt két kolonddal (::)) választva el, majd nulla vagy több kifejezéssel, mindegyik négyzetzárójelben. Például az XPath kifejezés (helyút) gyermek::Customer[@CustomerID='ALFKI'] kiválasztja a kontextuscsomópont összes <Ügyfél> elem gyermekét. Ezután a predikátumban lévő tesztet alkalmazzák a csomóponthalmazra, amely csak az <Ügyfélelem> csomópontokat adja vissza, amelyek attribútumértéke 'ALFKI' a CustomerID attribútumjához.

Ebben a részben

Tengely meghatározása (SQLXML 4.0)
Példákat ad egy tengely meghatározására.

Node teszt meghatározása a helymeghatározási útban (SQLXML 4.0)
Példákat ad a csomópont teszt meghatározására.

Kiválasztási predikátumok meghatározása a helymeghatározási útban (SQLXML 4.0)
Példákat ad a kiválasztási predikátumok meghatározására.