Aracılığıyla paylaş


Düğümler üzerindeki işlevler - yerel ad

Şunlar için geçerlidir: SQL Server

$arg adının yerel bölümünü sıfır uzunluklu dize olarak xs:string veya sözcük biçimli olarak xs:NCNamedöndürür. Bağımsız değişken sağlanmazsa, varsayılan değer bağlam düğümüdür.

Sözdizimi

fn:local-name() as xs:string
fn:local-name($arg as node()?) as xs:string

Arguments

$arg

Yerel adı bölümü alınan düğüm adı.

Açıklamalar

  • SQL Server'da bağımsız fn:local-name() değişken olmadan yalnızca bağlama bağımlı koşul bağlamında kullanılabilir. Özellikle, yalnızca köşeli ayraç içinde kullanılabilir ([ ] ).

  • Bağımsız değişken sağlanırsa ve boş bir diziyse, işlev sıfır uzunluklu dizeyi döndürür.

  • Hedef düğümün bir belge düğümü, açıklama veya metin düğümü olduğundan adı yoksa işlev sıfır uzunluklu dizeyi döndürür.

Örnekler

Bu makalede AdventureWorks veritabanındaki çeşitli xml türü sütunlarında depolanan XML örneklerine karşı XQuery örnekleri sağlanmaktadır.

A. Belirli bir düğümün yerel adını alma

Aşağıdaki sorgu, yazılmamış bir XML örneğinde belirtilir. sorgu ifadesi, local-name(/ROOT[1])belirtilen düğümün yerel ad bölümünü alır.

DECLARE @x AS XML;

SET @x = '<ROOT><a>111</a></ROOT>';

SELECT @x.query('local-name(/ROOT[1])');
-- result = ROOT

Aşağıdaki sorgu, ProductModel tablosunun Yazılan xml sütunu olan Yönergeler sütununda belirtilir. ifadesi, local-name(/AWMI:root[1]/AWMI:Location[1])belirtilen düğümün yerel adını Locationdöndürür.

SELECT Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions" ;
     local-name(/AWMI:root[1]/AWMI:Location[1])') AS Result
FROM Production.ProductModel
WHERE ProductModelID = 7;
-- result = Location

B. Koşulda bağımsız değişken olmadan yerel ad kullanma

Aşağıdaki sorgu, ProductModel tablosunun Yönergeler sütununda ( yazılan xml sütunu) belirtilir. ifadesi, QName "Location"öğesinin yerel adı bölümü olan öğesinin tüm öğe alt><rootöğelerini döndürür. İşlev local-name() koşulda belirtilir ve bağımsız değişkeni yoktur bağlam düğümü işlev tarafından kullanılır.

SELECT Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions" ;
  /AWMI:root//*[local-name() = "Location"]') AS Result
FROM Production.ProductModel
WHERE ProductModelID = 7;

Sorgu, öğesinin <Location> tüm öğe alt <root> öğelerini döndürür.