معرفی XML
XML چیست، چه تفاوتی با HTML دارد و چرا زبان توصیف دادههای وب محسوب میشود؟
XML چیست؟
XML مخفف eXtensible Markup Language (زبان نشانهگذاری قابلگسترش) است؛ زبانی برای توصیف، ذخیره و انتقال دادهها. XML در سال ۱۹۹۸ توسط کنسرسیوم W3C (World Wide Web Consortium) استانداردسازی شد و امروزه یکی از پرکاربردترین قالبهای تبادل داده در دنیای فناوری است.
کلمه کلیدی در تعریف XML، «قابلگسترش» (eXtensible) است. این یعنی برخلاف HTML که مجموعهای از تگهای از پیش تعریفشده دارد (مثل <p>، <div>، <table>)، در XML خودتان تگهایتان را تعریف میکنید. هیچ تگ از پیش تعریفشدهای وجود ندارد؛ شما تگها را بر اساس نیاز دادههایتان میسازید.
یک مثال ساده از XML
<?xml version="1.0" encoding="UTF-8"?>
<پیام>
<به>علی</به>
<از>سارا</از>
<متن>سلام! حالت چطوره؟</متن>
</پیام>
همانطور که میبینید، تگهای <پیام>، <به> و <متن> همه توسط ما تعریف شدهاند. XML به ما میگوید چگونه داده را ساختاردهی کنیم، نه اینکه از چه تگهایی استفاده کنیم.
تفاوت XML و HTML
بسیاری از تازهکارها فکر میکنند XML و HTML جایگزین هم هستند؛ اما این دو زبان اهداف کاملاً متفاوتی دارند:
| ویژگی | XML | HTML |
|---|---|---|
| هدف | حمل و توصیف داده | نمایش داده در مرورگر |
| تگها | قابل تعریف توسط کاربر | از پیش تعریفشده |
| بستهشدن تگ | اجباری | در برخی موارد اختیاری |
| حساسیت به حروف | دارد (Case Sensitive) | ندارد |
| خطاها | مرورگر از نمایش سند خطادار خودداری میکند | مرورگر خطاها را نادیده میگیرد |
| فضای سفید | حفظ میشود | فشرده میشود |
XML چه کاربردهایی دارد؟
- 📦 تبادل داده: انتقال داده بین سیستمهای ناسازگار (مثلاً بین PHP و جاوا)
- 📰 فیدهای RSS: انتشار و اشتراک محتوای سایتها و وبلاگها
- 🎨 گرافیک SVG: طراحی گرافیک برداری با فرمت مبتنی بر XML
- ⚙️ فایلهای پیکربندی: فایلهای کانفیگ در بسیاری از فریمورکها و ابزارها
- 🔌 وبسرویسها: پروتکلهای SOAP و WSDL مبتنی بر XML هستند
- 📄 اسناد آفیس: فرمتهای docx، xlsx و pptx در واقع ZIP حاوی فایلهای XML هستند
- 🗺️ نقشهها: فرمت KML در Google Earth مبتنی بر XML است
چرا XML مهم است؟
دلایل محبوبیت XML:
- متنباز و مستقل از پلتفرم: XML متن ساده است و روی هر سیستمی خوانده میشود
- خودتوصیفگر: ساختار داده با تگهای معنادار توضیح داده میشود
- استاندارد W3C: پشتیبانی رسمی و گسترده در تمام زبانها و ابزارها
- سلسلهمراتبی: مناسب مدلسازی دادههای تودرتو و پیچیده
- اعتبارسنجیپذیر: با DTD و XML Schema میتوان صحت ساختار را بررسی کرد
این مبحث بخشی از دوره آموزش کامل XML است.