XPath - XPath

XPath
ParadigmaSo'rov tili
TuzuvchiW3C
Birinchi paydo bo'ldi1998
Barqaror chiqish
3.1 / 2017 yil 21-mart; 3 yil oldin (2017-03-21)
Ta'sirlangan
XSLT, XPointer
Ta'sirlangan
XML sxemasi, XForms

XPath (XML yo'l tili) a so'rovlar tili tanlash uchun tugunlar dan XML hujjat. Bundan tashqari, XPath qiymatlarni hisoblash uchun ishlatilishi mumkin (masalan, torlar, raqamlar yoki Mantiqiy qiymatlari) XML hujjat tarkibidan. XPath tomonidan belgilangan Butunjahon Internet tarmog'idagi konsortsium (W3C).[1]. XPath ni SelectorsHub-da osongina yozish va tekshirish mumkin.[2]

Umumiy nuqtai

XPath tili a ga asoslangan XML hujjatining daraxt ko'rinishi, va turli mezonlarga ko'ra tugunlarni tanlab, daraxt atrofida harakat qilish imkoniyatini beradi.[3][4] Ommabop foydalanishda (rasmiy spetsifikatsiyada bo'lmasa ham), XPath ifodasi ko'pincha oddiygina "XPath" deb nomlanadi.

Dastlab ular o'rtasida umumiy sintaksis va xatti-harakat modelini taqdim etish istagi paydo bo'ldi XPointer va XSLT, XPath kichik to'plamlari so'rovlar tili boshqasida ishlatiladi W3C kabi xususiyatlar XML sxemasi, XForms va Internationalization Tag Set (ITS).

XPath bir qator XML ishlov berish kutubxonalari va vositalari tomonidan qabul qilingan, ularning aksariyati taqdim etadi CSS tanlovchilari, boshqa W3C standarti, XPath-ga oddiy alternativa sifatida.

Versiyalar

Amaldagi XPath-ning bir nechta versiyalari mavjud. XPath 1.0 1999 yilda, XPath 2.0 2007 yilda (ikkinchi nashr bilan 2010 yilda), XPath 3.0 2014 yilda va XPath 3.1 2017 yilda nashr etilgan. Ammo XPath 1.0 hali ham eng keng tarqalgan versiyasidir.[1]

  • XPath 1.0 1999 yil 16-noyabrda tavsiyanomaga aylandi va o'z-o'zidan keng qo'llanildi va qo'llanildi (API orqali bunday tillardan chaqiriladi) Java, C #, Python yoki JavaScript ) yoki kabi tillarga kiritilgan XSLT, XProc, XML sxemasi yoki XForms.
  • XPath 2.0 2007 yil 23 yanvarda Tavsiya bo'ldi, ikkinchi nashri 2010 yil 14 dekabrda nashr etildi. Bir qator dasturlar mavjud, ammo XPath 1.0 kabi keng qo'llanilmaydi. XPath 2.0 til spetsifikatsiyasi XPath 1.0 ga qaraganda ancha kattaroq va tipik tizim kabi tilning ba'zi asosiy tushunchalarini o'zgartiradi.
    Eng e'tiborli o'zgarish shundaki, XPath 2.0 atrofida qurilgan XQuery va XPath ma'lumotlar modeli (XDM) ancha boy tizimga ega.[5] Endi har bir qiymat ketma-ketlikka aylanadi (bitta atom qiymati yoki tugun uzunlik ketma-ketligi sifatida qaraladi). XPath 1.0 tugun to'plamlari har qanday tartibda bo'lishi mumkin bo'lgan tugun ketma-ketliklari bilan almashtiriladi.
    Keyinchalik boy turdagi to'plamlarni qo'llab-quvvatlash uchun XPath 2.0 juda kengaytirilgan funktsiyalar va operatorlar to'plamini taklif etadi.
    XPath 2.0 aslida bir qismidir XQuery 1.0. Ular bir xil ma'lumot modelini baham ko'rishadi (XDM ). Bu taklif qiladi uchun "ning qisqartirilgan versiyasi bo'lgan ifodaFLWOR "XQuery-dagi iboralar. XQuery-ning tark etadigan qismlarini sanab o'tish bilan tilni tavsiflash mumkin: asosiy misollar so'rov prologi, element va atribut konstruktorlari," FLWOR "sintaksisining qolgan qismi va yozuv mashinasi ifoda.
  • XPath 3.0 2014 yil 8 aprelda Tavsiya bo'ldi.[6] Eng muhim yangi xususiyat - bu birinchi darajali qiymat sifatida funktsiyalarni qo'llab-quvvatlash. XPath 3.0-dagi yangiliklar haqida batafsil ma'lumot uchun qarang.[7] XPath 3.0 - bu XQuery 3.0 ning quyi to'plami va hozirgi dasturlarning aksariyati (2014 yil aprel) XQuery 3.0 dvigatelining bir qismi sifatida mavjud.
  • XPath 3.1 2017 yil 21 martda Tavsiya bo'ldi. Ushbu versiya ma'lumotlarning yangi turlarini qo'shadi: xaritalar va massivlar, asosan qo'llab-quvvatlashni qo'llab-quvvatlaydi JSON.
XML fayliga qo'llaniladigan XPath ifodasi

Sintaksis va semantik (XPath 1.0)

XPath-dagi eng muhim ifoda turi bu joylashish yo'li. Joylashuv yo'li ketma-ketlikdan iborat joylashish qadamlari. Har bir joylashish bosqichi uchta tarkibiy qismdan iborat:

XPath ifodasi a ga qarab baholanadi kontekst tuguni. "Bola" yoki "avlod" kabi eksa aniqlagichi kontekst tugunidan o'tish yo'nalishini belgilaydi. Tugun sinovi va predikat eksa aniqlagichi tomonidan ko'rsatilgan tugunlarni filtrlash uchun ishlatiladi: Masalan, "A" tugun sinovi barcha yo'naltirilgan tugunlarda "A" yorlig'i bo'lishi kerakligini talab qiladi. Belgilangan tugunlarning XPath ifodalari tomonidan belgilanadigan ma'lum xususiyatlarga ega ekanligini aniqlash uchun predikatdan foydalanish mumkin.

XPath sintaksisi ikki xilda bo'ladi: the qisqartirilgan sintaksis, ixchamroq va intuitiv va ko'p hollarda tanish belgilar va konstruktsiyalar yordamida XPaths-ni osonlikcha yozish va o'qish imkonini beradi. The to'liq sintaksis batafsilroq, ammo ko'proq variantlarni belgilashga imkon beradi va diqqat bilan o'qib chiqsangiz yanada tavsiflidir.

Qisqartirilgan sintaksis

Yilni yozuvlar odatiy holatlar uchun ko'plab standart va qisqartirishlarga imkon beradi. Hech bo'lmaganda o'z ichiga olgan XML manbai berilgan

<A>  <B>    <C/>  </B></A>

eng oddiy XPath kabi shaklni oladi

  • / A / B / C

bu X elementining tashqi elementini tashkil etuvchi A elementining bolalari bo'lgan B elementlarining bolalari bo'lgan C elementlarini tanlaydi. XPath sintaksisi URI-ni taqlid qilish uchun mo'ljallangan (Resurs identifikatorining yagona shakli ) va Unix uslubidagi fayllar yo'li sintaksis.

Oddiy "bolaga" o'qidan tashqari o'qni, oddiy nomdan tashqari tugun sinovini yoki predikatlar ko'rsatib, har qanday qadamdan keyin kvadrat qavs ichida yozilishi mumkin bo'lgan murakkab ifodalarni yaratish mumkin. Masalan, ifoda

  • A // B / * [1]

birinchi bolani tanlaydi ('*[1]'), nima bo'lishidan qat'i nazar, bola yoki boshqa chuqurroq avlod bo'lgan har bir B elementining (' '//') joriy kontekst tugunining farzandi bo'lgan element (ifoda' bilan boshlanmaydi/'). E'tibor bering, predikat [1] ga qaraganda qattiqroq bog'lanadi / operator. Ifoda tomonidan tanlangan birinchi tugunni tanlash uchun A // B / *, yozing (A // B / *) [1]. Shuni ham yodda tutingki, XPath indeks qiymatlari (texnik jihatdan XPath tugunlari to'plamlarining "yaqinlik pozitsiyalari") C va Java kabi tillarda odatdagidek 0 emas, 1 dan boshlanadi.

Kengaytirilgan sintaksis

To'liq, qisqartirilmagan sintaksisda yuqoridagi ikkita misol yozilgan bo'lar edi

  • / bola :: A / bola :: B / bola :: C
  • bola :: A / avlodlari-yoki-o'zi :: tugun () / bola :: B / bola :: * [pozitsiyasi () = 1]

Bu erda, XPath-ning har bir bosqichida o'qi (masalan, bola yoki avlodi yoki o'zi) aniq ko'rsatilgan, so'ngra :: va keyin tugun sinovi, kabi A yoki tugun () yuqoridagi misollarda.

Eksa aniqlagichlari

Eksa aniqlagichlari XML hujjatining daraxt ko'rinishidagi navigatsiya yo'nalishini bildiradi. Mavjud o'qlar:

XPath-da eksa aniqlagichlari
To'liq sintaksisQisqartirilgan sintaksisIzohlar
ajdod
ajdodlar yoki o'zlari
xususiyat@@abc qisqa attribut :: abc
bolaxyz qisqa bola :: xyz
avlod
avlodi yoki o'zi//// qisqa / avlodidan-yoki-o'ziga :: node () /
quyidagi
birodar
ism maydoni
ota-ona.... qisqa ota-ona :: tugun ()
Oldingi
oldingi birodar
o'zini o'zi.. qisqa self :: node ()

Dan foydalanish misoli xususiyat qisqartirilgan sintaksisdagi o'q, // a / @ href chaqirilgan atributni tanlaydi href yilda a hujjatlar daraxtining istalgan joyidagi elementlar . (uchun qisqartma self :: node ()) ko'pincha tanlangan tugunga murojaat qilish uchun predikat ichida ishlatiladi. h3 [. = 'Shuningdek qarang'] deb nomlangan elementni tanlaydi h3 matn mazmuni bo'lgan hozirgi sharoitda Shuningdek qarang.

Tugun sinovlari

Tugun testlari ma'lum tugun nomlari yoki undan ko'proq umumiy ifodalardan iborat bo'lishi mumkin. XML hujjatida, unda nom maydonining prefiksi mavjud gs aniqlandi, // gs: so'rov hammasini topadi so'rov shu nomlar maydonidagi elementlar va // gs: * mahalliy nomidan qat'i nazar, ushbu element maydonida barcha elementlarni topadi.

Boshqa tugun sinov formatlari:

izoh ()
XML izoh tugunini topadi, masalan. <!-- Comment -->
matn ()
tipdagi matn tugunini topadi, masalan. The Salom Dunyo yilda <k>hello<m> world</m></k>
ishlov berish-ko'rsatma ()
XML topadi ishlov berish bo'yicha ko'rsatmalar kabi <?php echo $a; ?>. Ushbu holatda, ishlov berish bo'yicha ko'rsatma ('php') mos keladi.
tugun ()
umuman istalgan tugunni topadi.

Bashoratlar

Kvadrat qavsda ifoda sifatida yozilgan taxminlarga odatlanib qolish mumkin filtr ba'zi bir shartlarga muvofiq tugun o'rnatilgan. Masalan, a tugunni qaytaradi (barchasi a kontekst tugunining bolalari bo'lgan elementlar), va a [@ href = 'help.php'] faqat an elementlarini saqlaydi href qiymati bilan atribut help.php.

Bosqichda predikatlar sonida chegara yo'q va ularni XPath-ning so'nggi bosqichi bilan cheklash shart emas. Ular har qanday chuqurlikda ham joylashishi mumkin. Predikatlarda ko'rsatilgan yo'llar joriy qadam kontekstidan boshlanadi (ya'ni darhol oldingi tugun sinovidan) va bu kontekstni o'zgartirmaydi. Uchrashuv yuzaga kelishi uchun barcha predikatlar qondirilishi kerak.

Predikatning qiymati raqamli bo'lsa, u sintaktik-shakar bo'lib, tugunni to'plamdagi holatiga solishtirish uchun (funktsiya tomonidan berilgan) pozitsiyasi ()). Shunday qilib p [1] stenografiya p [pozitsiya () = 1] va birinchisini tanlaydi p element bola, esa p [oxirgi ()] stenografiya p [pozitsiya () = oxirgi ()] va oxirgisini tanlaydi p kontekst tugunining bolasi.

Boshqa hollarda, predikatning qiymati avtomatik ravishda mantiqqa aylanadi. Predikat tugun to'plamiga baho berganda, natija tugun to'plami bo'lganda to'g'ri bo'ladi bo'sh emas[oydinlashtirish ]. Shunday qilib p [@x] ularni tanlaydi p atributga ega bo'lgan elementlar x.

Keyinchalik murakkab misol: ifoda a [/ html / @ lang = 'en'] [@ href = 'help.php'] [1] / @ maqsad ning qiymatini tanlaydi nishon birinchi atribut a unga ega bo'lgan kontekst tugunining bolalari orasida element href atribut o'rnatilgan help.php, hujjat taqdim etilgan HTML yuqori darajadagi elementda ham mavjud lang atribut o'rnatilgan uz. Birinchi predikatdagi yuqori darajadagi elementning atributiga havola na boshqa predikatlar kontekstiga, na joylashish qadamining o'ziga ta'sir qilmaydi.

Agar predikatlar tugunning holatini sinab ko'rsa, bashorat tartibi muhim ahamiyatga ega. Har bir predikat tugun to'plamini oladi (potentsial) kichikroq tugunni qaytaradi. Shunday qilib a [1] [@ href = 'help.php'] faqat birinchisi bo'lsa, mos keladigan topiladi a kontekst tugunining farzandi shartni qondiradi @ href = 'help.php', esa a [@ href = 'help.php'] [1] birinchisini topadi a ushbu shartni qondiradigan bola.

Funksiyalar va operatorlar

XPath 1.0 ma'lumotlarning to'rt turini belgilaydi: tugun to'plamlari (ichki tartibsiz tugunlar to'plamlari), satrlar, raqamlar va mantiqiy ma'lumotlar.

Mavjud operatorlar:

  • Yuqorida tavsiflanganidek, yo'l ifodalarida ishlatiladigan "/", "//" va "[...]" operatorlari.
  • Ikki tugunli to'plamlarning birlashishini tashkil etuvchi birlashma operatori "|".
  • Mantiqiy operatorlar "va" va "yoki", va "emas ()" funktsiyasi
  • "+", "-", "*", "div" (divide) va "mod" arifmetik operatorlari
  • Taqqoslash operatorlari "=", "! =", "<", ">", "<=", "> ="

Funktsiyalar kutubxonasi quyidagilarni o'z ichiga oladi:

  • Satrlarni boshqarish funktsiyalari: concat (), substring (), tarkibida (), substring-before (), substring-after (), translate (), normalize-space (), string-length ()
  • Raqamlarni boshqarish funktsiyalari: sum (), dumaloq (), qavat (), ship ()
  • Tugunlarning xususiyatlarini olish funktsiyalari: name (), local-name (), namespace-uri ()
  • Qayta ishlash mazmuni to'g'risida ma'lumot olish uchun funktsiyalar: pozitsiyasi (), oxirgi ()
  • Konvertatsiya qilish funktsiyalarining turi: string (), number (), boolean ()

Keyinchalik foydali funktsiyalarning ba'zilari quyida keltirilgan.[8]

Tugunlarni o'rnatish funktsiyalari

pozitsiyasi ()
hozirda ishlov berilayotgan tugunlar ketma-ketligidagi ushbu tugunning o'rnini aks ettiruvchi raqamni qaytaradi (masalan, xsl tomonidan tanlangan tugunlar: har bir ko'rsatma uchun XSLT).
hisoblash (tugun o'rnatilgan)
uning argumenti sifatida berilgan tugun to'plamidagi tugunlar sonini qaytaradi.

String funktsiyalari

string (ob'ekt?)
o'rnatilgan to'rtta XPath ma'lumot turlaridan birini istalgan qatorga mag'lubiyatga aylantiradi. Agar argumentning qiymati tugunlar to'plami bo'lsa, funktsiya boshqa tugunlarni hisobga olmasdan, birinchi tugunning string-qiymatini hujjat tartibida qaytaradi.
konkret (mag'lubiyat, mag'lubiyat, mag'lubiyat*)
birlashadi ikki yoki undan ortiq tor
bilan boshlanadi (s1, s2)
qaytadi to'g'ri agar s1 bilan boshlanadi s2
o'z ichiga oladi (s1, s2)
qaytadi to'g'ri agar s1 o'z ichiga oladi s2
pastki chiziq (mag'lubiyat, boshlang, uzunlik?)
misol: substring ("ABCDEF", 2,3) qaytadi "BCD".
substring-oldin (s1, s2)
misol: substring-before ("1999/04/01", "/") qaytadi 1999
pastki qator (s1, s2)
misol: substring-after ("1999/04/01", "/") qaytadi 04/01
mag'lubiyat uzunligi (mag'lubiyat?)
qatordagi belgilar sonini qaytaradi
normalizatsiya-bo'shliq (mag'lubiyat?)
barchasi etakchi va orqada bo'sh joy o'chiriladi va bo'shliq belgilarining har qanday ketma-ketligi bitta bo'shliq bilan almashtiriladi. Bu asl XML bo'lishi mumkin bo'lganida juda foydali chiroyli iz formatlangan, bu keyingi satrlarni qayta ishlashni ishonchsiz qilishi mumkin.

Mantiqiy funktsiyalar

emas (mantiqiy)
mantiqiy ifodani rad etadi.
rost ()
ga baho beradi to'g'ri.
noto'g'ri ()
ga baho beradi yolg'on.

Raqam funktsiyalari

sum (tugun o'rnatilgan)
o'rnatilgan kasting qoidalariga muvofiq, XPath argumenti tomonidan topilgan barcha tugunlarning mag'lubiyat qiymatlarini raqamlarga o'zgartiradi, so'ngra bu raqamlarning yig'indisini qaytaradi.

Foydalanish misollari

Operatorlar yordamida predikatlar ichida iboralar yaratilishi mumkin: =, !=, <=, <, >= va >. Mantiqiy ifodalar qavslar bilan birlashtirilishi mumkin () va mantiqiy operatorlar va va yoki shuningdek emas () yuqorida tavsiflangan funktsiya. Raqamli hisob-kitoblardan foydalanish mumkin *, +, -, div va mod. Iplar har qanday narsadan iborat bo'lishi mumkin Unicode belgilar.

// element [@price> 2 * @ chegirma] narx atributi ularning chegirma atributining son qiymatidan ikki baravar katta bo'lgan narsalarni tanlaydi.

Butun tugun to'plamlari birlashtirilishi mumkin ("birlashgan" ) vertikal chiziq belgisidan foydalanib |. Bir nechta yoki bir nechta shartlarga javob beradigan tugun to'plamlarini predikat ichidagi shartlarni 'bilan birlashtirish orqali topish mumkin.yoki'.

v [x yoki y] | w [z] dan tashkil topgan bitta tugun to'plamini qaytaradi v ega bo'lgan elementlar x yoki y bolalar elementlari, shuningdek, barcha w ega bo'lgan elementlar z hozirgi sharoitda topilgan bolalar elementlari.

Sintaksis va semantik (XPath 2.0)

Sintaksis va semantik (XPath 3)

Misollar

Namuna XML hujjati berilgan

<?xml version="1.0" encoding="utf-8"?><Wikimedia>  <projects>     ism ="Vikipediya" ishga tushirish ="2001-01-05">      <editions>         til ="Inglizcha">en.wikipedia.org</edition>         til ="Nemis">de.wikipedia.org</edition>         til ="Frantsuzcha">fr.wikipedia.org</edition>         til ="Polyakcha">pl.wikipedia.org</edition>         til ="Ispancha">es.wikipedia.org</edition>      </editions>    </project>     ism ="Vikilug'at" ishga tushirish ="2002-12-12">      <editions>         til ="Inglizcha">en.wiktionary.org</edition>         til ="Frantsuzcha">fr.wiktionary.org</edition>         til ="Vetnam">vi.wiktionary.org</edition>         til ="Turkcha">tr.wiktionary.org</edition>         til ="Ispancha">es.wiktionary.org</edition>      </editions>    </project>  </projects></Wikimedia>

XPath ifodasi

/ Vikimedia / loyihalar / loyiha / @ nomi

barcha loyihalar uchun nom atributlarini tanlaydi va

/ Vikimedia // nashrlar

barcha loyihalarning barcha nashrlarini tanlaydi va

/ Vikimedia / loyihalar / loyiha / nashrlar / nashr [@ language = 'English'] / text ()

barcha inglizcha Vikimedia loyihalarining manzillarini tanlaydi (barchasining matni) nashr elementlar qaerda til atribut tengdir Ingliz tili). Va quyidagilar

/ Vikimedia / loyihalar / loyiha [@ name = 'Wikipedia'] / nashrlar / nashr / matn ()

barcha Vikipediyalarning manzillarini (barchasining matni) tanlaydi nashr ostida mavjud bo'lgan elementlar loyiha nomi xususiyati bo'lgan element Vikipediya).

Amaliyotlar

Buyruq qatori vositalari

  • XMLStarlet XPath buyruqlarini tezda sinab ko'rish / bajarish uchun vositani ishlatish oson.
  • xmllint (libxml2)
  • Altova-dan RaptorXML Server XPath 1.0, 2.0 va 3.0 ni qo'llab-quvvatlaydi
  • Xidel

ASOSIY

  • QM / BASIC uchun Pavuk XML protsessori[9]

C / C ++

Bepul Paskal

  • XPath birligi standart kutubxonalarga kiritilgan

Ma'lumotlar bazasi dvigatellari uchun qo'llanmalar

Java

  • Saksoniya XSLT XPath 1.0, XPath 2.0 va XPath 3.0 (shuningdek XSLT 2.0, XQuery 3.0 va XPath 3.0) ni qo'llab-quvvatlaydi
  • BaseX (shuningdek, XPath 2.0 va XQuery-ni qo'llab-quvvatlaydi)
  • VTD-XML
  • Sedna XML ma'lumotlar bazasi Ikkala XML: JB va mulkiy ma'lumotlar.
  • QuiXPath a oqim ochiq manba Innovimax tomonidan amalga oshirish
  • Xalan
  • Dom4j

The Java paket javax.xml.xpath Java 5-dan beri Java standart nashrining bir qismidir [10] orqali XML ishlov berish uchun Java API. Texnik jihatdan bu XPath API XPath dasturidan ko'ra va bu dasturchiga interfeysga mos keladigan aniq dasturni tanlash imkoniyatini beradi.

JavaScript

.NET Framework

  • System.Xml va System.Xml.XPath nom maydonlarida[11]
  • Sedna XML ma'lumotlar bazasi

Perl

  • XML :: LibXML (libxml2)

PHP

  • Sedna XML ma'lumotlar bazasi
  • DOMXPath libxml kengaytmasi orqali

Python

Yoqut

Sxema

  • Sedna XML ma'lumotlar bazasi

SQL

  • MySQL 5.1.5 versiyasidan boshlab XPath to'plamini qo'llab-quvvatlaydi[14]
  • PostgreSQL 8.4 versiyasidan XPath va XSLT-ni qo'llab-quvvatlaydi[15]

Tcl

  • The tdom to'plami "C-da juda to'liq, mos va tezkor XPath dasturini" ta'minlaydi

Sxema tillarida foydalaning

XPath XML uchun sxema tillarida cheklovlarni ifodalash uchun tobora ko'proq foydalanilmoqda.

  • (Hozir ISO standarti ) sxema tili Sxemasi yondashuvni kashshof qildi.
  • XPath ning oqim quyi to'plami W3C XML Schema 1.0-da o'ziga xoslik va asosiy cheklovlarni ifodalash uchun ishlatiladi. XSD 1.1-da, XPath-dan foydalanish atribut qiymatlari asosida shartli turdagi tayinlashni qo'llab-quvvatlash va o'zboshimchalik bilan mantiqiy tasdiqlarni elementlarning tarkibiga qarab baholashga imkon berish uchun kengaytirilgan.
  • XForms turlarni qiymatlarga bog'lash uchun XPath-dan foydalanadi.
  • Ushbu yondashuv xml bo'lmagan dasturlarda, masalan, Java uchun manba kodlari analizatori kabi foydalanishni topdi PMD: Java a ga aylantirildi DOM - ajratish daraxti singari, keyin XPath qoidalari daraxt ustida aniqlanadi.

Shuningdek qarang

Adabiyotlar

  1. ^ a b "XML va Semantic Web W3C standartlari xronologiyasi" (PDF). 2012-02-04.
  2. ^ "XPath uchun aqlli muharrir". 2020-07-29.
  3. ^ Bergeron, Rendi (2000 yil 31 oktyabr). "XPath - XML ​​hujjatidan tugunlarni olish". SQL Server jurnali. Arxivlandi asl nusxasi 2010 yil 26 iyulda. Olingan 24-fevral, 2011.
  4. ^ Per Jenves (Oktyabr 2012). "Kurs: XPath tili" (PDF).
  5. ^ XPath 2.0 o'rnatilgan turlar sifatida belgilangan atom turlarini qo'llab-quvvatlaydi XML sxemasi, shuningdek, foydalanuvchi tomonidan belgilangan turlarni sxemadan import qilishi mumkin.
  6. ^ XPath 3.0 W3C tavsiyasi
  7. ^ 3.0 (XSLT / XPath / XQuery) da yangi narsalar (ortiqcha XML sxemasi 1.1) Maykl Kay tomonidan, Saksoniya
  8. ^ To'liq tavsif uchun qarang W3C Tavsiya hujjati
  9. ^ Krouell, Uilyam (2016). "Pavuk XML protsessori" (PDF). www.pavuk.com.
  10. ^ https://docs.oracle.com/javase/7/docs/api/javax/xml/xpath/package-summary.html
  11. ^ System.Xml ism maydoni
  12. ^ Dyuk, Jastin (2016 yil 29 sentyabr). "Scrapy va Python 3 yordamida qanday qilib veb-sahifani skanerlash kerak". Raqamli okean. Arxivlandi asl nusxasi 2017 yil 4 oktyabrda. Olingan 24-noyabr 2017. Selektorlar - bu biz sahifadagi bitta yoki bir nechta elementni topish uchun ishlatadigan naqshlar, shuning uchun element ichidagi ma'lumotlar bilan ishlashimiz mumkin. scrapy CSS yoki XPath tanlovchilarini qo'llab-quvvatlaydi.
  13. ^ http://xmlsoft.org/
  14. ^ http://dev.mysql.com/doc/refman/5.1/en/xml-functions.html
  15. ^ Postgresql.org saytidagi onlayn hujjatlar

Tashqi havolalar