এক্সএমএল - XML : ৪ [XML Writting] - SMH Amiri

সর্বশেষ লিখাসমূহ

এক্সএমএল - XML : ৪ [XML Writting]


এক্সএমএল ডকুমেন্টের শুরুতে একটা ডিক্লেয়ারেশন দিতে হয়। নিচের মত

1.<?xml version="1.0" encoding="UTF-8"?>

এই ডিক্লেয়ারেশন লাইন ডকুমেন্টের সবার উপরে রাখতে হবে এবং এখানে কোন ভার্সন ব্যবহার করা হচ্ছে এসব তথ্য রাখা হয়। যেমন আমরা ১.০ ভার্সন দিয়েছি। এছাড়া encoding এ কোড এনকোডিং পদ্ধতি ব্যবহার হবে সেটা দিতে পারেন যেমন আমরা ইউনিকোড দিয়েছি। যাইহোক এরপর এক্সএমএল কোড লেখা শুরু করতে হবে।

 

মুল এলিমেন্ট (root element)

যেকোন এক্সএমএল ডকুমেন্টে তৈরীর জন্য আগে একটা মুল/রুট এলিমেন্টে তৈরী করে নিতে হয়। এই এলিমেন্টের ভিতর বাকি সব এলিমেন্টগুলি থাকবে। এই রুট এলিমেন্টকে অন্য সব এলিমেন্টের প্যারেন্ট (parent) এলিমেন্ট বলা হয়। এই রুট এলিমেন্টের ভিতর যেকোন সংখ্যক চাইল্ড, সাবচাইল্ড এলিমেন্ট গুলি থাকবে।

1.<?xml version="1.0" encoding="UTF-8"?>
2.<books>
3.<!-- any child elements goes here --->
4.</books>

books হচ্ছে এখানে রুট এলিমেন্ট।

 

কিভাবে এলিমেন্ট লিখতে হবে

এলিমেন্ট এর নাম ইচ্ছেমত দিতে পারেন তবে কিছু নিয়ম অনুসরন করতে হবে তানাহলে শুদ্ধ হবেনা। যেমন

- এলিমেন্ট এর নাম সংখ্যা দিয়ে শুরু হতে পারবেনা।

- যদি একাধিক শব্দ দিয়ে এলিমেন্ট বানাতে চান তাহলে মাঝে ফাকা স্পেস দেয়া যাবেনা, ক্যামেল কেস (camel case) তথা প্রথম অক্ষর বড় হাতের দিতে পারেন। যেমন <BooksName></BooksName> বা <booksName></booksName> এভাবে হতে পারে।

- start বা শুরুর ট্যাগ এর সাথে end বা শেষের ট্যাগ এর মিল থাকতে হবে। যেমন start ট্যাগে যদি সব ছোট হাতের অক্ষর হয় তাহলে end ট্যাগেও সব ছোট হাতে দিতে হবে অর্থ্যাৎ case sensitive

 

প্যারেন্ট, চাইল্ড, সাবচাইল্ড নিয়ে একটি উদাহরন

01.<?xml version="1.0" encoding="UTF-8"?>
02.<books>
03.<book>
04.<bookName>Professional PHP6</bookName>
05.<authorNames>
06.<author1>Ed Lecky-thomson</author1>
07.<author2>Steven D.Nowicky</author2>
08.<author3>Thomas Myer</author3>
09.</authorNames>
10.<publication>Wrox publication</publication>
11.</book>
12. 
13.<book>
14.<bookName>PHP Objects, Patterns and Practice</bookName>
15.<authorNames>
16.<author1>Matt Zandtra</author1>
17.</authorNames>
18.<publication>Apress publication</publication>
19.</book>
20.</books>

এখানে প্রথম লাইন হচ্ছে ডিক্লেয়ারেশন। এরপর books হচ্ছে রুট এলিমেন্ট। তারপর bookName, authorNames এগুলি হচ্ছে চাইল্ড এলিমেন্ট এবং author1 , author2 এগুলি হচ্ছে সাবচাইল্ড এলিমেন্ট।

 

এট্রিবিউট

এক্সএমএল এলিমেন্টের ভিতর সেই এলিমেন্টের ডেটাকে আরও বোধগম্য করতে এট্রিবিউট ব্যবহার করতে পারেন। প্রত্যেকটি এট্রিবিউটের আগে নাম থাকবে এরপর সমান সমান (=) চিহ্ন দিয়ে এট্রিবিউটের মান দিতে হবে। অবশ্যই এই মান সিঙ্গেল অথবা ডাবল কোটেশনের ভিতর রাখতে হবে। একটা এলিমেন্টে একাধিক এট্রিবিউট ব্যবহার করতে পারেন তবে কখনও একই নামের দুটি এট্রিবিউট ব্যবহার করতে পারবেন না।

01.<?xml version="1.0" encoding="UTF-8"?>
02.<config>
03.<fields name="params">
04.<fieldset name="basic">
05.<field name="mode" type="list" default="1">
06.<option value="0">option1</option>
07.<option value="1">option2</option>
08.</field>
09.</fieldset>
10.</fields>
11.</config>

দেখুন fields, fieldset ইত্যাদি এলিমেন্টগুলিতে name, type, default এসব এট্রিবিউট ব্যবহার করেছি এবং প্রতিটির মান য়ো আছে। জুমলাতে এভাবে এক্সটেনশনের অপশন কনফিগার করতে এক্সএমএল ব্যবহার করা হয়।