Aracılığıyla paylaş


Konum Yolunda Bir Düğüm Testi Belirtilmesi (SQLXML 4.0)

Şunlar için geçerlidir:SQL ServerAzure SQL Veritabanı

Bir düğüm testi, konum adımıyla seçilen düğüm türünü belirtir. Her eksenin (çocuk, ebeveyn, öznitelik veya benlik) bir ana düğüm tipi vardır. Özellik ekseni için, ana düğüm tipi özniteliktir<>. Ebeveyn, çocuk ve öz eksenleri için ana düğüm tipi elemandır<>.

Uyarı

Joker düğüm testi * (örneğin, child::*) desteklenmez.

Düğüm Testi: Örnek 1

Konum yoluchild::Customer, bağlam düğümünün Müşteri> öğesi çocuklarını seçer<.

Bu örnekte, child eksen ve Customer düğüm testidir. Çocuk eksenin ana düğüm tipi elemandır<>. Bu nedenle, Müşteri> düğümü bir eleman düğümü ise düğüm testi DOĞRUDUR<.>< Bağlam düğümünde Müşteri> çocukları< yoksa, boş bir düğüm kümesi döner.

Düğüm Testi: Örnek 2

Konum yolu attribute::CustomerID , bağlam düğümünün CustomerID özniteliğini seçer.

Örnekte, attribute eksen ve CustomerID düğüm testidir. Öznitelik ekseninin ana düğüm tipi özniteliktir<>. Bu nedenle, CustomerID bir <öznitelik> düğümü ise düğüm testi DOĞRUDUR. Bağlam düğümünde CustomerID yoksa, boş bir düğüm kümesi döndürülür.

Uyarı

XPath'ın bu uygulamasında, bir konum adımı şemada ilan edilmeyen bir <eleman> veya <öznitelik> türüne atıfta bulunursa, hata oluşturulur. Bu, MSXML'de XPath uygulamasından farklıdır; MSXML'de boş bir düğüm seti döndürür.

Eksenlerin Kısaltılmış Sözdizimi

Konum yolu için aşağıdaki kısaltılmış sözdizimi desteklenmektedir:

  • attribute::kısaltılabilir.@

    Konum yolu Customer[@CustomerID="ALFKI"] ile child::Customer[attribute::CustomerID="ALFKI"]aynıdır.

  • child:: konum adımından çıkarılabilir.

    Dolayısıyla, child varsayılan eksentir. Konum yolu Customer/Order ile child::Customer/child::Orderaynıdır.

  • self::node() bir nokta (.) olarak kısaltılabilir ve parent::node() iki dönem (..) olarak kısaltılabilir.