ارائه دهنده: آرین خسروی استاد: سرکار خانم نقدیانی | مبانی سامانه های چند رسانه ای
زبان نشانهگذاری گسترشپذیر (به انگلیسی: Extensible Markup Language) با کوتهنوشت XML نوعی زبان نشانهگذاری است که شامل مجموعه قواعدی است که به کمک آن میتوان یک سند رایانهای را کدبندی کرد. قالب کدبندی ایجاد شده توسط زبان XML هم برای انسان و هم برای ماشین(رایانه)ها قابل خواندن است. ائتلاف وب جهانگستر مشخصات XML ورژن 1.0 را در سال ۱۹۹۸ ارائه داد، که این استاندارد، XML را به دقت تعریف کردهاست.
اکسامال ویرایشی از اسجیامال است که میکوشد پلی بین سادگی اچتیامال و قدرت اسجیامال ایجاد کند. در واقع اکسامال زیر مجموعهای از اسجیامال است که صرفاً برای استفاده با وب طراحی شدهاست. پس از ایجاد اکسامال توسّط ائتلاف وب جهانگستر (W3C) در سال ۱۹۹۶ میلادی، دستاندرکاران بسیاری از پروژههای محاسبات توزیعشده به استفادهٔ گسترده از آن روی آوردند.
در حال حاضر، گوناگونی، میزان، و ابعاد فراوان بهکارگیری اکسامال در اغلب زمینهها و ساختارهای اینترنت امروزی به راستی شگفتآور است. فقط به عنوان نمونه، باید یادآور شد که تقریباً تمامی فناوریهای خدمات وب،گرافیک برداری اندازه پذیر، آردیاف و بسیاری از موارد دیگر، تنها با اکسامال انجامپذیر است.
چرایی و چگونگی این امر برای فهم آسانتر و درک همهجانبهتر اینترنت در حال حاضر، و به ویژه، جهت آشنایی با تدابیری که بشر برای هموار نمودن راههای گسترش آن در آینده اتّخاذ خواهد کرد، از اهمّیّت بالایی برخوردار است.
انگیزهها و بنمایهها
بسیاری از پرسشهای عمده پیرامون پدیدههای نوین جهانی، و به ویژه موهبت عالمگیر اینترنت را سادهتر و منطقیتر است که با مطالعه و شناخت هر چه واقعیتر و همهجانبهتر تاریخ و فلسفه علوم، مخصوصاً، از ابتدای دوران تولد دوباره تا به امروز پاسخ داد.
اصلیترین و ذاتیترین وظیفهٔ زبان اکسامال بیان، نمایش، و تحت سیطره در آوردن دادهها ست. وقتی از دادهها اسم میبریم، در واقع، اطلاعات و دانش هم گفتهایم.
تبیین نقش و اهمیت اکسامال در خلق و نمایش انعطافپذیر، قابل گسترش، و اندازه یاب دانش را بهتر است با اشارهای گذرا بر نقش عنصر خط در هنر نقاشی آغاز کنیم. در نقاشی، استفاده از خط، نقطهٔ آغاز و شروع خلق و آفرینش هنری هم هست. در واقع، پیش از کشیدن اولین خط، فقط یکنواختی، بیدانشی، بینظمی، و بیساختاری مطلق بر تمامی فضا حاکم است.
خوب که بیندیشیم، زبان اکسامال درست همین کار را با برچسب زدن،نامگذاشتن، و صفات برای نامها تعریف کردن در مورد دادههای بیساختار انجام میدهد.
اصطلاحات کلیدی در XML
آنچه در ادامه می آید براساس مشخصات رسمی XML میباشد، و لیست کاملی از همهی ساختارهای مشاهده شده در XML نیست؛ در واقع معرفی ساختارهای کلیدی است که در استفاده روزانه XML به کار میرود.
یک سند XML رشته ای از نویسهها میباشد. تقریبا هر کاراکتر مجاز یونیکد میتواند در یک سند XML نمایش یابد.
پردازشگر نشانهگذاریها را تحلیل میکند و اطلاعات ساختاردار را به برنامهکاربردی تحویل می دهد. مشخصات XML نیازمندیهایی برای پردازشگر XML قرار میدهد و تعیین میکند که پردازشگر چه بکند و چه نکند؛ اما کاربردهای پردازشگر بالاتر از این مورد می باشد. «پردازشگر» کلمه ای است که مشخصات از آن نام برده است، پردازشگر در زبان محاورهای «تجزیه کننده» نام دارد.
نویسه هایی که یک سند XML را می سازند به دو بخش «نشانهگذاری (به انگلیسی: markup)» و «محتوا (به انگلیسی: content)» تقسیم میشوند. تشخیص این دو به وسیلهی قواعد سادهای امکانپذیر میباشد. نشانهگذاریها با نویسه ی ">" شروع و با نویسه ی "<" خاتمه مییابند. رشته های نویسه ای که «نشانهگذاری» نیستند، «محتوا» نام دارند.
یک برچسب یک نشانهگذاری است که با "<" شروع و با ">" خاتمه می یابد. سه نوع برچسب وجود دارد، که مثال های آن در زیر آمده است:
برچسب شروع <section>;
برچسب خاتمه </section>;
برچسب بدون عنصر <line-break />.
یک عنصر یک مولفهی منطقی در سند است که یا در برچسب شروع و خاتمه قرار دارد، و یا شامل برچسب بدونعنصر می باشد. نویسههایی که بین برچسب شروع و برچسب خاتمه قرار دارند، «محتوای عنصر» نام دارند. «محتوای عنصر» ممکن است خودش شامل شامل «نشانهگذاری» باشد، از این رو میتواند شامل عناصر دیگری باشد، به این عناصر «عنصر فرزند» گفته میشود.
در زیر دو مثال از عنصر آمده است:
<greeting>Hello, world!</greeting>
<line-break />
یک ویژگی یک نشانهگذاری است که شامل یک جفت نام-مقدار است. ویژگی یا باید در برچسب شروع باشد و یا در یک برچسب بدونعنصر قرار بگیرد. در زیر دو مثال از ویژگی آمده است:
<img src="madonna.jpg" alt="Madonna" />
<step number="3">Connect A to B.</step>
در مثال اول، نامهای ویژگی «src» و «alt» هستند، و مقادیر آنها «maddona.jpg» و «Maddona» میباشند.
در مثال دوم، نام ویژگی «number» است و مقدار آن «3» می باشد.
یک ویژگی XML تنها یک مقدار می تواند داشته باشد و هر ویژگی نیز حداکثر یکبار می تواند هر عنصر ظاهر شود. اما در شرایطی که باید یک «لیست از مقادیر» داشت، باید لیست را به یک ویژگی «خوش فرم» XML کدبندی کرد. در اینجا لیستها میتوانند دارای جداکنندهی «کاما»، «سمیکولن»، یا «نویسه فاصله سفید» باشند. به مثال زیر توجه کنید:
<div class="inner greeting-box">Welcome!</div>
در این مثال، ویژگی برابر «class» است که مقدار «inner greeting-box» دارد، و نشاندهندهی دو نام کلاس CSS میباشد: "inner" و "greeting-box".
یک سند XML میتواند با یک اعلان XML شروع شود، این اعلان، توصیفکنندهی اطلاعاتی درباره خود سند است. در زیر یک مثال از اعلان XML آمده است:
<?xml version="1.0" encoding="UTF-8"?>
به عنوان نمونهای بسیار ساده از یک سند اکسامال میتوان به بررسی مورد زیر پرداخت:
<University>
<Department>Mathematics</Department>
<Department>Biology</Department>
</University>
بر خلاف سندهای اچتیامال و اکساچتیامال که در آنها از عناصر و برچسبهای از پیش تعبیه یافتهاستفاده میکنیم، در سندهای اکسامال تمامی برچسبها را خود نامگذاری و انتخاب مینماییم.
اگر چه برچسبهای (tags) متعدّدی میتواند در هر سند موجود باشد، فقط یکی از آنها - و همواره یکی از آنها (در اینجا University) - نقش ریشه و در خودگیرندهٔ سایر برچسبها را برعهده دارد.
چنانچه نمونهٔ اکسامال دادهشده در بالا را، عیناً، در فایلی که با xml. ختم میشود ذخیره کنیم، میتوانیم با یکی از متنشکنهای اکسامال شروع به شکستن و پردازش آن بنماییم. از آنجا که شرکت مایکروسافت یکی از متنشکنهای اکسامال، موسوم به اماساکسامال را، در درون مرورگر خود یعنی آیای (IE) تعبیه نمودهاست، فقط کافیست سند اکسامال خود را با آیای باز کنیم.
در اینجا، برای مثال بالا صفت خصوصی بودن برای نام یا مفهوم دانشگاه تعیین شدهاست:
<University Category = "Private">
<Department>Mathematics</Department>
<Department>Biology</Department>
</University>
صفات مورد نظر برای هریک از عناصر اکسامال میتواند به هر تعداد باشد، و به هر ترتیبی بیاید، ولی، همواره باید آنها را فقط در درون بر چسب شروع جای داد، و نه هیچ کجای دیگر.
با کمک تعریف انواع در سندها یا دیتیدی میتوانیم به تعریف و شرح انواع گوناگون عناصر و المانهای مورد استفاده در یک سند اکسامال و نیز بیان صفات و شناسههای مختلف آنها مبادرت نماییم.
مقالهٔ اصلی: مدل اشیاءنگر سند ا گرچه سندهای اکسامال از متن ساخته میشود، جستجوی دادههای موجود در آنها از طریق دستیابی ترتیبی، نه عملی خواهد بود و نه صرفهبر.این امر، بهویژه، در مواردی دشوارتر خواهد شد که بخواهیم دادهها را بهطور دینامیکی به سند افزوده یا آنها را از آن پاک نماییم.
مدل اشیاءنگر سند معماری خاصّی را بهدست میدهد تا با اجراء آن توسّط یک زبان برنامهنویسی بلندتراز،بشود تمامی سند را به شکل یک درخت در حافظهٔ اصلی رایانه پهن کرد؛ بنابراین، فقط سندهای نسبتاً کوچک را میتوان با این مدل پردازش نمود.