Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Bir XML Yol Dili (XPath) sorgusu, bir URL'nin parçası olarak veya bir şablon içinde belirtilebilir. Eşleme şeması, ortaya çıkan bu parçanın yapısını belirler ve değerler veritabanından alınır. Bu süreç, CREATE VIEW ifadesini kullanarak görünüm oluşturmak ve onlara karşı SQL sorguları yazmak gibi kavramsal olarak benzer.
Uyarı
SQLXML 4.0'da XPath sorgularını anlamak için XML görünümleri ve şablonlar ile eşleme şeması gibi ilgili kavramlara aşina olmalısınız. Daha fazla bilgi için, Açıklamalı XSD Şemalarına Giriş (SQLXML 4.0) ve Dünya Çapında Web Konsorsiyumu (W3C) tarafından tanımlanan XPath standardına bakınız.
Bir XML belgesi, eleman düğümü, öznitelik düğümü, metin düğümü gibi düğümlerden oluşur. Örneğin, şu XML belgesini ele alalım:
<root>
<Customer cid= "C1" name="Janine" city="Issaquah">
<Order oid="O1" date="1/20/1996" amount="3.5" />
<Order oid="O2" date="4/30/1997" amount="13.4">Customer was
very satisfied</Order>
</Customer>
<Customer cid="C2" name="Ursula" city="Oelde" >
<Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue white red">
<Urgency>Important</Urgency>
</Order>
<Order oid="O4" date="1/20/1996" amount="10000"/>
</Customer>
</root>
Bu belgede, <Customer> bir element düğümüdür, cid bir nitelik düğümüdür ve "Important" bir metin düğümüdür.
XPath, bir XML belgesinden bir düğüm kümesini seçmek için kullanılan bir grafik navigasyon dilidir. Her XPath operatörü, önceki bir XPath operatörü tarafından seçilen bir düğüm setine dayanarak bir düğüm kümesi seçer. Örneğin, bir Müşteri> düğümü kümesi< verildiğinde, XPath "7/14/1999" tarih özellik değerine sahip tüm <Sipariş> düğümlerini seçebilir. Ortaya çıkan düğüm kümesi, 14/7/1999 tarihli tüm siparişleri içerir.
XPath dili, Dünya Çapında Web Konsorsiyumu (W3C) tarafından standart bir navigasyon dili olarak tanımlanmıştır. SQLXML 4.0, W3C XPath spesifikasyonunun bir alt kümesini uygular ve bu spesifikasyon .http://www.w3.org/TR/1999/PR-xpath-19991008.html
Aşağıda, W3C XPath uygulaması ile SQLXML 4.0 uygulaması arasındaki temel farklar yer almaktadır.
Kök sorgular
SQLXML 4.0, kök sorguyu (/) desteklemez. Her XPath sorgusu, şemadaki en üst <seviye bir ElementType> ile başlamalıdır.
Raporlama hataları
W3C XPath spesifikasyonu hata koşulları tanımlamıyor. Herhangi bir düğüm seçemeyen XPath sorguları boş bir düğüm kümesi döndürür. SQLXML 4.0'da, bir sorgu birçok tür hata mesajı döndürebilir.
Belge sıralaması
SQLXML 4.0'da belge sırası her zaman belirlenmez. Bu nedenle, belge sırasını kullanan sayısal öncüller ve eksenler (örneğin aşağıdakı) uygulanmaz.
Belge sırasının olmaması, bir düğümün dize değerinin ancak o düğüm tek bir satırdaki tek bir sütuna eşlediğinde değerlendirilebileceği anlamına gelir. Bir eleman alt eleman veya IDREFS veya NMTOKEN düğümü ile dize dönüştürülemez.
Uyarı
Bazı durumlarda, anahtar alanları açıklaması veya ilişki açıklamasından anahtarlar deterministik bir belge sırasına yol açabilir. Ancak, bu açıklamaların birincil kullanımı değildir. Daha fazla bilgi için bkz. Anahtar Sütunları Tanımlama sql:key-fields (SQLXML 4.0) ve sql:relationship kullanarak ilişkileri belirtmek (SQLXML 4.0) bkz.
Veri türleri
SQLXML 4.0, XPath dizisi, sayı ve boolean veri türlerini uygulamada sınırlamalara sahiptir. Daha fazla bilgi için XPath Veri Türleri (SQLXML 4.0) sayfasına bakınız.
Çapraz ürün sorguları
SQLXML 4.0, örneğin çapraz ürün XPath sorgularını
Customers[Order/@OrderDate=Order/@ShipDate]desteklemez. Bu sorgu, Sipariş Tarihi herhangi bir Siparişin Gönderim Tarihine eşit olan tüm Müşterileri seçer.Ancak, SQLXML 4.0, Sipariş Tarihi Gönderme Tarihine eşit olan herhangi bir Siparişi olan Müşterileri seçen gibi sorguları
Customer[Order[@OrderDate=@ShippedDate]]destekler.Hata yönetimi ve güvenlik
Kullanılan şema ve XPath sorgu ifadesine bağlı olarak, Transact-SQL hatalar belirli koşullar altında kullanıcılara açığa çıkabilir.
Aşağıdaki bölümlerdeki tablolar, XPath sorgularının SQLXML 4.0'daki uygulamasının bu alanlarda W3C spesifikasyonundan nasıl farklı olduğuna dair detaylar sunar.
Desteklenen Fonksiyonellik
Aşağıdaki tablo, SQLXML 4.0'da uygulanan XPath dilinin özelliklerini göstermektedir.
| Özellik | Ürün | Örnek sorgulara bağlantı |
|---|---|---|
| Eksenler | Nitelik, çocuk, ebeveyn ve benlik eksenleri | XPath Sorgularında Eksenlerin Belirtilmesi (SQLXML 4.0) |
| Boolean değerli önlemler, ardışık ve iç içe önlemler dahil olmak üzere | XPath Sorgularında Aritmetik Operatörlerin Belirtilmesi (SQLXML 4.0) | |
| Tüm ilişkisel operatörler | =, !=, <, = <, >, >= | XPath Sorgularında İlişkisel Operatörlerin Belirtilmesi (SQLXML 4.0) |
| Aritmetik işleçler | +, -, *, div | XPath Sorgularında Aritmetik Operatörlerin Belirtilmesi (SQLXML 4.0) |
| Açık dönüşüm fonksiyonları | number(), string(), Boolean() | XPath Sorgularında Açık Dönüşüm Fonksiyonlarının Belirtilmesi (SQLXML 4.0) |
| Boole işleçleri | VE, YA | XPath Sorgularında Boolean Operatörlerinin Belirtilmesi (SQLXML 4.0) |
| Boolean fonksiyonları | true(), false(), not() | XPath Sorgularında Boolean Fonksiyonlarının Belirtilmesi (SQLXML 4.0) |
| XPath değişkenleri | XPath Sorgularında XPath Değişkenlerinin Belirtilmesi (SQLXML 4.0) |
Desteklenmeyen İşlevsellik
Aşağıdaki tablo, XPath dilinin SQLXML 4.0'da uygulanmayan özelliklerini göstermektedir.
| Özellik | Ürün |
|---|---|
| Eksenler | ata, ata-ve-ben, torun, torun-ya da benlik (//), takip eden , takip kardeş, isim alanı, önde, önde-kardeş |
| Sayısal değerli önlemler | |
| Aritmetik işleçler | mod |
| Düğüm fonksiyonları | ata, ata-ve-ben, torun, torun-ya da benlik (//), takip eden , takip kardeş, isim alanı, önde, önde-kardeş |
| Dize işlevleri | string(), concat(), starts-with(), contains(), substring-before(), substring-after(), substring(), string-length(), normalize(), translate() |
| Boolean fonksiyonları | lang() |
| Sayısal işlevler | sum(), zemin(), tavan(), yuvarlak() |
| Sendika operatörü | | |
Bir şablonda XPath sorgularını belirttiğinizde, aşağıdaki davranışa dikkat edin:
- XPath, XML'de özel anlamlara sahip veya ve gibi karakterler < içerebilir (ve şablon bir XML belgesidir). Bu karakterlerden XML ve kodlama kullanarak kaçmanız veya URL'de XPath'ı belirtmeniz gerekir.