คุณสมบัติ XML

XML এলিমেন্ট HTML-এর মতো স্টার্ট ট্যাগে অ্যাট্রিবিউট ধারণ করতে পারে。

অ্যাট্রিবিউট (Attribute) এলিমেন্টকে অতিরিক্ত (অতিরিক্ত) তথ্য প্রদান করে。

XML অ্যাট্রিবিউটকে চিহ্ন দিতে হবে

অ্যাট্রিবিউট মানটি চিহ্নের আক্রমণে থাকতে হবে, কিন্তু একটি চিহ্ন এবং দুইটি চিহ্ন উভয়ই ব্যবহার করা যায়。

যেমন একজন ব্যক্তির লিঙ্গ, <person> ট্যাগটি এইভাবে লেখা যায়:

<person gender="female">

বা এভাবেও করা যায়:

<person gender='female'>

যদি অ্যাট্রিবিউট মানটি নিজেই দুইটি চিহ্ন ধারণ করে, তবে একটি চিহ্ন ব্যবহার করতে পারেন, যেমন নিচের উদাহরণে দেখা যাচ্ছে:

<gangster name='George "Shotgun" Ziegler'>

বা আপনি চারটি চিহ্ন ব্যবহার করতে পারেন:

<gangster name="George "Shotgun" Ziegler">

XML এলিমেন্ট এবং অ্যাট্রিবিউট

এই দুই উদাহরণ দেখুন:

<person gender="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>
<person>
  <gender>female</gender>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

প্রথম উদাহরণে, sex একটি এট্রিবিউট। দ্বিতীয় উদাহরণে, sex একটি ইলেকট্রনমান্ড। দুই উদাহরণই একই তথ্য প্রদান করতে পারে。

XML-এ, আইডিটি কখনও ব্যবহার করা উচিত এবং কখনও না ব্যবহার করা উচিত এবং আইডিটি কেন ব্যবহার করা উচিত না এবং যদি তথ্য ইলেকট্রনমান্ডের মতো লাগে, তবে ইলেকট্রনমান্ডকে ব্যবহার করুন।

আমার পছন্দ করা উপায়

নিচের তিনটি XML ডকুমেন্টগুলি একই তথ্য ধারণ করে:

প্রথম উদাহরণে, date এট্রিবিউটকে ব্যবহার করা হয়:

<note date="2008-01-10">
  <to>George</to>
  <from>John</from>
</note>

দ্বিতীয় উদাহরণে, <date> ইলেকট্রনমান্ডকে ব্যবহার করা হয়:

<note>
  <date>2008-01-10</date>
  <to>George</to>
  <from>John</from>
</note>

তৃতীয় উদাহরণে, date ইলেকট্রনমান্ডকে ব্যবহার করা হয় (এটি আমার পছন্দ):

<note>
  <date>
    <year>2008</year>
    <month>01</month>
    <day>10</day>
  </date>
  <to>George</to>
  <from>John</from>
</note>

এট্রিবিউট ব্যবহার করা না কেন?

এট্রিবিউট ব্যবহার করার সময় যেসব বিষয়কে বিচার করা উচিত হয়:

  • এট্রিবিউট একাধিক মান ধারণ করতে পারে না (ইলেকট্রনমান্ড পারে)
  • এট্রিবিউট ট্রী স্ট্রাকচারকে বর্ণনা করতে পারে না (ইলেকট্রনমান্ড পারে)
  • এট্রিবিউট সহজেই সম্প্রসারণ করা যায় না (ভবিষ্যতের পরিবর্তনের জন্য)

যতটা সম্ভব, ইলেকট্রনমান্ডকে বর্ণনা করতে ব্যবহার করুন। যদিও আপনি আইডিটি যা তথ্য সংক্রান্ত নয় প্রদান করতে চান。

এই ধরনের মূর্খতা করুন না (এটি XML-এর ব্যবহার করা উচিত নয়):

<note day="10" month="01" year="2008"
to="George" from="John" heading="Reminder"
body="Don't forget the meeting!">
</note>

মেটাডাটার XML এট্রিবিউট

কখনও কখনও ইলেকট্রনমান্ডের জন্য আইডি রেফারেন্স দেওয়া হয়। এই আইডি ইনডেক্সগুলি একসময় XML ইলেকট্রনমান্ডকে পরিচিত করতে ব্যবহৃত হয়, এটি একইভাবে এইমেল এক্সপ্রেসসিভ এবং ID এট্রিবিউটের মতো কাজ করে। এই উদাহরণটি এই ধরনের কিছু প্রদর্শন করে:

<messages>
  <note id="501">
    <to>George</to>
    <from>John</from>
    <heading>Reminder</heading>
    <body>Don't forget the meeting!</body>
  </note>
  <note id="502">
    <to>John</to>
    <from>George</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note> 
</messages>

উপরোক্ত ID শুধুমাত্র একটি পরিচয়করণ হচ্ছে, যা ভিন্ন ট্যাগগুলির পরিচয় করতে ব্যবহৃত হয়।এটি ট্যাগ ডাটার অংশ নয়。

এখানে আমরা আপনাকে সমস্ত সত্যতা সম্পর্কে তুলে ধরতে চাই: মেটাডাটা (ডাটার সম্পর্কে ডাটা) প্রতিষ্ঠান হিসাবে সংরক্ষিত হতে হবে, এবং ডাটা নিজেই ইউনিট হিসাবে সংরক্ষিত হতে হবে。