XML DOM XPathResult অবজেক্ট

XPath কোয়েরির ফলাফল

XPathResult অবজেক্টটি

XPathResult অবজেক্টটি একটি XPath এক্সপ্রেশনের মানকে প্রতিনিধিত্ব করে। এই ধরনের অবজেক্টটি Document.evaluate() এবং XPathExpression.evaluate() ফিরে যান। XPath কোয়েরি শব্দ, সংখ্যা, বুল মান, নোড এবং নোডের তালিকা হিসাবে গণনা করা যেতে পারে। XPath ইমপ্লিমেন্টেশন নোডের তালিকা ফিরিয়ে দিতে কয়েকটি ভিন্ন পদ্ধতি ব্যবহার করতে পারে, তাই এই অবজেক্টটি XPath কোয়েরির অসল ফলাফল পাওয়ার জন্য কমবারও জটিল API হিসাবে পরিচিত।

XPathResult-এর জন্য, সবার পূর্বে resultType অবজ্যেতা পরীক্ষা করুন।এটি একটি XPathResult স্থিরক্রম সংরক্ষণ করে।এই অবজ্যেতার মান থেকে আপনি যে কোনও প্রকার resultType-এর জন্য কোনও প্রকার প্রয়োগ করা কিংবা যে কোনও প্রকার অবজ্যেতা-এর জন্য কোনও প্রকার সংজ্ঞায়ন করা হয়নি তা সংঘটিত হলে তা দুর্বলতা হবে।

IE-এ XPathResult API-এর সমর্থন নেই।IE-এ XPath কোর্সিউল এক্ষেত্রে পড়ার জন্য দেখুন Node.selectNodes() এবং Node.selectSingleNode()

XPathResult মথুদ্দেহটির স্থিরক্রম

নিম্নোক্ত স্থিরক্রমগুলো একটি XPath কোর্সিউল যে কোনও ক্ষেত্রে ফলাফল হতে পারে।XPathResult মথুদ্দেহটির resultType অবজ্যেতা এই মানগুলোর একটি সংরক্ষণ করে, যা মথুদ্দেহটি যে কোনও ফলাফল সংরক্ষণ করবে তা নির্দিষ্ট করে।এই স্থিরক্রমগুলো Document.evaluate() এবং XPathExpression.evaluate() সহ ব্যবহার করা হয়, যাতে আশা করা ফলাফল রকম নির্দিষ্ট করা যায়。

এই স্থিরক্রমগুলোর এবং তাদের অর্থ নিম্নরূপ:

ANY_TYPE
এই মান ডকুমেন্ট.evaluate() বা XPathExpression.evaluate() পাঠানো হলে, এটি গ্রহণযোগ্য ফলাফল রকম নির্দিষ্ট করে।resultType এই মান সংজ্ঞায়ন করা হয় না。
NUMBER_TYPE
numbervalue ফলাফল সংরক্ষণ করে
STRING_TYPE
stringvalue ফলাফল সংরক্ষণ করে
BOOLEAN_TYPE
booleanValue ফলাফল সংরক্ষণ করে
UNORDERED_NODE_ITERATOR_TYPE
এই ফলাফল হলো নোডগুলোর অসুনির্দিষ্ট সংকলন, iterateNext() পুনরায় ব্যবহার করে সুনির্দিষ্ট নোডগুলো একে অপরের সাথে একই ক্রমে জানানো যায়।এই অভিন্নতা প্রক্রিয়ায়, ডকুমেন্টটি সংশোধন করা হবেনা উচিত。
ORDERED_NODE_ITERATOR_TYPE
ফলাফল হলো নোডগুলোর তালিকা, ডকুমেন্টের বৈশিষ্ট্য অনুযায়ী সাজানো, iterateNext() পুনরায় ব্যবহার করে সুনির্দিষ্ট নোডগুলো একে অপরের সাথে একই ক্রমে জানানো যায়।এই অভিন্নতা প্রক্রিয়ায়, ডকুমেন্টটি সংশোধন করা হবেনা উচিত。
UNORDERED_NODE_SNAPSHOT_TYPE
ফলাফল হলো একটি স্বচ্ছ্বন্দ্র এলাকা তালিকা।snapshotLength অবজ্যেতা তালিকার দৈর্ঘ্য নির্দিষ্ট করে এবং snapshotItem() মথুদ্দেহ সুনির্দিষ্ট তালিকার তুলনায় নোডগুলোর কোনও কোনও ক্রমবিন্যাস নেই।যদিও এই ফলাফলটি একটি “স্ন্যাপশট” হলেও, ডকুমেন্টের কিছুই পরিবর্তন হলেও এটি কার্যকরী থাকে。
ORDERED_NODE_SNAPSHOT_TYPE
এই ফলাফলটি একটি নির্দিষ্ট নোডলিস্ট হয়, যেমন UNORDERED_NODE_SNAPSHOT_TYPE-এর মতো, কিন্তু এই তালিকা ডকুমেন্টের ক্রমবর্ধমান ক্রমে ক্রমান্বয়ে রয়েছে।
ANY_UNORDERED_NODE_TYPE
singleNodeValue প্রতিশ্রুতি একটি নোডকে হয়, যা অনুসন্ধানের সাথে মিলবে; যদি কোন নোডকেমাত্র মিলবে না, তখন null হবে। যদি একাধিক নোডকেমাত্র অনুসন্ধানের সাথে মিলবে, singleNodeValue একটি কোনও মিলিত নোড হতে পারে。
FIRST_ORDERED_NODE_TYPE
singleNodeValue ডকুমেন্টের মধ্যে প্রথম এমন নোডকে সংরক্ষণ করে, যা কোন অনুসন্ধানের সাথে মিলবে; যদি কোন নোডকেমাত্র মিলবে না, তখন null হবে。

XPathResult অবজেক্টের ইনস্ট্যান্স প্রতিশ্রুতি

এখানকার অনেকগুলি বৈশিষ্ট্যকেমাত্র এমন সময়ই ব্যবহার করা যায় যখন resultType একটি নির্দিষ্ট মান সংরক্ষণ করে। এমনকি যদি কোন বৈশিষ্ট্যকেমাত্র resultType-এর নির্দিষ্ট মান দ্বারা নির্দিষ্ট না হয়, তখন ব্যর্থতা হবে。

booleanValue
যখন resultType BOOLEAN_TYPE হয় তখন, ফলাফলের মান সংরক্ষণ করুন。
invalidIteratorState
যদি resultType ITERATOR_TYPE কনস্ট্যান্টের মধ্যে একটি হয় এবং ডকুমেন্টটি পরিবর্তিত হয়েছে, তখন true; এটি পুনরায় ক্রিয়াকরণহীন করে, কারণ ফলাফল ইতিমধ্যেই ফিরিয়ে দেওয়া হয়েছে。
numberValue
যখন resultType হয় NUMBER_TYPE তখন, ফলাফলের মান সংরক্ষণ করুন。
resultType
XPath কোন ফলাফল দেবে তা নির্ধারণ করুন। এই মানটি উপরোক্ত নির্দিষ্ট সংখ্যক কনস্ট্যান্টগুলির মধ্যে একটি। এই বৈশিষ্ট্যের মান আপনাকে জানায় যে, আপনি কোন অন্য বৈশিষ্ট্য ও পদ্ধতিকে কীভাবে ব্যবহার করতে পারেন。
singleNodeValue
যখন resultType হয় XPathResult.ANY_UNORDERED_NODE_TYPE অথবা XPathResult.FIRST_UNORDERED_NODE_TYPE তখন, ফলাফলের মান সংরক্ষণ করুন。
snapshotLength
যখন resultType হয় UNORDERED_NODE_SNAPSHOT_TYPE অথবা ORDERED_NODE_ITERATOR_TYPE তখন, ফলাফলের নোডের সংখ্যা নির্দিষ্ট করুন। এই অপারেশনের সাথে snapshotItem() এই বৈশিষ্ট্যকে একসঙ্গে ব্যবহার করুন。
stringValue
যদি resultType STRING_TYPE হলে, ফলাফল মান সংরক্ষণ করুন।

XPathResult অবজেক্টের মথোদ্দতা

মথোদ্দতা বর্ণনা
iterateNext() যদি resultType UNORDERED_NODE_ITERATOR_TYPE বা ORDERED_NODE_ITERATOR_TYPE হলে, এই মথোদ্দতা ব্যবহার করুন。
snapshotItem() ফলাফল নোড তালিকায় নির্দিষ্ট ইন্ডেক্সিং নোডকে যোগ করুন।এই মথোদ্দতা resultType হল UNORDERED_NODE_SNAPSHOT_TYPE বা ORDERED_NODE_SNAPSHOT_TYPE হলেই ব্যবহার করা যায়।snapshotLength এই মথোদ্দতা সঙ্গে একসাথে ব্যবহার করা হয়。

সংশ্লিষ্ট পৃষ্ঠা

Document.evaluate() এবং XPathExpression.evaluate()