زبان XML یک زبان نشانهگذاری برای ایجاد فرمت و ساختار برای اطلاعات جهت تسهیل تجزیهوتحلیل راحتتر آنها و ایجاد ساختاری کاملاً مشخص و طبقهبندیشده برای اسناد متنی و همچنین تسهیل بهاشتراکگذاری اطلاعات در منابع مختلف دربردارنده داده است.
واژه XML مخفف عبارت extensible markup language به معنی زبان نشانهگذاری گسترشپذیر است. زبان نشانهگذاری مجموعهای از کدها یا برچسبها (تگها) است که متن را در یک سند دیجیتالی شرح میدهد. معروفترین زبان نشانهگذاری زبان نشانهگذاری چندمتنی (hypertext markup language) یا همان زبان HTML است که برای ایجاد فرمت برای صفحات وب استفاده میشود. XML در حقیقت شکل منعطفتری از HTML است که امکان مدیریت کسبوکارهای پیچیده از طریق اینترنت را فراهم میکند.
لازم به ذکر است که در برخی از منابع XML بهاشتباه بهعنوان زبان برنامهنویسی معرفی شده است؛ اما این زبان یک زبان برنامهنویسی نیست و تنها یک زبان نشانهگذاری محسوب میشود که برای شرح دادهها با استفاده از برچسبهایی که دادهها را تفسیر میکنند، استفاده میشود. زبانهای برنامهنویسی دارای دستورالعملهایی برای پیادهسازی الگوریتمها هستند؛ اما زبانهای نشانهگذاری بهمنظور ایجاد فرمت برای دادهها با استفاده از نرمافزارهای در حال اجرای الگوریتمها برای تفسیر دادههای نشانهگذاری شده استفاده میشود.
زبان XML ظاهر یک سند دیجیتالی را برای اپلیکیشن مرورگر مشخص میکند؛ اما در HTML محتوای آن سند را شرح میدهد. بهعبارتدیگر نحوه سازماندهی اطلاعات در یک سند دیجیتالی به XML مربوط میشود، نه نحوه نمایش آن. به بیان سادهتر XML دادههای کدگذاری شده را تعریف میکند و برای ذخیرهسازی اطلاعات دارای ساختار استفاده میشود؛ اما در مقابل HTML فرمت ایجادشده برای نمایش اطلاعات را تعریف میکند و برای ارائه اطلاعات استفاده میشود.
سازماندهی و ایجاد ساختار XML در چند صفحه شیوهنامه مجزا (style sheets) انجام میشود.
برای فهم بهتر تفاوت این دو زبان برچسب Command در زبان HTML را در نظر بگیرید.
هر یک از توسعهدهندگان وبسایت برای استفاده از این برچسب که معمولا برای فرماندادن استفاده میشود، از برچسبهای ثابتی استفاده میکند (امکان افزوده شدن برچسبهای جدید توسط آنها وجود ندارد)؛ اما در مقابل XML به کاربر اجازه میدهد برچسب اختصاصی خودش را ایجاد کند تا با استفاده از آنها از دادهها استفاده کند یا بخشهای مختلف ساختار دادهها را برچسبگذاری کند؛ به بیان سادهتر با استفاده از XML امکان ایجاد برچسب اختصاصی برای موارد مختلف وجود دارد؛ اما در صورت استفاده از HTML چنین امری امکانپذیر نیست.
منعطف بودن XML مزایای زیادی دارد. این ویژگی به شما اجازه میدهد دادهها را بدون ازدستدادن اطلاعات ضروری شرحدهنده آنها، در میان پایگاههای داده (دیتابیسها) ایجادشده برای شرکتهای مختلف مبادله کنید.
در ضمن با بهرهمندی از این ویژگی میتوانید بهجای نمایش یک صفحه با محتوای یکسان به تمام بازدیدکنندگان، محتوای سایت را برای هر یک از بازدیدکنندگان بهصورت خودکار سفارشیسازی کنید. تمام این مزایا باعث میشود کاربران در هنگام جستجوی موضوعات مختلف در موتورهای جستجو، مطالبی که دقیقاً بهدنبال آنها هستند، بهتر پیدا کنند؛ زیرا بدون تردید موتورهای جستجو برچسبها دقیق را راحتتر از قطعات طولانی متن دستهبندی میکنند.
البته HTML یک مزیت نسبت به XML دارد. در صورت استفاده از HTML امکان بهرهمندی از برچسبها و معنیشناسیهای (منظور معانی تعریفشده برای گروهی از نمادها) ازپیشتعیینشده وجود دارد؛ اما در صورت استفاده از XML از این برچسبها و معنیشناسیها محروم هستید.
به دلیل اینکه این زبان نشانهگذاری، کدگذاری دادههای پیچیده در وبسایتها را امکانپذیر میکند، شرکتها با استفاده از آن میتوانند جریانهای اطلاعاتی خود را با یکدیگر ترکیب کنند. با ایجاد مجموعهای از برچسبهای XML برای تمام دادههای شرکت میتوان اطلاعات را بدون هیچگونه محدودیتی در میان صفحات وب، پایگاههای داده شرکتها و سیستمهای بکاند (Back End) به اشتراک گذاشت.
منظور از سیستمهای بکاند سیستمهایی هستند که برای ذخیرهسازی اطلاعات ورودی به وبسایتها استفاده میشوند؛ بهعنوانمثال زمانی که کاربری تقاضای خرید یک کالا را در فروشگاه اینترنتی ثبت میکند، این اطلاعات در سیستم بکاند آن فروشگاه اینترنتی ذخیره میشوند.
زبان
XML توانایی واقعی خود را در سیستمهای پشتیبانی معاملات بین کسبوکارها نشان میدهد. زمانی که شرکتی کالا یا خدماتی را به شرکت دیگری عرضه میکند، حجم گستردهای از اطلاعات باید مبادله شود که شامل اطلاعات مربوط به قیمتها، شرایط، ویژگیها، زمانبندی تحویل و سایر موارد میشود. استفاده از HTML که ماهیت آنها بهگونهای است که میتواند برای موارد مختلف استفاده شوند، میتواند تبادل اطلاعات در چنین فرآیندهایی از طریق اینترنت را بسیار دشوار یا حتی غیرممکن کند.
با بهرهمندی از XML میتوان تمام اطلاعات ضروری را بهصورت الکترونیکی در بین وبسایتهای مختلف به اشتراک گذاشت. چنین قابلیتی باعث میشود انجام معاملات پیچیده بدون دخالت انسان بهراحتی امکانپذیر شود.
به همین دلیل یسیاری از فروشگاههای اینترنتی که پل ارتباطی مستقیم بین خریداران و فروشندگان را ایجاد کردهاند (مثل آمازون، علیبابا و سایر فروشگاههای اینترنتی اینچنینی ارائهدهنده کالا و خدمات)، مدتها است که برای برقراری ارتباط بین خریداران و فروشندگان بهصورت خودکار از کدهای XML استفاده میکنند. بهاحتمال زیاد در آینده نهچندان دور تمام شرکتها برای چنین مواردی از برچسبهای این زبان نشانهگذاری استفاده میکنند.
یکی دیگر از کاربردهای اصلی زبان نشانهگذاری گسترشپذیر ایجاد فرمت ساده مبتنی بر متن برای ارائه اطلاعات دارای ساختار است و در این زمینه میتواند برای موارد زیر به کار گرفته شود:
لازم به ذکر است که این زبان نشانهگذاری میتواند علاوه بر تبادل و بهاشتراکگذاری اطلاعات در معاملات، برای بهاشتراکگذاری اطلاعات بین برنامههای مختلف، بین برنامهها و افراد و بین حافظههای لوکال و شبکهها نیز استفاده شود.
ممکن است یک شرکت بدون استفاده از یک سینتکس (مجموعهای از قوانین که نمادهای ترکیبشده با یکدیگر برای تشریح یک موضوع در یک زبان را تعریف میکنند) استانداردسازیشده، برچسبهای منحصربهفردی را ایجاد کنند که برای تأمینکنندگان و خریداران غیرقابلتشخیص باشند. برای کاهش احتمال ایجاد چنین مشکل، دیکشنری XML برای حوزههای مختلف ازجمله حوزه مالی، ریاضیات، شیمی و تجارت الکترونیکی ایجاد شده است.
این دیکشنریها تعاریف ارائهشده برای برچسبهای XML را استانداردسازی میکنند؛ بهعنوانمثال دو شرکت چی پی مورگان (JP Morga)، شرکت ارائهدهنده خدمات مالی و بانکداری و شرکت پرایسواترهاوسکوپرز (PricewaterhouseCoopers)، شرکت ارائهدهنده خدمات مشاوره مالی و سرمایهگذاری، (که هر دو در والت استریت آمریکا واقع شدهاند)، دیکشنری FpML را ایجاد کردهاند که برچسبهای XML را برای تبادل ارز خارجی و سایر معاملات مالی استانداردسازی میکند. بهاحتمال زیاد در آینده تلاشهای مشابهی نیز برای استفاده از XML به این شکل انجام میشود.
همانطور که گفتیم یکی از کاربردهای شاخص این زبان نشانهگذاری ایجاد سند متنی است. در صورت استفاده از این زبان، میتوان برای دادهها ساختار مشخص کرد و برچسبهایی را ایجاد کرد تا دادهها با استفاده از آنها تفسیر شوند. به همین دلیل سندهای متنی ایجادشده با این زبان میتوانند بهراحتی توسط نرمافزارهای دیگر تجزیهوتحلیل شوند.
اجازه دهید برای فهم بهتر این موضوع مثالی را بیان کنیم. شما میتوانید با استفاده از HTML فهرستهای متفاوتی ازجمله فهرستهای عددی را ایجاد کنید؛ اما نمیتوانید در محتوایی که در قالب بیان تکتک مراحل لازم برای انجام یک فرآیند ایجاد شده است، برای هر یک از مراحل یک برچسب اختصاصی ایجاد کنید؛ اما با استفاده از XML ایجاد یک فهرست دربردارنده مراحل لازم برای انجام یک کار همراه با برچسب اختصاصی برای هر مرحله بهراحتی امکانپذیر است.بهعنوانمثال شما میتوانید مشخص کنید که کدام یک از مراحل کاملاً لازم هستند، کدام یک از آنها اختیاری هستند و کدام یک از آنها را میتوان با مراحل قابلانجام با روشهای دیگر جایگزین کرد..
در ضمن درصورتیکه میخواهید متنی با چند تیتر ایجاد کنید، میتوانید با استفاده از این زبان نشانهگذاری مشخص کنید که کدام یک از تیترها، تیتر اصلی باشد و سپس تیترهای فرعی یا بهاصطلاح میانتیترها را مشخص کنید. همچنین درصورتیکه میخواهید خروجی سندتان یک مقاله یا کتاب چاپی باشد، میتوانید سربرگها و پاورقیها و همچنین عناوین فصلها را مشخص کنید.
زبان XML توانایی واقعی خود را در سیستمهای پشتیبانی معاملات بین کسبوکارها نشان میدهد. زمانی که شرکتی کالا یا خدماتی را به شرکت دیگری عرضه میکند، حجم گستردهای از اطلاعات باید مبادله شود که شامل اطلاعات مربوط به قیمتها، شرایط، ویژگیها، زمانبندی تحویل و سایر موارد میشود. استفاده از HTML که ماهیت آنها بهگونهای است که میتواند برای موارد مختلف استفاده شوند، میتواند تبادل اطلاعات در چنین فرآیندهایی از طریق اینترنت را بسیار دشوار یا حتی غیرممکن کند.
با بهرهمندی از XML میتوان تمام اطلاعات ضروری را بهصورت الکترونیکی در بین وبسایتهای مختلف به اشتراک گذاشت. چنین قابلیتی باعث میشود انجام معاملات پیچیده بدون دخالت انسان بهراحتی امکانپذیر شود.
به همین دلیل یسیاری از فروشگاههای اینترنتی که پل ارتباطی مستقیم بین خریداران و فروشندگان را ایجاد کردهاند (مثل آمازون، علیبابا و سایر فروشگاههای اینترنتی اینچنینی ارائهدهنده کالا و خدمات)، مدتها است که برای برقراری ارتباط بین خریداران و فروشندگان بهصورت خودکار از کدهای XML استفاده میکنند. بهاحتمال زیاد در آینده نهچندان دور تمام شرکتها برای چنین مواردی از برچسبهای این زبان نشانهگذاری استفاده میکنند.
یکی دیگر از کاربردهای اصلی زبان نشانهگذاری گسترشپذیر ایجاد فرمت ساده مبتنی بر متن برای ارائه اطلاعات دارای ساختار است و در این زمینه میتواند برای موارد زیر به کار گرفته شود:
لازم به ذکر است که این زبان نشانهگذاری میتواند علاوه بر تبادل و بهاشتراکگذاری اطلاعات در معاملات، برای بهاشتراکگذاری اطلاعات بین برنامههای مختلف، بین برنامهها و افراد و بین حافظههای لوکال و شبکهها نیز استفاده شود.
ممکن است یک شرکت بدون استفاده از یک سینتکس (مجموعهای از قوانین که نمادهای ترکیبشده با یکدیگر برای تشریح یک موضوع در یک زبان را تعریف میکنند) استانداردسازیشده، برچسبهای منحصربهفردی را ایجاد کنند که برای تأمینکنندگان و خریداران غیرقابلتشخیص باشند. برای کاهش احتمال ایجاد چنین مشکل، دیکشنری XML برای حوزههای مختلف ازجمله حوزه مالی، ریاضیات، شیمی و تجارت الکترونیکی ایجاد شده است.
این دیکشنریها تعاریف ارائهشده برای برچسبهای XML را استانداردسازی میکنند؛ بهعنوانمثال دو شرکت چی پی مورگان (JP Morga)، شرکت ارائهدهنده خدمات مالی و بانکداری و شرکت پرایسواترهاوسکوپرز (PricewaterhouseCoopers)، شرکت ارائهدهنده خدمات مشاوره مالی و سرمایهگذاری، (که هر دو در والت استریت آمریکا واقع شدهاند)، دیکشنری FpML را ایجاد کردهاند که برچسبهای XML را برای تبادل ارز خارجی و سایر معاملات مالی استانداردسازی میکند. بهاحتمال زیاد در آینده تلاشهای مشابهی نیز برای استفاده از XML به این شکل انجام میشود.
همانطور که گفتیم یکی از کاربردهای شاخص این زبان نشانهگذاری ایجاد سند متنی است. در صورت استفاده از این زبان، میتوان برای دادهها ساختار مشخص کرد و برچسبهایی را ایجاد کرد تا دادهها با استفاده از آنها تفسیر شوند. به همین دلیل سندهای متنی ایجادشده با این زبان میتوانند بهراحتی توسط نرمافزارهای دیگر تجزیهوتحلیل شوند.
اجازه دهید برای فهم بهتر این موضوع مثالی را بیان کنیم. شما میتوانید با استفاده از HTML فهرستهای متفاوتی ازجمله فهرستهای عددی را ایجاد کنید؛ اما نمیتوانید در محتوایی که در قالب بیان تکتک مراحل لازم برای انجام یک فرآیند ایجاد شده است، برای هر یک از مراحل یک برچسب اختصاصی ایجاد کنید؛ اما با استفاده از XML ایجاد یک فهرست دربردارنده مراحل لازم برای انجام یک کار همراه با برچسب اختصاصی برای هر مرحله بهراحتی امکانپذیر است.بهعنوانمثال شما میتوانید مشخص کنید که کدام یک از مراحل کاملاً لازم هستند، کدام یک از آنها اختیاری هستند و کدام یک از آنها را میتوان با مراحل قابلانجام با روشهای دیگر جایگزین کرد..
در ضمن درصورتیکه میخواهید متنی با چند تیتر ایجاد کنید، میتوانید با استفاده از این زبان نشانهگذاری مشخص کنید که کدام یک از تیترها، تیتر اصلی باشد و سپس تیترهای فرعی یا بهاصطلاح میانتیترها را مشخص کنید. همچنین درصورتیکه میخواهید خروجی سندتان یک مقاله یا کتاب چاپی باشد، میتوانید سربرگها و پاورقیها و همچنین عناوین فصلها را مشخص کنید.
خروجی این زبان نشانهگذاری در قالب فایلهای متنی ساده ایجاد میشود و با هر نرمافزار ویرایشگر متن میتوانید این فایلها را باز کنید؛ البته یک سری نرمافزار تخصصی برای سادهتر کردن نوشتن یا ویرایش آنها وجود دارد که نسبت به نرمافزارهای ویرایش متن متداول قابلیتهای بیشتری دارند که شامل موارد زیر میشود:
از میان بهترین ویرایشگرهای XML میتوان به موارد زیر اشاره کرد:
لازم به ذکر فایلهای این زبان برنامهنویسی ساختاری بسیار شبیه نسبت به ساختار کدهای برنامهنویسی دارند و در آنها هدرهای فایل محتوای آنها و همچنین عناصر پنهانشده را مشخص کردهاند.
زبان XML یک زبان نشانهگذاری است که کاربردهای زیادی در جابهجایی دادهها دارد.