मैं प्रोग्रामिंग के लिए नया हूं। मुझे पता है एक्सएमएल क्या है। क्या कोई भी सरल शब्दों में व्याख्या कर सकता है कि xpath और xquery क्या करते हैं उनका उपयोग कहां किया जाता है?सरल शब्दों में xpath और xquery समझाएं
उत्तर
यह tutorial on XPATH काफी सरल और अनुसरण करने में आसान है। XML और XQUERY पर संबंधित ट्यूटोरियल भी देखें।
XPath एक साधारण क्वेरी भाषा है जो एक्सएमएल डोम में खोज करने में काम करती है। मुझे लगता है कि इसकी तुलना डेटाबेस के साथ एसक्यूएल सिलेक्शन कथन से की जा सकती है। XPath कई प्रोग्रामों का मूल्यांकन कर सकता है जो एक्सएमएल के साथ काम करते हैं और इसका व्यापक उपयोग होता है। मैं आपको इसे सीखने की सलाह देता हूं।
XQuery अधिक शक्तिशाली और जटिल है, यह परिणाम बदलने के लिए कई विकल्प प्रदान करता है, यह चक्र आदि प्रदान करता है लेकिन यह क्वेरी भाषा भी है। यह एक्सएमएल डेटाबेस में क्वेरी भाषा के रूप में भी प्रयोग किया जाता है। मुझे लगता है कि इस भाषा में केवल विशिष्ट उपयोग है और शायद इसे जानना जरूरी नहीं है, शुरुआत में पर्याप्त होगा यदि आप जानते हैं कि यह मौजूद है और
सरल स्पष्टीकरण मुझे आशा है कि यह पर्याप्त है और समझने योग्य
मैं यह भी सुझाव देता हूं कि आप उस पृष्ठ पर निम्नलिखित देखें जो कुछ विचार प्राप्त करने में मदद कर सकता है।
अच्छा एक डेनिज़ .. –
XPath एक XML पेड़ में विशिष्ट तत्वों का पता लगाने का एक तरीका है। जैसे
<myfarm>
<animal type="dog">
<name>Fido</name>
<color>Black</color>
</animal>
<animal type="cat">
<name>Mitsy</name>
<color>Orange</color>
</animal>
</myfarm>
XPath आप संरचना पार करने के लिए अनुमति देता है,:
/myfarm/animal[@type="dog"]/name/text()
जो आप देना होगा "Fido"
XQuery
उदाहरण के लिए, निम्नलिखित संरचना दी एक XML क्वेरी भाषा है जो XML संरचनाओं को क्वेरी करने के लिए XPath का उपयोग करती है। हालांकि यह कार्यों को परिभाषित करने और बुलाए जाने के साथ-साथ FLWOR अभिव्यक्तियों का उपयोग करके डेटा संरचनाओं की जटिल क्वेरीिंग की अनुमति देता है। FLWOR XML में परिभाषित डेटा सेट के बीच कार्यक्षमता में शामिल होने की अनुमति देता है। FLWOR article from wikipedia
नमूना XQuery (कुछ XPath का उपयोग) है:
declare function local:toggle-boolean($b as xs:string)
as xs:string
{
if ($b = "Yes") then "true"
else if ($b = "No") then "false"
else if ($b = "true") then "Yes"
else if ($b = "false") then "No"
else "[ERROR] @ local:toggle-boolean"
};
<ResultXML>
<ChangeTrue>{ local:toggle-boolean(doc("file.xml")/article[@id="1"]/text()) }</ChangeTrue>
<ChangeNo>{ local:toggle-boolean(doc("file.xml")/article[@id="2"]/text()) }</ChangeNo>
</ResultXML>
+1 उपयोगी स्पष्टीकरण और उदाहरण। हालांकि 2 सुधार: 1) "एक्सएमएल डोम में" एक एक्सएमएल पेड़ में "कहना चाहिए"। डीओएम एक विशिष्ट इंटरफ़ेस है जो XPath के लिए आवश्यक नहीं है। 2) "XQuery XPath का विस्तार है" - मैं कहूंगा, "XQuery एक XML दस्तावेज़ क्वेरी भाषा है जो XPath का उपयोग करती है"। जितना सी भाषा अंकगणितीय ऑपरेटरों का उपयोग करती है, लेकिन सी अंकगणितीय ऑपरेटरों के "विस्तार" से कहीं अधिक है। – LarsH
प्रतिक्रिया के लिए धन्यवाद। मेरी पोस्ट स्पष्ट करें। –
@ लार्सएच: यह ध्यान देने योग्य है कि XQuery वास्तव में XPath का एक extenstion (या superset) है। कोई वैध XPath अभिव्यक्ति भी एक वैध XQuery अभिव्यक्ति है। – Tomas
W3Schools नहीं W3C के साथ संबद्ध किसी भी तरह से, कृपया अपनी कड़ी पाठ को ठीक है। हालांकि उनके पास कुछ अच्छे और आसान ट्यूटोरियल हैं। – jasso