Ana içeriğe geç

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

Geçerli XML yapısından değer veya düğüm seçmeniz gerektiğinde XPath kullanın. Bu; widget bağlamaları, rota koşulları, doğrulamalar ve basit ifadeler için en yaygın seçenektir.

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ç tasarımcıları, büyük XML belgelerini yeniden şekillendirmekten çok değerleri okumak veya karşılaştırmak için kullanır.

XQuery

XPath tek başına yeterli olmadığında ve daha kapsamlı sorgulama, yineleme veya XML güncelleme mantığı gerektiğinde XQuery kullanın. 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ş ifadeye dayanır.

  • For bir düğüm dizisi seçer
  • Let bir diziyi bir 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 ifadesine kıyasla daha esnek bir şekilde sorgulayabilir ve biçimlendirebilirsiniz.

XQuery'nin temel özelliklerinin yanı sıra, XQuery'ye bazı yararlı özellikler ekleyen XQuery Update Facility adlı bir uzantı da 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 "Candidate Recommendation" (Aday Tavsiye) aşamasına gelmiştir; bu da artık oldukça kararlı olduğu anlamına gelir.

XML Sorgulama için neden bir güncelleme olanağı gerekir? Yanıt açık gibi görünür; sonuçta XQuery dilinin kendisi veya onun kuzeni XSLT2, bir XML ağacının her türlü dönüşümünü yazabilecek 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ürlü veritabanı güncelleme işlemini gerçekleştirmek için yeterli görünebilir. Belki de öyledir. Ancak uygulamada bu yaklaşım ne çok doğal ne kullanışlı ne de verimlidir (belgenin tamamının yeniden saklanmasını gerektirir ve iyileştirmeyi çok zorlaştırır). Dolayısıyla göreceğimiz gibi, XQuery Update'in eklediği az miktardaki karmaşıklık harcanan çabaya değer görünmektedir.

Bu Bölümü Kullanma

  • Ağırlıklı olarak seçim, karşılaştırma veya işlev çağrısı gerekiyorsa XPath ile başlayın.
  • Yineleme, dönüştürme veya XML güncelleme iş akışlarına ihtiyacınız varsa XQuery'ye geçin.
  • Temel bilgileri öğrendikten sonra hızlı başvuru olarak XPath İşlevleri bölümünü kullanın.