Aracılığıyla paylaş


Yol ifadeleri (XQuery)

XQuery yol ifadeleri, belgedeki öğe, öznitelik ve metin düğümleri gibi düğümleri bulun. Sonuç sıra yinelenen düğüm olmadan belge sırayla her zaman bir yol ifadesi sonucu oluşur. Bir yolu belirtme de kısaltılmamış ya da kısaltılmış sözdizimi kullanabilirsiniz. Aşağıdaki bilgiler, kısaltılmamış sözdizimi odaklanır. Kısaltılmış sözdizimi, bu konunun ilerisinde açıklanmıştır.

[!NOT]

Bu konudaki örnek sorguları karşı belirtilmediğinden xml yazın sütunlar, CatalogDescription ve yönergeleri, ProductModel tablo, size tanıyın kendinizi içeriği ve bu sütunda depolanan xml belgelerinin yapılarını. Daha fazla bilgi için, bkz. DEL - xml Data Type Representation in the AdventureWorks2008R2 Database.

Yol ifadesi göreceli veya mutlak olabilir. Her ikisi de bu açıklaması aşağıdadır:

  • Göreli yol ifadesi, bir ya da iki eğik çizgi işaretleriyle ayrılmış bir veya daha fazla adımlar oluşur (/ veya / /). Örneğin, child::Featuresbir göreceli yol ifadesi nerede Childyalnızca içerik düğümünün alt düğümler için başvuruyor. Bu şu anda işlenen düğümüdür. İfadeyi alır <özellikler> öğe düğümü alt düğümü.

  • Bir mutlak yol ifadesi bir ya da iki eğik çizgi işareti ile başlar (/ veya / /), ardından isteğe bağlı, göreli bir yol. Örneğin, ilk bölme işareti ifade /child::ProductDescription, bir mutlak yol ifadesi olduğunu gösterir. İfade verir tüm ifadenin başındaki bir eğik çizgi işareti belge kök düğüm bağlam düğümün döndürür çünkü <ProductDescription> belge kök düğümü alt öğesi.

    Mutlak bir yol tek bir eğik ile başlıyorsa, olabilir veya göreli bir yol takip edemiyorum. Sadece bir tek eğik çizgi işareti belirtirseniz, ifade düğümü kök düğümü döndürür. Bir xml veri türü için bu onun belge düğümü var.

Tipik yol ifadesi adımdan oluşur. Örneğin, mutlak yol ifadesi, /child::ProductDescription/child::Summary,bir eğik çizgi işareti ile ayrılmış iki adımı içerir.

  • İlk adım alır <ProductDescription> belge kök düğümü alt öğesi.

  • İkinci adım alır <özeti> öğe düğümü alt her adresinden alındı <ProductDescription> buna içerik düğümü olur öğe düğümü.

Bir adımda yol ifadesi, bir eksen adım ya da genel bir adım olabilir.

Eksen adım

Bir eksen adımda yol ifadesi aşağıdaki parçaları vardır.

  • eksen
    Hareketin yönünü tanımlar. Bir eksen, eksen tarafından belirtilen yönde ulaşılabilir bu düğüm bağlam düğümden başlayan ve gider bir yol ifadesi adım.

  • düğüm sınaması
    Düğüm türü veya düğüm adları seçilecek belirtir.

  • Sıfır veya daha fazla isteğe bağlı yüklemler
    Düğümleri bazı seçme ve başkalarına atarak filtreler.

Aşağıdaki örnekler bir eksenadım yol ifadeleri:

  • Mutlak yol ifadesi, /child::ProductDescription, yalnızca bir adım içerir. Eksen belirtir (child) ve bir düğüm sınaması (ProductDescription).

  • Göreli yol ifadesi, child::ProductDescription/child::Features, bir eğik çizgi işareti ile ayrılmış iki adımı içerir. Her iki adımları alt eksen belirtin. Düğüm sınaması ProductDescription ve özellikleri vardır.

  • Göreli yol ifadesi, child::root/child::Location[attribute::LocationID=10],bir eğik çizgi işareti ile ayrılmış iki adımı içerir. İlk adım bir eksen belirtir (child) ve bir düğüm sınaması (root). İkinci adım bir eksen adım tüm üç bileşeni belirtir: eksen (alt), düğüm sınaması (Location) ve bir yüklemi ([attribute::LocationID=10]).

Bir eksen adım bileşenleri hakkında daha fazla bilgi için bkz: Eksen yol ifadesi adım belirtme, Düğüm sınaması yol ifadesi adım belirtme, ve Yol ifadesi adım doğrulamaları belirtme.

Genel adım

Sadece düğüm dizisi için değerlendirmelidir ifade genel bir adımdır.

SQL Server XQuery uygulamasında, ilk adımda yol ifadesi olarak bir genel adım destekler. Aşağıdaki genel adımları kullanan yolunu ifade örnekleri verilmiştir.

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

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

Kimliği işlevi görmek hakkında daha fazla bilgi için kimliği işlev (XQuery).

Bu Bölümde