XML در مقابل SGML
XML مخفف زبان نشانه گذاری توسعه پذیر است. این در مشخصات XML 1.0 تعریف شده است که توسط W3C (کنسرسیوم وب جهانی) توسعه یافته است. XML یک راه استاندارد، که همچنین ساده است، برای رمزگذاری داده ها و متن ارائه می دهد، به طوری که محتوا می تواند در سخت افزار، سیستم عامل ها و برنامه های کاربردی درایور با دخالت اندک انسان رد و بدل شود. SGML (Standard Generalized Markup Language) یک استاندارد ISO (سازمان بین المللی استانداردسازی) برای تعیین زبان نشانه گذاری سند یا مجموعه ای از برچسب ها است. SGML یک زبان سند نیست، بلکه یک تعریف نوع سند (DTD) است.
XML
XML یک زبان نشانه گذاری است که برای انتقال داده ها و متن بین سخت افزار درایور، سیستم عامل ها و برنامه ها با دخالت اندک انسان استفاده می شود. XML تگ ها، ویژگی ها و ساختارهای عنصر را ارائه می دهد که می توانند برای ارائه اطلاعات زمینه استفاده شوند. از این اطلاعات زمینه می توان برای رمزگشایی معنای محتوا استفاده کرد. این امکان توسعه موتورهای جستجوی کارآمد و انجام داده کاوی بر روی داده ها را فراهم می کند. علاوه بر این، پایگاههای داده رابطهای سنتی به عنوان دادههای XML مناسب هستند زیرا میتوانند در ردیف و ستون سازماندهی شوند، اما XML از دادههایی با محتوای غنی مانند صوتی، تصویری، اسناد پیچیده و غیره پشتیبانی کمتری میکند. پایگاههای داده XML دادهها را به شکل ساختاریافته و سلسله مراتبی ذخیره میکنند. که اجازه می دهد تا پرس و جوها به طور موثرتری پردازش شوند. تگ های XML از پیش تعریف نشده اند و کاربران می توانند تگ ها و ساختارهای سند جدید را تعریف کنند. همچنین، زبانهای جدید اینترنتی مانند RSS، Atom، SOAP و XHTM با استفاده از XML ایجاد شدند.
SGML
SGML بر این ایده استوار است که حتی اگر یک سند را می توان با ظاهرهای مختلف بسته به رسانه خروجی مورد استفاده نمایش داد، اما حاوی برخی عناصر ساختاری و معنایی است که با توجه به نحوه نمایش آن تغییر نمی کنند.اسناد مبتنی بر SGML را می توان بدون نگرانی در مورد ظاهر سند ایجاد کرد که می تواند اضافه کاری را تغییر دهد، اما در مورد ساختار سند. علاوه بر این، کامپایلر SGML می تواند هر سندی را با استفاده از DTD خود تفسیر کند، بنابراین این اسناد قابلیت حمل و نقل بیشتری را فراهم می کنند. همچنین، اسناد مبتنی بر SGML را می توان به راحتی مجدداً با رسانه های مختلف تطبیق داد (به عنوان مثال، سند در نظر گرفته شده برای رسانه چاپی می تواند برای یک صفحه نمایش بازخوانی شود).
تفاوت بین XML و SGML چیست؟
در حالی که XML یک زبان نشانه گذاری است که برای انتقال داده و متن بین سخت افزار درایور، سیستم عامل ها و برنامه ها استفاده می شود، SGML یک استاندارد ISO برای تعیین زبان نشانه گذاری سند یا مجموعه ای از برچسب ها است. XML در واقع یک زبان نشانه گذاری است که مبتنی بر SGML است. اما XML محدودیت هایی را اعمال می کند که در SGML نیستند. برای مثال، XML محدودیتهای زیر را اعمال میکند: ارجاعات موجود باید با جداکننده REFC بسته شوند، ارجاع به موجودیتهای داده خارجی در محتوا مجاز نیست، ارجاعات کاراکتر باید با جداکننده REFC بسته شوند، ارجاعات کاراکترهای نامگذاری شده مجاز نیستند و غیره.علاوه بر این، برخی از ساختارها مانند تگهای شروع بسته، تگهای پایانی بسته نشده، تگهای آغازین خالی، تگهای پایانی خالی که در SGML مجاز هستند زمانی که SHORTTAG بله است، در XML مجاز نیستند. علاوه بر این، برخی از اعلانهای SGML مانند DATATAG، OMITTAG، RANK، LINK (SIMPLE، IMPLICIT و EXPLICIT) و غیره در XML مجاز نیستند.