اکس‌ام‌ال

زبان نشانه‌گذاری گسترش‌پذیر  با کوته‌نوشت XML نوعی زبان نشانه‌گذاری است که شامل مجموعه قواعدی است که به کمک آن می‌توان یک سند رایانه‌ای را کدبندی کرد. قالب کدبندی ایجاد شده توسط زبان XML هم برای انسان و هم برای ماشین (رایانه)ها قابل خواندن است. ائتلاف وب جهان‌گستر مشخصات XML ورژن ۱٫۰ را در سال ۱۹۹۸ ارائه داد، که این استاندارد، XML را به دقت تعریف کرده‌است.

اکس‌ام‌ال ویرایشی از اس‌جی‌ام‌ال است که می‌کوشد پلی بین سادگی اچ‌تی‌ام‌ال و قدرت اس‌جی‌ام‌ال ایجاد کند. در واقع اکس‌ام‌ال زیر مجموعه‌ای از اس‌جی‌ام‌ال است که صرفاً برای استفاده با وب طراحی شده‌است. پس از ایجاد اکس‌ام‌ال توسّط ائتلاف وب جهان‌گستر (W3C) در سال ۱۹۹۶ میلادی، دست‌اندرکاران بسیاری از پروژه‌های محاسبات توزیع‌شده به استفادهٔ گسترده از آن روی آوردند.

در حال حاضر، گوناگونی، میزان، و ابعاد فراوان به‌کارگیری اکس‌ام‌ال در اغلب زمینه‌ها و ساختارهای اینترنت امروزی به راستی شگفت‌آور است. فقط به عنوان نمونه، باید یادآور شد که تقریباً تمامی فناوری‌های خدمات وب، نگاره‌سازی برداری مقیاس‌پذیر (SVG), آردی‌اف، و بسیاری از موارد دیگر، تنها با اکس‌ام‌ال انجام‌پذیر است.

چرایی و چگونگی این امر برای فهم آسانتر و درک همه‌جانبه‌تر اینترنت در حال حاضر، و به ویژه، جهت آشنایی با تدابیری که بشر برای هموار نمودن راه‌های گسترش آن در آینده اتّخاذ خواهد کرد، از اهمّیّت بالایی برخوردار است.

انگیزه‌ها و بنمایه‌ها 
بسیاری از پرسش‌های عمده پیرامون پدیده‌های نوین جهانی، و به ویژه موهبت عالم‌گیر اینترنت را ساده‌تر و منطقی‌تر است که با مطالعه و شناخت هر چه واقعی‌تر و همه‌جانبه‌تر تاریخ و فلسفه علوم، مخصوصاً، از ابتدای دوران تولد دوباره تا به امروز پاسخ داد.

آفرینش و نمایش دانش 
اصلی‌ترین و ذاتی‌ترین وظیفهٔ زبان اکس‌ام‌ال بیان، نمایش، و تحت سیطره درآوردن داده‌ها ست. وقتی از داده‌ها اسم می‌بریم، در واقع، اطلاعات و دانش هم گفته‌ایم.

تبیین نقش و اهمیت اکس‌ام‌ال در خلق و نمایش انعطاف‌پذیر، قابل گسترش، و اندازه یاب دانش را بهتر است با اشاره‌ای گذرا بر نقش عنصر خط در هنر نقاشی آغاز کنیم. در نقاشی، استفاده از خط، نقطهٔ آغاز و شروع خلق و آفرینش هنری هم هست. در واقع، پیش از کشیدن اولین خط، فقط یک‌نواختی، بی‌دانشی، بی‌نظمی، و بی‌ساختاری مطلق بر تمامی فضا حاکم است.

خوب که بیندیشیم، زبان اکس‌ام‌ال درست همین کار را با برچسب زدن، نام‌گذاشتن، و صفات برای نام‌ها تعریف کردن در مورد داده‌های بی‌ساختار انجام می‌دهد.

اصطلاحات کلیدی در XML 
آنچه در ادامه می‌آید براساس مشخصات رسمی XML است، و لیست کاملی از همهٔ ساختارهای مشاهده شده در XML نیست؛ در واقع معرفی ساختارهای کلیدی است که در استفاده روزانه XML به کار می‌رود.

نویسه (کاراکتر) 
یک سند XML رشته‌ای از نویسه‌ها است. تقریباً هر کاراکتر مجاز یونی‌کد می‌تواند در یک سند XML نمایش یابد.

پردازشگر و برنامه‌کاربردی 
پردازشگر نشانه‌گذاری‌ها را تحلیل می‌کند و اطلاعات ساختاردار را به برنامه‌کاربردی تحویل می‌دهد. مشخصات XML نیازمندی‌هایی برای پردازشگر XML قرار می‌دهد و تعیین می‌کند که پردازشگر چه بکند و چه نکند؛ اما کاربردهای پردازشگر بالاتر از این مورد است. «پردازشگر» کلمه ای است که مشخصات از آن نام برده‌است، پردازشگر در زبان محاوره‌ای «تجزیه کننده» نام دارد.

نشانه‌گذاری و محتوا 
نویسه‌هایی که یک سند XML را می‌سازند به دو بخش «نشانه‌گذاری » و «محتوا » تقسیم می‌شوند. تشخیص این دو به وسیلهٔ قواعد ساده‌ای امکان‌پذیر است. نشانه‌گذاری‌ها با نویسهٔ ">" شروع و با نویسهٔ "<" خاتمه می‌یابند. رشته‌های نویسه ای که «نشانه‌گذاری» نیستند، «محتوا» نام دارند.

برچسب (Tag) 
یک برچسب یک نشانه‌گذاری است که با "<" شروع و با ">" خاتمه می‌یابد. سه نوع برچسب وجود دارد، که مثال‌های آن در زیر آمده‌است:برچسب شروع <section>;
برچسب خاتمه </section>;
برچسب بدون عنصر <line-break />.

عنصر (Element) 
یک عنصر یک مولفهٔ منطقی در سند است که یا در برچسب شروع و خاتمه قرار دارد، یا شامل برچسب بدون‌عنصر است. نویسه‌هایی که بین برچسب شروع و برچسب خاتمه قرار دارند، «محتوای عنصر» نام دارند. «محتوای عنصر» ممکن است خودش شامل شامل «نشانه‌گذاری» باشد، از این رو می‌تواند شامل عناصر دیگری باشد، به این عناصر «عنصر فرزند» گفته می‌شود.

در زیر دو مثال از عنصر آمده‌است:<greeting>Hello, world!</greeting>
<line-break />

ویژگی (Attribute) 
یک ویژگی یک نشانه‌گذاری است که شامل یک جفت نام-مقدار است. ویژگی یا باید در برچسب شروع باشد یا در یک برچسب بدون‌عنصر قرار بگیرد. در زیر دو مثال از ویژگی آمده‌است:<img src="madonna.jpg" alt="Madonna" />
<step number="3">Connect A to B.</step>در مثال اول، نام‌های ویژگی «src» و «alt» هستند، و مقادیر آنها «maddona.jpg» و «Maddona» می‌باشند.

در مثال دوم، نام ویژگی «number» است و مقدار آن «۳» است.

یک ویژگی XML تنها یک مقدار می‌تواند داشته باشد و هر ویژگی نیز حداکثر یکبار می‌تواند هر عنصر ظاهر شود. اما در شرایطی که باید یک «لیست از مقادیر» داشت، باید لیست را به یک ویژگی «خوش فرم» XML کدبندی کرد. در اینجا لیست‌ها می‌توانند دارای جداکنندهٔ «کاما»، «سمیکولن»، یا «نویسه فاصله سفید» باشند. به مثال زیر توجه کنید:<div class="inner greeting-box">Welcome!</div>در این مثال، ویژگی برابر «class» است که مقدار «inner greeting-box» دارد، و نشان‌دهندهٔ دو نام کلاس CSS است: "inner" و "greeting-box".

اعلان (declaration) 
یک سند 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>

صفات مورد نظر برای هریک از عناصر اکس‌ام‌ال می‌تواند به هر تعداد باشد، و به هر ترتیبی بیاید، ولی، همواره باید آن‌ها را فقط در درون بر چسب شروع جای داد، و نه هیچ‌کجای دیگر.

فضای نام‌های اکس‌ام‌ال 
مقالهٔ اصلی: فضای نام‌های اکس‌ام‌ال

تعریف انواع در سندها 
مقالهٔ اصلی: تعریف انواع در سندها

با کمک تعریف انواع در سندها یا دی‌تی‌دی می‌توانیم به تعریف و شرح انواع گوناگون عناصر و المان‌های مورد استفاده در یک سند اکس‌ام‌ال و نیز بیان صفات و شناسه‌های مختلف آن‌ها مبادرت نماییم.

طرح‌واره اکس‌ام‌ال و اعتبارسنجی 
مقالهٔ اصلی: طرح‌واره اکس‌ام‌ال و اعتبارسنجی

مدل اشیاءنگر سند 
مقالهٔ اصلی: مدل اشیاءنگر سند
ا
گرچه سندهای اکس‌ام‌ال از متن ساخته می‌شود، جستجوی داده‌های موجود در آن‌ها از طریق دستیابی ترتیبی، نه عملی خواهد بود و نه صرفه‌بر. این امر، به‌ویژه، در مواردی دشوارتر خواهد شد که بخواهیم داده‌ها را به‌طور دینامیکی به سند افزوده یا آن‌ها را از آن پاک نماییم.

مدل اشیاءنگر سند معماری خاصّی را به‌دست می‌دهد تا با اجراء آن توسّط یک زبان برنامه‌نویسی بلندتراز، بشود تمامی سند را به شکل یک درخت در حافظهٔ اصلی رایانه پهن کرد؛ بنابراین، فقط سندهای نسبتاً کوچک را می‌توان با این مدل پردازش نمود.

اِی‌پی‌آی ساده برای اکس‌ام‌ال 
مقالهٔ اصلی: اِی‌پی‌آی ساده برای اکس‌ام‌ال

پانوشته‌ها

جستارهای وابسته 
 اینترنت
 خدمات وب
 وب معانی نگر
 کنسرسیوم وب جهانگیر (W3C)
 اچ‌تی‌ام‌ال (HTML)
 اکس‌اس‌ال
 پیچیدگی
 گرافیک برداری اندازه پذیر (SVG)
 سی‌شارپ
 جاوا

منابع 
 اکس‌ام‌ال: چگونه آنرا برنامه‌نویسی کنیم 
 اینترنت و وب جهانگیر: چگونه آن را برنامه‌نویسی کنیم (چاپ چهارم) 
 راهنمای اکس‌ام‌ال 
 اکس‌ام‌ال

پیوند به بیرون 
 مروری بر XML و تأثیر آن بر جهان فناوری اطلاعات، امیر پارسی اصفهانی، مرکز اطلاعات و مدارک علمی ایران
 جمعیت اینترنتی تحت عنوان XML.org 

 
ارتباطات فنی
استانداردهای ائتلاف وب جهان‌گستر
استانداردهای وب
پروتکل‌های لایه کاربرد
پسوند نام پرونده
زبان‌های مدل‌سازی داده
زبان‌های نشانه‌گذاری
قالب پرونده‌های رایانه‌ای
قالب پرونده‌های کتاب‌شناسی
قالب‌های سریال‌سازی داده‌ها
قراردادهای لایه نمایش