اکسامال
![]() | برای تأییدپذیری کامل این مقاله به منابع بیشتری نیاز است. |
زبان نشانگذاری گسترشپذیر | |
![]() | |
کوتهنوشت | XML |
---|---|
وضعیت | منتشرشده (پیشنهاد W3C) |
سال آغاز | ۱۹۹۶ |
انتشار اولیه | ۱۰ فوریه ۱۹۹۸ | به عنوان پیشنهاد
آخرین ویرایش | ۱٫۱ (ویرایش دوم) ۲۹ سپتامبر ۲۰۰۶ |
سازمان | ائتلاف وب جهانگستر (W3C) |
ویراستاران |
|
استانداردهای پایه | SGML |
استانداردهای مرتبط | طرحواره اکسامال |
دامنه | پیاپیسازی دادهها |
وبگاه |
![]() | |
پسوند(های) نام پرونده | .xml |
---|---|
نوع رسانهٔ اینترنتی |
|
شناسانه نوع یکسان | public.xml |
معادل UTI | public.text |
عدد جادویی | <?xml |
توسعهدهنده | ائتلاف وب جهانگستر |
گونه | زبان نشانهگذاری |
نیاکان | اسجیامال |
فرزندان | زبانهای بیشمار شامل: اکساچتیامال، آراساس، اتم و KML |
استاندارد بینالمللی |
|
قالب آزاد؟ | بله |
استانداردهای وب |
---|
زبان نشانهگذاری گسترشپذیر (به انگلیسی: Extensible Markup Language) با کوتهنوشت XML نوعی زبان نشانهگذاری است که شامل مجموعه قواعدی است که به کمک آن میتوان یک سند رایانهای را کدبندی کرد. قالب کدبندی ایجاد شده توسط زبان XML هم برای انسان و هم برای ماشین (رایانه)ها قابل خواندن است. ائتلاف وب جهانگستر مشخصات XML ورژن ۱٫۰ را در سال ۱۹۹۸ ارائه داد، که این استاندارد، XML را به دقت تعریف کردهاست.[۱]
اکسامال ویرایشی از اسجیامال است که میکوشد پلی بین سادگی اچتیامال و قدرت اسجیامال ایجاد کند. در واقع اکسامال زیر مجموعهای از اسجیامال است که صرفاً برای استفاده با وب طراحی شدهاست. پس از ایجاد اکسامال توسّط ائتلاف وب جهانگستر (W3C) در سال ۱۹۹۶ میلادی، دستاندرکاران بسیاری از پروژههای محاسبات توزیعشده[۲] به استفادهٔ گسترده از آن روی آوردند.
در حال حاضر، گوناگونی، میزان، و ابعاد فراوان بهکارگیری اکسامال در اغلب زمینهها و ساختارهای اینترنت امروزی به راستی شگفتآور است. فقط به عنوان نمونه، باید یادآور شد که تقریباً تمامی فناوریهای خدمات وب،[۳] نگارهسازی برداری مقیاسپذیر (SVG),[۴] آردیاف،[۵] و بسیاری از موارد دیگر، تنها با اکسامال انجامپذیر است.
چرایی و چگونگی این امر برای فهم آسانتر و درک همهجانبهتر اینترنت در حال حاضر، و به ویژه، جهت آشنایی با تدابیری که بشر برای هموار نمودن راههای گسترش آن در آینده اتّخاذ خواهد کرد، از اهمّیّت بالایی برخوردار است.
انگیزهها و بنمایهها
[ویرایش]بسیاری از پرسشهای عمده پیرامون پدیدههای نوین جهانی، و به ویژه موهبت عالمگیر اینترنت را سادهتر و منطقیتر است که با مطالعه و شناخت هر چه واقعیتر و همهجانبهتر تاریخ و فلسفه علوم، مخصوصاً، از ابتدای دوران تولد دوباره تا به امروز پاسخ داد.
آفرینش و نمایش دانش
[ویرایش]اصلیترین و ذاتیترین وظیفهٔ زبان اکسامال بیان، نمایش، و تحت سیطره درآوردن دادهها ست. وقتی از دادهها اسم میبریم، در واقع، اطلاعات و دانش هم گفتهایم.
تبیین نقش و اهمیت اکسامال در خلق و نمایش انعطافپذیر، قابل گسترش، و اندازه یاب دانش را بهتر است با اشارهای گذرا بر نقش عنصر خط در هنر نقاشی آغاز کنیم. در نقاشی، استفاده از خط، نقطهٔ آغاز و شروع خلق و آفرینش هنری هم هست. در واقع، پیش از کشیدن اولین خط، فقط یکنواختی، بیدانشی، بینظمی، و بیساختاری مطلق بر تمامی فضا حاکم است.
خوب که بیندیشیم، زبان اکسامال درست همین کار را با برچسب زدن،[۶] نامگذاشتن، و صفات[۷] برای نامها تعریف کردن در مورد دادههای بیساختار انجام میدهد.
اصطلاحات کلیدی در XML
[ویرایش]آنچه در ادامه میآید براساس مشخصات رسمی XML است، و لیست کاملی از همهٔ ساختارهای مشاهده شده در XML نیست؛ در واقع معرفی ساختارهای کلیدی است که در استفاده روزانه XML به کار میرود.
یک سند XML رشتهای از نویسهها است. تقریباً هر کاراکتر مجاز یونیکد میتواند در یک سند XML نمایش یابد.
پردازشگر و برنامهکاربردی
[ویرایش]پردازشگر نشانهگذاریها را تحلیل میکند و اطلاعات ساختاردار را به برنامهکاربردی تحویل میدهد. مشخصات XML نیازمندیهایی برای پردازشگر XML قرار میدهد و تعیین میکند که پردازشگر چه بکند و چه نکند؛ اما کاربردهای پردازشگر بالاتر از این مورد است. «پردازشگر» کلمه ای است که مشخصات از آن نام بردهاست، پردازشگر در زبان محاورهای «تجزیه کننده» نام دارد.
نشانهگذاری و محتوا
[ویرایش]نویسههایی که یک سند XML را میسازند به دو بخش «نشانهگذاری (به انگلیسی: markup)» و «محتوا (به انگلیسی: content)» تقسیم میشوند. تشخیص این دو به وسیلهٔ قواعد سادهای امکانپذیر است. نشانهگذاریها با نویسهٔ ">" شروع و با نویسهٔ "<" خاتمه مییابند. رشتههای نویسه ای که «نشانهگذاری» نیستند، «محتوا» نام دارند.
برچسب (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"?>
تجربهٔ اوّل
[ویرایش]![](http://178.128.105.246/cars-http-upload.wikimedia.org/wikipedia/commons/thumb/0/03/Example_of_SVG_code.png/220px-Example_of_SVG_code.png)
به عنوان نمونهای بسیار ساده از یک سند اکسامال میتوان به بررسی مورد زیر پرداخت:
<University>
<Department>Mathematics</Department>
<Department>Biology</Department>
</University>
برخلاف سندهای اچتیامال و اکساچتیامال که در آنها از عناصر و برچسبهای از پیش تعبیه یافتهاستفاده میکنیم، در سندهای اکسامال تمامی برچسبها را خود نامگذاری و انتخاب مینماییم.
اگر چه برچسبهای (tags) متعدّدی میتواند در هر سند موجود باشد، فقط یکی از آنها - و همواره یکی از آنها (در اینجا University) - نقش ریشه و در خودگیرندهٔ سایر برچسبها را برعهده دارد.
چنانچه نمونهٔ اکسامال دادهشده در بالا را، عیناً، در فایلی که با xml. ختم میشود ذخیره کنیم، میتوانیم با یکی از متنشکنهای اکسامال[۸] شروع به شکستن و پردازش آن بنماییم. از آنجا که شرکت مایکروسافت یکی از متنشکنهای اکسامال، موسوم به اماساکسامال[۹] را، در درون مرورگر خود یعنی آیای (IE) تعبیه نمودهاست، فقط کافیست سند اکسامال خود را با آیای باز کنیم.
در اینجا، برای مثال بالا صفت خصوصی بودن برای نام یا مفهوم دانشگاه تعیین شدهاست:
<University Category = "Private">
<Department>Mathematics</Department>
<Department>Biology</Department>
</University>
صفات مورد نظر برای هریک از عناصر اکسامال میتواند به هر تعداد باشد، و به هر ترتیبی بیاید، ولی، همواره باید آنها را فقط در درون بر چسب شروع جای داد، و نه هیچکجای دیگر.
فضای نامهای اکسامال
[ویرایش]مقالهٔ اصلی: فضای نامهای اکسامال
تعریف انواع در سندها
[ویرایش]مقالهٔ اصلی: تعریف انواع در سندها
با کمک تعریف انواع در سندها یا دیتیدی[۱۰] میتوانیم به تعریف و شرح انواع گوناگون عناصر و المانهای مورد استفاده در یک سند اکسامال و نیز بیان صفات و شناسههای مختلف آنها مبادرت نماییم.
طرحواره اکسامال و اعتبارسنجی
[ویرایش]مقالهٔ اصلی: طرحواره اکسامال و اعتبارسنجی
مدل اشیاءنگر سند
[ویرایش]مقالهٔ اصلی: مدل اشیاءنگر سند ا گرچه سندهای اکسامال از متن ساخته میشود، جستجوی دادههای موجود در آنها از طریق دستیابی ترتیبی،[۱۱] نه عملی خواهد بود و نه صرفهبر.[۱۲] این امر، بهویژه، در مواردی دشوارتر خواهد شد که بخواهیم دادهها را بهطور دینامیکی به سند افزوده یا آنها را از آن پاک نماییم.
مدل اشیاءنگر سند معماری خاصّی را بهدست میدهد تا با اجراء آن توسّط یک زبان برنامهنویسی بلندتراز،[۱۳] بشود تمامی سند را به شکل یک درخت در حافظهٔ اصلی رایانه پهن کرد؛ بنابراین، فقط سندهای نسبتاً کوچک را میتوان با این مدل پردازش نمود.
اِیپیآی ساده برای اکسامال
[ویرایش]مقالهٔ اصلی: اِیپیآی ساده برای اکسامال[۱۴]
پانوشتهها
[ویرایش]- ↑ "W3C DOCUMENT LICENSE". W3.org. Retrieved 24 July 2020.
- ↑ Distributed computing
- ↑ Web services
- ↑ Scalable vector graphics - SVG
- ↑ Resource Description framework - RDF
- ↑ Tagging
- ↑ attributes
- ↑ XML Parsers
- ↑ MSXML
- ↑ Document Type Definition - DTD
- ↑ Sequential-file access
- ↑ Efficient
- ↑ High-level programming language
- ↑ XML Schema
جستارهای وابسته
[ویرایش]- اینترنت
- خدمات وب
- وب معانی نگر
- کنسرسیوم وب جهانگیر (W3C)
- اچتیامال (HTML)
- اکساسال
- پیچیدگی
- گرافیک برداری اندازه پذیر (SVG)
- سیشارپ
- جاوا
منابع
[ویرایش]- اکسامال: چگونه آن را برنامهنویسی کنیم (انگلیسی)
- اینترنت و وب جهانگیر: چگونه آن را برنامهنویسی کنیم (چاپ چهارم) (انگلیسی)
- راهنمای اکسامال (انگلیسی)
- اکسامال (انگلیسی)
پیوند به بیرون
[ویرایش]- مروری بر XML و تأثیر آن بر جهان فناوری اطلاعات، امیر پارسی اصفهانی، مرکز اطلاعات و مدارک علمی ایران
- جمعیت اینترنتی تحت عنوان XML.org (انگلیسی)