XML چیست ؟
XML یا eXtensible Markup Language یک زبان نشانهگذاری برای ذخیرهسازی دادهها با فرمتهای مختلف است که به دلیل قابلیت خوانایی زیاد توسط انسان و همچنین استفادهی گسترده به صورت سنتی، اکنون به عنوان یکی از استانداردهای ذخیرهسازی اطلاعات شناخته میشود.
در وارد کردن تگهای داخل XML دست برنامهنویس باز است ولی ساختار یک فایل XML ساده و استاندارد به صورت زیر است:
1 2 3 4 5 |
<?xml version="1.0" encoding="UTF-8"?> <website> <name>ROKA</name> <url>https://rokaweb.ir</url> </website> |
خط نخست از کدهای بالا برای تعریف ساختار XML ضروری است و خطوط بعدی، وابسته به نیازهای ذخیرهکنندهی اطلاعات قابل تغییر هستند.
کاربردهای XML
ایکس ام ال یا XML برای کاربردهای متعددی قابل استفاده است. پشتیبانی گسترده توسط زبانهای برنامهنویسی سبب شده است تا این شیوهی نشانهگذاری، به عنوان یک روش آسان برای انتقال اطلاعات به کار گرفته شود. برخی از مهمترین کاربردهای XML شامل موارد زیر هستند:
- نگهداری تنظیمات برنامهها
- نگهداری نسخههای پشتیبان از اطلاعات شخصی یا داخلی برنامهها
- انتقال اطلاعات بین برنامهها و محیطهای مختلف
- استفاده به عنوان حامل برخی فرمتهای استاندارد دیگر مثل RSS، SVG و بسیاری از فایلهای دیگر مثل مجموعه آفیس
چرا از XML استفاده میکنیم ؟
در هنگام استفاده از زبانهای نشانهگذاری اطلاعات، دو موضوع مهم وجود دارد که XML هر دو ویژگی لازم را دارا میباشد:
- پشتیبانی از محتوا در زبانهای برنامهنویسی دیگر
- خوانایی محتوا توسط انسان
لازم به ذکر است که با توجه به گستردگی استفاده از XML، صدها ابزار آنلاین و نرمافزار قابل نصب برای ایجاد و ویرایش فایلهای XML توسعه پیدا کردهاند و در نتیجه ایجاد و ویرایش این فایلها بسیار آسان و در دسترس است.
در کنار XML چه گزینههای دیگری وجود دارد ؟
XML شاید به عنوان محبوبترین زبان نشانهگذاری متداول باشد، ولی رقبای پرکاربرد دیگری هم برای آن وجود دارند که عبارتند از:
- JSON
- YAML
- AXON
علاوه بر زبانهای نشانهگذاری ممکن است در برخی موارد، استفاده از پایگاه دادههای پیشرفتهتر مثل SQLite هم یک گزینهی قابل استفاده به حساب بیاید.
ساختار فایلهای XML
هر فایل XML شامل یک Root Element یا عنصر ریشهای است. سایر اطلاعات و اعضای ذخیره شده در فایل XML باید زیرمجموعهی این عنصر باشند. نام این عنصر اختیاری است و توسط برنامهنویس تعیین میشود.
برای مثال در XHTML، عنصر ریشه <html> است که سایر اعضای فایل درون آن قرار میگیرند. در ادامه به یک نمونه XML توجه کنید:
1 2 3 4 5 6 7 8 9 |
<?xml version="1.0" encoding="UTF-8"?> <books> <book> <name>Book 1</name> </book> <book> <name>Book 2</name> </book> </books> |
در مثال بالا، عنصر <books> عنصر ریشهای یا Root Element به حساب میآید.
همان طور که مشاهده میکنید، محدودیتی در نام یا تعداد یا ساختار XML وجود ندارد و این نرمافزار ایجادکننده و نرمافزار بازیابیکننده هستند که باید این ساختار را بشناسند.
حساسیت XML به قوانین
فایلهای XML به رعایت قوانین حساسیت زیادی دارند و لازم است تا هر تگ باز شده عینا و دقیقا در محل مناسب بسته شود. این محدودیتها بر خلاف آنچه در HTML متداول است، ممکن است گاهی سختگیرانه به نظر برسند ولی در عوض تضمین میکنند که اطلاعات به طور دقیق و غیرقابل تفسیر، از مبدا به مقصد منتقل شوند.
آیا XML بهترین گزینه است ؟
بسته به اینکه هدف شما از کاربرد زبان نشانهگذاری چه باشد، ممکن است پاسخ بله یا نه باشد. هنگام انتخاب یک زبان نشانهگذاری معمولا به موارد زیر توجه میشود:
- محلی که قرار است اطلاعات استفاده شود
- حجم اطلاعات و مقدار حجمی که زبان نشانهگذاری به آن اضافه میکند
- نیاز به تغییر اطلاعات توسط انسان
- نیاز به کاربرد یا جستجوی مستقیم در پایگاه داده مثل JSON در MySQL