XML DOM XPathResult অবজেক্ট
- পূর্ববর্তী পৃষ্ঠা DOM XPathExpression
- পরবর্তী পৃষ্ঠা DOM XSLTProcessor
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 এই মথোদ্দতা সঙ্গে একসাথে ব্যবহার করা হয়。 |
সংশ্লিষ্ট পৃষ্ঠা
- পূর্ববর্তী পৃষ্ঠা DOM XPathExpression
- পরবর্তী পৃষ্ঠা DOM XSLTProcessor