XML چیست و چرا دارای اهمیت فراوان است ؟


●  یک المان دارای خصلت است . خصلت ، شامل اطلاعات تکمیلی بوده که در بخش تگ شروع مربوط به المان  بصورت : نام و مقدار قرار می گیرند  . در مثال فوق
ID و officeid ، بعنوان خصلت مطرح بوده و محتویات آنها PE1 و OF1  ، بعنوان مقادیر خصلت  در نظر گرفته می شوند .
●  یک المان  می تواند تهی  (
Empty)  باشد. در مثال فوق <Working-location> یک المان تهی است . معمولا” المان های تهی ، بعنوان فضا نگهدارنده هائی برای خصلت ها می باشند.
● المان ها می توانند شامل سایر المان ها باشند . ( المان های تودرتو ) . از المان های تودر تو برای ارائه اطلاعات سریال ( مجموعه ای از اشیاء ، سطرهائی از داده و یا سایر اطلاعات مورد نظر ) استفاده  گردد .
● خصلت  می تواند شامل سایر خصلت ها ویا المان ها باشد .
● محتویات المان ها و یا مقادیر خصلت ها ، می توانند بعنوان یک اشاره گر به سایر آیتم های موجود در سند نیز ایفای وظیفه نمایند.بمنظور نیل به هدف فوق
XML روش های متعددی را ارائه  نموده است . مثلا” خصلت office-id با مقدار OF1 ، درون  <working-location >  به خصلت ID المان <office> اشاره می نماید. اشاره گره های فوق مشخص می نمایند که محل کار شخص PE1 در OF1 است .
بلاک های ایجاد یک سند
XMl در عین سادگی ، دارای انعطاف و قدرت لازم  بمنظور حمایت از روش های  متفاوت مدل سازی اطلاعات می باشند : اشیاء ، شبکه ای ، سلسله مراتبی،  رابطه ای و …
خوش شکل  (
Well-Formed )   و معتبر ( Valid )
با استفاده از
XML ، می توان اقدام به ایجاد سندهای رسمی و غیررسمی نمود. در پروژه های کوچک و یا زمانیکه قصد نمونه سازی وجود داشته باشد ، می توان با سرعت اقدام  به ایجاد سندهای  “خوش شکل” نمود . در پروژه های بزرگ و یا پروژه هائی که شامل سیستم های متعددی می باشند، سندهای معتبر ایجاد می گردد.
قوانین یک سند خوش شکل
● وجود صرفا” یک المان ریشه
●  هر المان غیرتهی دارای تگ های شروع و پایان است .
●  تمام المان های می بایست با نظم خاصی تودرتو شده و هیچگونه تقابلی بین آنها وجود نداشته باشد.
یک سند
XML زمانی معتبر است که اولا” خوش شکل بوده و ثانیا”  :
● دارای یک
Schema ( پیش نویس ) و یا DTD)Document Type Definition) باشد.
● سازگار با قوانین موجود در
Schema
پیش نویس ها (
Schemas) باعث اعتبار و صحت یک سند XML می گردند.
واژه
Schema ، به قوانینی اطلاق می گردد که به مجموعه ای از سندهای با ساختار مشابه ، نسبت داده می شود . واژه فوق مختص XML نبوده و در سایر موارد  از واژه فوق نیز استفاده می گردد . در رابطه با XML قوانین موجود به موارد زیر اشاره خواهند داشت :
●  از چه المان ها و خصلت هائی استفاده شده است ؟
● نحوه استقرار المان ها و خصلت ها به چه صورت است ؟
● هر یک از المان ها و یا خصلت ها شامل چه نوع اطلاعاتی می توانند باشند .
XML برای تعریف پیش نویس ها (Schemas) از دو زبان استفاده می نماید : DTD و XML-Schema
DTD ، مکانیزمی برای تعریف پیش نویس ها بوده که در ابتدا بمنظور استفاده در SGML طراحی و در ادامه XML نیز از آن استفاده کرد . محوریت DTD بر سند استوار بوده و دارای امکانات و ویژگی های لازم نظیر : نوع داده ها ، دامنه ها و … نمی باشد. گرامر استفاده شده در DTD  کاملا” اختصاصی بوده و ابزارهای اندکی بمنظور پردازش آنها وجود دارد .
XML-Schema ، یک استاندارد جدید بوده که مختص XML طراحی شده است . گرامر استفاده شده مبتنی بر XML است . تکنولوژی فوق بدرستی محدودیت های DTD را برطرف نموده و اکثر ابزارهای تولید شده توسط عرضه کنندگان معتبر ، مجهز به تکنولوژی فوق می باشند. به افرادیکه جدیدا” به دنیای XML وارد شده اند ، توصیه می گردد که در صورت امکان گرامر DTD را فراموش و خود را با استاندارد XML-Schema وفق نمایند .
چه زمان اعتبار لازم است ؟
سندهای “خوش شکل” ، بسرعت آماده شده و بسادگی استفاده می گردند. تاکنون نرم افزارهای متعددی نوشته شده که در آنها از سندهای ” خوش شکل” ، استفاده شده است . با این اوصاف ،چه زمان می بایست از یک پیش نویس (
Schema) رسمی استفاده کرد ؟ در پاسخ به سوال فوق می توان گفت که ” پیش نویس ها باعث ارائه صلاحیت  لازم بمنظور  پردازش های مبتنی بر داده ها می باشند . بدین ترتیب و در زمانیکه اطلاعات موجود در یک سند XML ، توسط یک پردازنده Schema ، پردازش می گردد، اطلاعاتی حذف و یا نادیده گرفته نخواهند  شد. در این راستا از پیش نویس های نوشته شده بمنظور : بررسی صحت محتویات، مقادیر پیش فرض برای المان ها ، ارائه کمک در زمان ویرایش یک سند XML ، ترجمه از یک فرمت XML به فرمت دیگر ، استفاده می گردد .
در این راستا ، می توان کدهائی را نوشت که تمام عملیات فوق را انجام دهند ولی کدهای نوشته شده محدود به یک نوع  سند خاص خواهند بود  . اطلاعات موجود در پیش نویس این امکان را فراهم می آورند ، که با نوشتن یک پردازنده پیش نویس از آن در سندهای متفاوت بدون نیاز به برنامه نویسی مجدد استفاده کرد . سندهای شامل پیش نویس ، با یک فرمت استاندارد ایجاد و بسادگی امکان اشتراک آنها فراهم می گردد .
Namespace مشکل تصادم  اسامی را برطرف می نمایند
در زمان عملیات بر روی سندها و برنامه های مبتنی بر
XML ، بدفعات نیاز به ترکیب دو سند مجزا و ایجاد سند جدید احساس خواهد شد. با انجام هدف فوق، با چالش های جدی در رابطه با تصادم (Conflict) اسامی برخورد خواهیم کرد : المان هائی که دارای تگ های یکسان ولی معانی متفاوت می باشند .
مثلا” فرض نمائید ، بخواهیم سندی که دارای یک تگ <
title> ( تگ فوق به عنوان شغلی یک فرد اشاره دارد ) است را با سند دیگر که او هم دارای یک تگ <title> ( تگ فوق به عنوان یک فیلم اشاره دارد ) است را بایکدیگر ترکیب نمائیم . زمانیکه تگ های فوق در سند های مجزا بوده  و یا حتی در یک سند یکسان قرار داشته باشند با مشکلاتی مواجه نخواهیم شد ( در این حالت قصد پردازش اتوماتیک بر روی المان های <title> را نداریم ) مشکل از زمانی شروع می گردد ، که کدهائی بمنظور پردازش اتوماتیک بر روی المان های <title> نوشته گردد . در چنین حالتی لازم است از نوع تگ آگاهی لازم را پیدا کرد .
بمنظور حل مشکل فوق از
XML Namespace استفاده می گردد . Namespace ،مکانیزمی است که  بهمراه یک سند تعریف ، تا ارتباط مفهمومی مجموعه ای از عناصر با یکدیگر را مشخص نماید. بدین ترتیب برای هر المان محدوده و یا فضائی تعریف و بر همین اساس با آنها برخورد عملیاتی خواهد شد. برای هر Namespace می توان یک شناسه تعریف و در ادامه با استفاده از شناسه تعریف شده بصورت پیشوند در کنار نام المان تکلیف عملیاتی  المان را مشخص کرد. مثلا” می توان یک NameSpace بصورت زیر تعریف کرد :

دیدگاه‌تان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *