Java XML এর মধ্যে XPath Expressions এবং Functions অত্যন্ত গুরুত্বপূর্ণ টুলস যা XML ডকুমেন্ট থেকে ডেটা এক্সট্রাক্ট করতে সাহায্য করে। XPath একটি ভাষা যা XML ডকুমেন্টের বিভিন্ন উপাদান বা অ্যাট্রিবিউটের মান বের করতে ব্যবহৃত হয়। নিচে XPath Expressions এবং Functions সম্পর্কে বিস্তারিত আলোচনা করা হলো:
1. XPath Expressions
XPath Expression একটি কুয়েরি ভাষা যা XML ডকুমেন্টের মধ্যে নির্দিষ্ট উপাদান বা ডেটা বের করতে ব্যবহৃত হয়। এটি XML ডকুমেন্টের মধ্যে নেভিগেট করার জন্য পাথ সিলেকশন ব্যবহার করে। XPath Expression সাধারণত নিম্নলিখিত উপাদানগুলি ব্যবহার করে:
XPath Syntax
- Node Selection: XPath এ একটি নোড নির্বাচন করতে
/সিম্বল ব্যবহার করা হয়।- উদাহরণ:
/bookstore/book— এটি<bookstore>এলিমেন্টের মধ্যে সমস্ত<book>এলিমেন্ট নির্বাচন করবে।
- উদাহরণ:
- Child Node Selection:
/দ্বারা চাইল্ড নোড সিলেক্ট করা হয়।- উদাহরণ:
/bookstore/book/title— এটি<bookstore>এলিমেন্টের মধ্যে<book>এলিমেন্টের<title>চাইল্ড নোড নির্বাচন করবে।
- উদাহরণ:
- Attribute Selection:
@দ্বারা অ্যাট্রিবিউট নির্বাচন করা হয়।- উদাহরণ:
/bookstore/book/@category— এটি<book>এলিমেন্টেরcategoryঅ্যাট্রিবিউট নির্বাচন করবে।
- উদাহরণ:
- Predicates (Condition Filtering):
[]ব্যবহার করে নির্দিষ্ট শর্ত পূরণ করা নোড নির্বাচন করা হয়।- উদাহরণ:
/bookstore/book[price>35]— এটি এমন<book>এলিমেন্ট নির্বাচন করবে যার<price>35 এর বেশি।
- উদাহরণ:
- Wildcard Selection:
*দ্বারা সব নোড নির্বাচন করা যায়।- উদাহরণ:
/bookstore/*— এটি<bookstore>এলিমেন্টের সব চাইল্ড নোড নির্বাচন করবে।
- উদাহরণ:
Common XPath Operators
/(Slash): রুট বা চাইল্ড নোড নির্বাচন।//(Double Slash): পুরো ডকুমেন্টে কোথাও নোড নির্বাচন।@: অ্যাট্রিবিউট সিলেকশন।[](Predicate): শর্ত অনুযায়ী নির্বাচন।*(Asterisk): কোনো নির্দিষ্ট নোড বা এলিমেন্টের পছন্দ নেই, সব নির্বাচন।
Example XPath Expressions:
/bookstore/book: সমস্ত<book>এলিমেন্টকে নির্বাচন করবে<bookstore>এর মধ্যে।/bookstore/book[price>30]: সব<book>এলিমেন্ট যেখানে<price>30 এর বেশি।//book: ডকুমেন্টের যেকোন জায়গা থেকে<book>এলিমেন্ট নির্বাচন করবে।
2. XPath Functions
XPath ফাংশনগুলি XPath এক্সপ্রেশনকে আরও শক্তিশালী ও নমনীয় করে তোলে। XPath ফাংশনগুলি ডেটা প্রক্রিয়াকরণে সহায়ক হয়, যেমন স্ট্রিং, সংখ্যা, তারিখ এবং নোড ডেটার সাথে কাজ করা। XPath ফাংশনগুলি সাধারণত নিচে উল্লেখিত ক্যাটেগরিতে বিভক্ত:
String Functions:
string(): কোনো নোডের টেক্সট মান বের করার জন্য ব্যবহৃত হয়।- উদাহরণ:
string(/bookstore/book/title)— এটি<title>এলিমেন্টের টেক্সট মান বের করবে।
- উদাহরণ:
contains(): একটি স্ট্রিংকে অন্য স্ট্রিংয়ের মধ্যে অনুসন্ধান করে।- উদাহরণ:
contains(/bookstore/book/title, 'Java')— এটি এমন সমস্ত<title>এলিমেন্ট নির্বাচন করবে যেখানে "Java" শব্দটি রয়েছে।
- উদাহরণ:
starts-with(): একটি স্ট্রিং যদি অন্য স্ট্রিং দিয়ে শুরু হয় তা পরীক্ষা করে।- উদাহরণ:
starts-with(/bookstore/book/title, 'Learn')— এটি এমন সমস্ত<title>এলিমেন্ট নির্বাচন করবে যা "Learn" দিয়ে শুরু হয়।
- উদাহরণ:
substring(): স্ট্রিংয়ের একটি অংশ বের করে।- উদাহরণ:
substring(/bookstore/book/title, 1, 4)— এটি<title>এলিমেন্টের প্রথম 4 ক্যারেক্টার বের করবে।
- উদাহরণ:
Numeric Functions:
sum(): একাধিক নম্বরের যোগফল বের করতে ব্যবহৃত হয়।- উদাহরণ:
sum(/bookstore/book/price)— এটি সমস্ত<price>এলিমেন্টের যোগফল বের করবে।
- উদাহরণ:
floor(): কোনো সংখ্যা থেকে তার নিকটবর্তী নিম্নতর পূর্ণসংখ্যা বের করতে ব্যবহৃত হয়।- উদাহরণ:
floor(34.87)— এটি 34 রিটার্ন করবে।
- উদাহরণ:
ceiling(): কোনো সংখ্যা থেকে তার নিকটবর্তী উচ্চতর পূর্ণসংখ্যা বের করতে ব্যবহৃত হয়।- উদাহরণ:
ceiling(34.12)— এটি 35 রিটার্ন করবে।
- উদাহরণ:
Boolean Functions:
boolean(): একটি এক্সপ্রেশন যদি সত্য (true) হয়, তাহলে এটিtrueরিটার্ন করে, অন্যথায়false।- উদাহরণ:
boolean(/bookstore/book/price > 20)— এটিtrueরিটার্ন করবে যদি<price>20 এর বেশি হয়।
- উদাহরণ:
not(): একটি শর্তের বিপরীত ফলাফল রিটার্ন করে।- উদাহরণ:
not(/bookstore/book/price < 10)— এটিtrueরিটার্ন করবে যদি<price>10 এর কম না হয়।
- উদাহরণ:
Node Functions:
count(): নির্বাচিত নোডগুলির সংখ্যা গননা করে।- উদাহরণ:
count(/bookstore/book)— এটি<bookstore>এর মধ্যে মোট<book>এলিমেন্টের সংখ্যা রিটার্ন করবে।
- উদাহরণ:
position(): নির্বাচিত নোডের অবস্থান ফিরিয়ে দেয়।- উদাহরণ:
/bookstore/book[position() = 1]— এটি<bookstore>এর প্রথম<book>এলিমেন্ট নির্বাচন করবে।
- উদাহরণ:
Java তে XPath Expression এবং Functions ব্যবহৃত হয় XML ডকুমেন্ট থেকে নির্দিষ্ট ডেটা বের করার জন্য। XPath expressions ব্যবহার করে সহজেই XML ডকুমেন্টের মধ্যে নেভিগেট করা যায় এবং XPath functions ব্যবহার করে ডেটা প্রক্রিয়াকরণ আরও দক্ষ এবং নমনীয় করা যায়।
Read more