1 / 19

XPath

XPath. http://www.w3schools.com/xpath/. Xpath nedir ?. XPath bir W3C standardıdır XPath XML dökümanlarının kısımlarını seçmek için kullanılan bir sintakstır . XPath sorguları XML olarak yazılmazlar ama genelde XSLT ile yoğun bir şekilde kullanılır.

aisha
Download Presentation

XPath

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XPath http://www.w3schools.com/xpath/

  2. Xpathnedir? XPath bir W3C standardıdır XPath XML dökümanlarının kısımlarını seçmek için kullanılan bir sintakstır. XPath sorguları XML olarak yazılmazlar ama genelde XSLT ile yoğun bir şekilde kullanılır. Küçük bir programlama dili gibi fonksiyonları, testleri ve ifadeleri vardır.

  3. XpathSyntax XPath’in XML eleman adresi tarif yaklaşımı işletim sistemlerinin dosya adresleme yöntemine benzer. XPath ifadeleri işletildiğinde tipi düğüm-seti (XML ağacının bir grup düğümünden oluşan bir set), boolean, rakam veya String tipinde bir nesne döndürür.

  4. Adresler İşletim Sistemi:XPath: / = kök dizin /kütüphane= kök element /kütüphane/kitap/abc= tkütüphane klasörünün içindeki kitap klasöründeki abc dosyası /kütüphane/kitap/bölüm/kısım= kütüphanedeki her kitap içindeki bir bölümün her kısım elementi abc= klasördeki abc adındaki dosya kısım= erişilen elementin çocuğu olan her kısım elementi . = erişilmekte olan klasör . = erişilmekte olan element .. = erişilmekte olan elementin ebeveyni .. = bir üst klasör /kütüphane/kitaplar/* = /kütüphane/kitaplar altındaki tüm dosyalar /kütüphane/kitaplar/bölüm/*= /kütüphane/kitaplar/bölüm altındaki tüm elementler

  5. /ile başlayan bir adres dokümanın tepesinden başlayan mutlak bir adresi temsil eder • Örnek: /mesajlar/mesaj/başlık/kimden • Mutlak adresler birden fazla eleman seçebilir • Tek başına bir /tüm dokümanı temsil eder • A path that does not begin with a / represents a path starting from the current element • Örnek: header/from • /ile başlamayan bir adres şu anda erişilmekte olan elementten başlayan bir adresi temsil eder • Örnek: başlık/kimden • // ile başlayan bir adres dokümanın herhangi bir yerinden başlayabilir • Örnek: //başlık/kimden xml dosyasındaki başlıkelementinin çocuğu olan bütün kimden elementlerini seçer • Bu yöntem tün tüm dosyayı arama gerektirdiği için pahalı olabilir

  6. Parantezler ve last() • Parantez içindeki bir rakam o sayıya denk gelen belirli bir elementi seçer (saymaya 1’den başlanır) • Örnek: /kütüphane/kitap[1], kütüphanedeki ilk kitabı seçer • Örnek: //bölüm/kısım[2] XML dokümanındakiherbölüm elementinin ikincikısımelementini seçer • Örnek: //kitap/bölüm[1]/kısım[2] • last()fonksiyonu parantez içinde kullanılınca son çocuğu seçer • Örnek: /kütüphane/kitap/bölüm[last()] • Sondan bir önceki bölüm elementini seçmek içinÖrnek: /kütüphane/kitap/bölüm[last()]

  7. Yıldızlar • Yıldız veya asterisk, “wild card” olarak kullanılır ve bu seviyedeki tüm elementler anlamına gelir • Örnek: /kütüphane/kitap/bölüm/*ifadesi kütüphaneiçindeki her bir kitap elementinin her bölüm elementinin tüm çocuklarını seçer • Örnek: //kitap/*ifadesi her kitapelementinin her bir çocuğunu seçer (bölümler) • Örnek: /*/*/*/paragrafifadesi her tam olarak 3 atası olan herparagrafelementini seçer • Örnek: //* ifadesi tüm dokümandaki tüm elementleri seçer

  8. Öznitelikler (Attributes) • Niteliklerin kendilerini veya belirli nitelik barındıran elementleri seçebilirsiniz • Hatırlatma: bir nitelik isim-değer çifti barındırır örneğin <bölüm no="5"> • Niteliğin kendisini seçmek için isminin önüne @ yazılır • Örnek: @noifadesi ismi no olan bütün nitelikleri seçer • Example: //@*ifadesi dokümanın içerisindeki tüm nitelikleri seçer

  9. Öznitelikler (Attributes) //bölüm[@no] ifadesi no adında bir niteliği bulunan tümbölüm elementlerini seçer //bölüm[not(@no)] ifadesi no adında bir niteliği bulunmayan tümbölümelementlerini seçer //bölüm[@*] ifadesi bir attribute barındıran tümbölüm elementlerini seçer //bölüm[not(@*)] ifadesi attribute barındırmayan tümbölüm elementlerini seçer //bölüm [@no='3'] ifadesi no adında bir niteliğinin değeri 3 olan tümbölüm elementlerini seçer

  10. <?xml version="1.0" encoding="UTF-8"?> <Kutuphane> <Kitap id="123"> <İsim>Anna Karenina</İsim> <Yazar>Lev Tolstoy</Yazar> <Yayınevi>Can</Yayınevi> <Yayınyılı>2008</Yayınyılı> <ISBN>123456789</ISBN> <Fiyat>35</Fiyat> </Kitap> <Kitap id="12"> <İsim>SinekliBakkal</İsim> <Yazar>Halide EdipAdivar</Yazar> <Yayınevi>Can</Yayınevi> <Yayınyılı>2010</Yayınyılı> <ISBN>9750707766</ISBN> <Fiyat>25</Fiyat> </Kitap> <Kitap id="15"> <İsim>PusluKitalarAtlasi</İsim> <Yazar>IhsanOktayAnar</Yazar> <Yayınevi>Iletisim</Yayınevi> <Yayınyılı>2008</Yayınyılı> <ISBN>345129876</ISBN> <Fiyat>18</Fiyat> </Kitap> </Kutuphane>

  11. XPath Veri Modeli Root Kutuphane Kitap Kitap İsim Yazar Yayın evi Yayın yılı ISBN Fiyat

  12. Örnekler //Kutuphane/Kitap/Yayınyılı //Kutuphane/Kitap/Fiyat //Kutuphane/*/Fiyat //Yazar //ISBN /Kutuphane//Fiyat //Kutuphane/Kitap/@id //Kutuphane/Kitap[Fiyat] //Kutuphane/Kitap[Fiyat=18] //Kutuphane/Kitap/@id=12

  13. //Kutuphane/Kitap/Yayınyılı • <Yayınyılı>2008</Yayınyılı> • <Yayınyılı>2010</Yayınyılı> • <Yayınyılı>2008</Yayınyılı> • //Kutuphane/Kitap/Fiyat • <Fiyat>35</Fiyat> • <Fiyat>25</Fiyat> • <Fiyat>18</Fiyat> • //Yazar • <Yazar>Lev Tolstoy</Yazar> • <Yazar>Halide Edip Adivar</Yazar> • <Yazar>Ihsan Oktay Anar</Yazar>

  14. //Kutuphane/Kitap/@id • id="123" • id="12" • id="15" • //Kutuphane/Kitap[Fiyat=18] <Kitap id="15"> <İsim>PusluKitalarAtlasi</İsim> <Yazar>IhsanOktayAnar</Yazar> <Yayınevi>Iletisim</Yayınevi> <Yayınyılı>2008</Yayınyılı> <ISBN>345129876</ISBN> <Fiyat>18</Fiyat> </Kitap>

  15. Predicates //Kutuphane/Kitap[Fiyat<25] <Kitap id="123"> <İsim>Anna Karenina</İsim> <Yazar>Lev Tolstoy</Yazar> <Yayınevi>Can</Yayınevi> <Yayınyılı>2008</Yayınyılı> <ISBN>123456789</ISBN> <Fiyat>35</Fiyat> </Kitap>

  16. //Kutuphane/Kitap/Yazar/text() • Lev Tolstoy • Halide EdipAdivar • IhsanOktayAnar

  17. Eksenler (Axes) Önceki örnekler Xpath veri ağacında aşağıya doğru yürümek için kullanılır. Daha kompleks sorgular ve ağaç üzerinde yukarıya, sağa, sola vs doğru ilerlemek için eksenler kullanılır //Kutuphane/Kitap[2]/self::* - Kendisi //Kutuphane/Kitap[2]/preceding::* - Önceki //Kutuphane/Kitap[2]/following::* - Sonraki //Kutuphane/Kitap[2]/ancestor::* - Ebeveyni //Kutuphane/Kitap[2]/child::* - Çocukları

  18. Eksenler • <kutuphane> <kitap><bolum/><bolum> <kısım> <paragraf/> <paragraf/> </kısım> </bolum><bolum/> </kitap><kitap/></kutuphane> • //bolum[2]/self::* • //bolum[2]/preceding::* • //bolum[2]/following::* • //bolum[2]/ancestor::* • //bolum[2]/descendant::*

  19. Kutuphane ancestor following kitap[1] kitap[2] preceding self bolum[1] bolum[2] bolum[3] kısım[1] descendant paragraph[2] paragraph[1] Eksenler

More Related