Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Database
XPath dotazy jsou specifikovány ve formě výrazu. Existuje několik druhů výrazů. Cesta k lokalizaci je výraz, který vybírá množinu uzlů vzhledem k kontextovému uzlu. Výsledkem vyhodnocení cesty k umístění je množina uzlů.
Typy tras podle polohy
Cesta k umístění může mít jednu z těchto forem:
Absolutní poloha
Absolutní cesta k lokalizaci začíná u kořenového uzlu dokumentu. Skládá se z lometka (/), po kterém volitelně následuje relativní cesta k umístění. Límítko (/) vybírá kořenový uzel dokumentu.
Relativní polohová cesta
Relativní cesta k umístění začíná v kontextovém uzlu dokumentu. Cesta k umístění se skládá ze sekvence jednoho nebo více kroků umístěných oddělených lomítkem (/). Každý krok vybírá sadu uzlů vzhledem k kontextovému uzlu. Počáteční sekvence kroků vybírá množinu uzlů vzhledem k kontextovému uzlu. Každý uzel v této sadě je použit jako kontextový uzel pro následující krok. Sady uzlů identifikovaných tímto krokem jsou spojeny. Například potomek::Order/child::OrderDetail vybírá <potomky prvků OrderDetail> z <potomků prvků Order> kontextového uzlu.
Poznámka:
V implementaci XPath v SQLXML 4.0 začíná každý dotaz XPath v kořenovém kontextu, i když XPath není explicitně absolutní. Například dotaz XPath začínající na "Customer" je považován za "/Customer". V dotazu XPath Customer[Order] začíná Customer u kořenového kontextu, ale Order začíná v kontextu zákazníka. Pro více informací viz Úvod do používání XPath dotazů (SQLXML 4.0).
Kroky k umístění
Cesta k umístění (absolutní nebo relativní) se skládá z kroků umístění, které obsahují tři části:
Osa
Osa určuje stromový vztah mezi uzly vybranými krokem polohy a kontextovým uzlem. Osa rodiče, dítěte,atributu a já jsou podpořeny. Pokud je v cestě k umístění specifikována podřízená osa, všechny uzly vybrané dotazem jsou potomky kontextového uzlu. Pokud je určena nadřazena osa, vybraný uzel je nadřazeným uzlem kontextového uzlu. Pokud je specifikována atributová osa, vybrané uzly jsou atributy kontextového uzlu.
Test uzlů
Test uzlu specifikuje typ uzlu vybraný krokem polohy. Každá osa (dítě, rodič,atribut a já) má hlavní typ uzlu. Pro atributovou osu je <hlavním typem uzlu atribut.> Pro osu rodiče, potomka a vlastní je hlavním typem <uzlu element>.
Například pokud cesta k umístění specifikuje potomka::Customer, jsou vybrány <děti prvků Customer> kontextového uzlu. Protože podosa má <element> jako hlavní typ uzlu, test uzlu Zákazník je PRAVDIVÝ, pokud je Zákazník uzelem <prvku> .
Výběrové predikáty (nula nebo více)
Predikát filtruje množinu uzlů podle osy. Specifikace predikátů výběru ve výrazu XPath je podobná specifikaci klauzule WHERE v příkazu SELECT. Predikát je určen mezi závorkami. Aplikace testu specifikovaného ve výběrových predikátech filtruje uzly vrácené testem uzlů. Pro každý uzel v množině uzlů, která má být filtrována, je výraz predikátu vyhodnocován s tímto uzlem jako kontextovým uzlem, přičemž počet uzlů v množině uzlů je velikost kontextu. Pokud je predikátový výraz pro daný uzel vyhodnocen jako PRAVDA, uzel je zahrnut do výsledné sady uzlů.
Syntaxe pro krok polohy je test názvu osy a uzlu oddělený dvěma dvojtečkami (::)), následovanými nulou nebo více výrazy, každý v hranatých závorkách. Například výraz XPath (cesta k umístění) potomek::Customer[@CustomerID='ALFKI'] vybírá všechny <potomky prvků Customer> kontextového uzlu. Poté je test v predikátu aplikován na sadu uzlů, která vrací pouze <uzly elementu Customer> s hodnotou atributu 'ALFKI' jako atribut CustomerID .
V této sekci
Specifikace osy (SQLXML 4.0)
Uvádí příklady specifikace osy.
Specifikace testu uzlu v cestě k umístění (SQLXML 4.0)
Uvádí příklady specifikace testu uzlu.
Specifikace výběrových predikátů v cestě k umístění (SQLXML 4.0)
Uvádí příklady specifikace selekčních predikátů.