किसी XML दस्तावेज़ में कुछ नोड्स में नामस्थान हैं, जो परिभाषित उपसर्ग के साथ निर्दिष्ट हैं।नेमस्पेस-योग्य नोड्स के लिए कोई XPath वाक्यविन्यास क्यों नहीं है?
यह XPath 1.0 में स्थानीय नाम() निर्दिष्ट और इतने नामस्थान अनदेखी करने के लिए संभव है।
हालांकि, मैं XPath के लेखक को अपने पूर्ण नेमस्पेस-योग्य नाम का उपयोग पहचानकर्ता के रूप में नोड ढूंढने के लिए सक्षम करना चाहता हूं।
अनुशंसित तरीका आवेदक कोड (मेरे मामले में, जावा) में नेमस्पेस घोषणाओं को जोड़ना है। लेकिन इसका मतलब है कि एक्सपैथ लिखने वाले व्यक्ति के पास नामस्थानों के साथ काम करने की क्षमता नहीं है!
शुद्ध XPath का उपयोग करके हम अपने पूर्ण योग्य नामों से नोड्स कैसे प्राप्त करते हैं?
यदि मैं सही तरीके से प्रश्न समझता हूं, तो आप पूछ रहे हैं कि 'एडनामस्पेस ("एबीसी", "http://example.com") जैसे निर्देश का उपयोग करके नामस्थान घोषित करने की आवश्यकता क्यों है, जो तब करने की अनुमति देता है Xpath क्वेरी '/ abc: node' की तरह, किसी भी तरह से क्वेरी में सीधे' http: // example.com' का उपयोग करके। क्या मैंने सवाल सही तरीके से व्याख्या किया है? –
@ जोंग बोर हाँ, यही वह है। एपीसी = http: //example.com को XPath के भीतर किसी भी तरह घोषित करने के बाद XPath क्वेरी में सीधे उपसर्ग एबीसी का उपयोग करना अच्छा होगा। मैं समझता हूं कि XPath अभिव्यक्तियां कम हैं और इसमें परिभाषाओं को सम्मिलित करना सामान्य नहीं होगा, लेकिन XPath में संभव होने से तकनीकी रूप से कुछ भी नहीं रोक रहा है। –
बीटीडब्ल्यू अच्छा सवाल, +1। चूंकि उपसर्गों को केवल महत्वहीन वाक्य रचनात्मक चीनी माना जाता है, जबकि नामस्थान यूआरआई महत्वपूर्ण हैं, तो आपको लगता है कि यह नोड नाम पर मिलान करने के लिए उपयोगी हो सकता है, उपसर्ग के साथ गड़बड़ किए बिना नामस्थान यूआरआई हैं - खासकर अगर XPath स्वयं प्रदान करता है एक उपसर्ग घोषित करने का कोई तरीका नहीं है। – LarsH