XPath ve XQuery¶
Süreç mantığı veya formlar basit alan bağlamanın ötesinde XML'de gezinme, XML sorgulama ya da XML güncelleme gerektirdiğinde bu bölümü kullanın.
XPath¶
Şu durumlarda XPath kullanarak geçerli XML yapısından değer veya düğüm seçin. Pencere öğesi bağlamaları, rota koşulları, doğrulamalar ve basit ifadeler için en yaygın tercih budur.
XPath, XML'i düğümlerden oluşan bir ağaç olarak ele alır ve dizeler, sayılar, boole değerleri, tarihler ve dizi işlemleri için işlevler sağlar. Uygulamada süreç oluşturucular bunu büyük XML belgelerini yeniden şekillendirmek yerine değerleri okumak veya karşılaştırmak için kullanır.
XQuery¶
Şu durumlarda XQuery kullanın: XPath tek başına yeterli olmadığında ve daha kapsamlı sorgulama, yineleme veya XML güncelleme mantığı gerektiğinde. XQuery, XPath'i temel alır; bu nedenle önce XPath'i anlamanız önemle tavsiye edilir.
XQuery, kısaltması FLWOR olan ("flower" diye telaffuz edilen) beş ifadeyi temel alır.
- For bir düğüm dizisi seçer
- Let bir diziyi değişkene bağlar
- Where düğümleri filtreler
- Order by düğümleri sıralar
- Return ne döndürüleceğini tanımlar
Bu ifadelerle XML verilerini tek bir XPath deyimine kıyasla daha ifade gücü yüksek biçimde sorgulayabilir ve şekillendirebilirsiniz.
XQuery'nin temel özelliklerine ek olarak, XQuery'ye bazı kullanışlı özellikler ekleyen XQuery Update Facility adlı bir uzantı vardır.
XQuery Update Facility, XML belgelerini veya verilerini değiştirmek için kullanışlı yöntemler sağlayan, XQuery dilinin görece küçük bir uzantısıdır. 14 Mart 2008 itibarıyla XQuery Update Facility belirtimi "Aday Tavsiye" statüsüne ulaşmıştır; bu, artık oldukça kararlı olduğu anlamına gelir.
XML Sorgulama'da neden bir güncelleme özelliği olsun? Yanıt açık gibi görünse de XQuery dilinin kendisi (veya kuzeni XSLT2), XML ağacı üzerinde her türlü dönüşümü yazacak kadar güçlüdür. Bu nedenle böyle bir dönüşümün sonucuna uygulanan basit bir "store" veya "put" işlevi, her tür veritabanı güncelleme işlemini gerçekleştirmek için yeterli görünebilir. Belki de öyledir. Uygulamada bu yaklaşım ne çok doğal ne kullanışlı ne de verimlidir (belgenin tamamını yeniden kaydetmeyi gerektirir ve iyileştirmeyi çok zorlaştırır). Göreceğimiz gibi, XQuery Update'in eklediği az miktardaki karmaşıklık harcanan çabaya değer.
Bu Bölüm Nasıl Kullanılır¶
- Şununla başlayın: XPath ağırlıklı olarak seçim, karşılaştırma veya işlev çağrıları gerekiyorsa.
- Şuna geçin: XQuery yineleme, dönüşüm veya XML güncelleme iş akışları gerekiyorsa.
- Temel bilgilere zaten hâkimseniz hızlı başvuru olarak XPath İşlevleri bölümünü kullanın.