Namespace Declaration এবং উদাহরণ

XML Namespace - জাভা এক্সএমএল (Java XML) - Java Technologies

308

XML নেমস্পেস (Namespace) হলো একটি উপায় যা XML ডকুমেন্টের মধ্যে একাধিক এলিমেন্ট এবং অ্যাট্রিবিউটের নামগুলিকে ইউনিক (অদ্বিতীয়) করতে সাহায্য করে, যাতে একই নামের বিভিন্ন এলিমেন্ট বা অ্যাট্রিবিউট আলাদা করা যায়। নেমস্পেসের মাধ্যমে বিভিন্ন XML ডকুমেন্টের মধ্যে একই নাম ব্যবহার করেও তাদের পার্থক্য করা যায়।

নেমস্পেসের ঘোষণা XML ডকুমেন্টের উপরে বা কোনও উপাদানের মধ্যে করা যায়। এটি সাধারণত একটি URI (Uniform Resource Identifier) দিয়ে নির্ধারিত হয়।

Namespace Declaration-এর প্রয়োজনীয়তা:

  1. নেম ক্ল্যাশ এড়ানো: একাধিক XML স্কিমা বা ডকুমেন্টের মধ্যে একই নামের এলিমেন্ট বা অ্যাট্রিবিউট ব্যবহার করা যেতে পারে, নেমস্পেস তাদের মধ্যে পার্থক্য তৈরি করে।
  2. XML ডেটার বৈধতা: নেমস্পেস ব্যবহারের মাধ্যমে XML ডকুমেন্টের মধ্যে কোনও দ্বন্দ্ব বা বিরোধ সৃষ্টি হয় না এবং ডকুমেন্টটি আরও সুসংগঠিত ও বৈধ থাকে।
  3. একাধিক স্কিমা ব্যবহারের সুবিধা: একাধিক স্কিমা একসাথে ব্যবহার করতে গেলে নেমস্পেস নিশ্চিত করে যে সেগুলি পরস্পরের সাথে কোনও দ্বন্দ্ব সৃষ্টি করবে না।

Namespace Declaration Syntax:

নেমস্পেস ডিক্লেয়ার করতে xmlns অ্যাট্রিবিউট ব্যবহার করা হয়। এটি উপাদানটির মধ্যে বা ডকুমেন্টের মূল স্তরে স্থাপন করা যেতে পারে।

  1. Root Element Level: পুরো XML ডকুমেন্টের জন্য নেমস্পেস ঘোষণা করা।
  2. Element Level: নির্দিষ্ট উপাদানটির জন্য নেমস্পেস ঘোষণা করা।

উদাহরণ:

1. Root Element Level Example:

নিচে একটি XML ডকুমেন্টের উদাহরণ দেওয়া হলো, যেখানে রুট এলিমেন্টে নেমস্পেস ঘোষণা করা হয়েছে:

<bookstore xmlns="http://www.example.com/bookstore">
    <book>
        <title>Java Programming</title>
        <author>John Doe</author>
        <price>29.99</price>
    </book>
    <book>
        <title>Python Programming</title>
        <author>Jane Doe</author>
        <price>19.99</price>
    </book>
</bookstore>

এখানে xmlns="http://www.example.com/bookstore" দ্বারা bookstore এলিমেন্ট এবং তার মধ্যে থাকা সব উপাদানগুলির জন্য একটি নেমস্পেস নির্ধারিত হয়েছে।

2. Element Level Example:

এখানে বিভিন্ন উপাদানের জন্য আলাদা নেমস্পেস ঘোষণা করা হয়েছে:

<bookstore xmlns:fiction="http://www.example.com/fiction" xmlns:nonfiction="http://www.example.com/nonfiction">
    <fiction:book>
        <fiction:title>Java Programming</fiction:title>
        <fiction:author>John Doe</fiction:author>
        <fiction:price>29.99</fiction:price>
    </fiction:book>
    <nonfiction:book>
        <nonfiction:title>Python Programming</nonfiction:title>
        <nonfiction:author>Jane Doe</nonfiction:author>
        <nonfiction:price>19.99</nonfiction:price>
    </nonfiction:book>
</bookstore>

এখানে, fiction এবং nonfiction নামের দুটি আলাদা নেমস্পেস ব্যবহার করা হয়েছে, যেখানে fiction নেমস্পেস http://www.example.com/fiction এবং nonfiction নেমস্পেস http://www.example.com/nonfiction এর মাধ্যমে নির্দেশ করা হয়েছে। এইভাবে, একই নামের book, title, author, এবং price উপাদানগুলিকে আলাদা করা হয়েছে।

নেমস্পেসের ফিচারসমূহ:

  • এলিয়াস ব্যবহার: নেমস্পেসের জন্য একটি এলিয়াস (যেমন fiction, nonfiction) ব্যবহার করা যেতে পারে, যা ঐ নেমস্পেসের ভেতরের উপাদানগুলোকে চিহ্নিত করতে সাহায্য করে।
  • নেমস্পেসের ব্যবহার সুনির্দিষ্ট: নেমস্পেস ব্যবহার করে শুধু নির্দিষ্ট উপাদান বা অ্যাট্রিবিউটগুলিকে প্রভাবিত করা যায়, পুরো ডকুমেন্টকে প্রভাবিত না করে।
  • XML Schema Validation: নেমস্পেসের সাহায্যে XML স্কিমা (XSD) validation করতে সাহায্য করা হয়, যাতে XML ডকুমেন্টের কাঠামো সঠিক থাকে।

Java তে Namespace Handling:

Java-তে XML পার্সিং করার সময়, সাধারণত JAXP (Java API for XML Processing) ব্যবহার করা হয়। JAXP এর মাধ্যমে XML ডকুমেন্ট থেকে নেমস্পেস ডিক্লেয়ারেশন এবং উপাদান নির্বাচন করা যায়।

নেমস্পেস ব্যবহারের মাধ্যমে XML ডকুমেন্টের স্ট্রাকচার আরও সুষ্ঠু, পরিষ্কার এবং সুসংগঠিত হয়, যা অনেক বড় এবং জটিল ডেটা সেটের ক্ষেত্রে খুবই কার্যকর।

Content added By
Promotion

Are you sure to start over?

Loading...