منو
 کاربر Online
722 کاربر online
تاریخچه ی: XML

نگارش: 2



مقدمه


XML (زبان ایجاد فرامتن قابل توسعه) یک پیشنهاد W3C برای ایجاد زبانهای ایجاد فرامتن با هدف ویژه است. XML یک زیر مجموعه ی ساده شده از SGMLمی باشد، که قابلیت توصیف انواع مختلفی از داده ها را دارد. هدف اولیه آن آسان کردن تسهیم متن های ساخت یافته و اطلاعات در اینترنت است. زبان های بر اساس XML (مثل: (SVG)) ,XSIL Math ML ,SMIL ,RDF) خودشان به یک روش رسمی توصیف شده اند، که به برنامه ها امکان تغییر و مجاز کردن اسناد در این زبان ها را بدون دانش قبلی از شکل شان می دهد.

نقاط قوت و ضعف

ویژگی های XML که آن را برای انتقال داده مناسب می کند عبارتند از:

برای کاربردهای ویژه، این قالب نقاط ضعف زیر را نیز دارد:
  • ساختار نحوی XML بسیار طولانی است و نسبتاً دارای زواید زیادی می باشد. که این باعث کاهش قابلیت خواندن و بازدهی کاربردی آن می شود و XML را برای کاربرد در مواردی که پهنای باند محدود است مشکل می کند، اگرچه فشرده سازی می تواند در بعضی موارد مشکل را کاهش دهد.
  • ساختار نحوی XML شامل تعدادی از ویژگی های مبهم است که در نتیجه وراثت از سازگاری SGML به وجود آمده.
  • XML هنوز نیاز به تجزیه ی بیشتر برای استخراج مقادیر انفرادی دارد.
  • مدل کردن هم پوشانی ساختمان های داده (غیر وراثتی) نیاز به تلاش اضافی دارد.
  • مرتبط کردن XML به دسته بندی های مرتبط با شی گرا ممکن است پر زحمت باشد.
  • بر خلاف HTML هیچ استاندارد W3C وجود ندارد که مشخص کند چگونه در اسناد XML فایل های شامل اسکریپت ( مثلاً جاوا اسکریپت ) می تواند قرار داده شود یا چگونه عناصر شامل اسکریپت می توانند به کار روند یا چگونه رویدادها در سند می توانند اسکریپت را تغییر دهند.

قوانین نحوی در XML

یک سند XML متنی است معمولاً کد شده از یونی کد مثل UTF-16 , UTF-8 اگرچه کد کننده های دیگر نیز ممکن است استفاده شوند.

بر خلاف HTML، XML شدیداً وابسته به ساختار، محتوا و تمامیت برای خواص اش است. برای این که یک سند به عنوان سند "خوب شکل یافته" در نظر گرفته شود باید با موارد زیر مطابقت داشته باشد:
  • باید تنها یک عنصر ریشه داشته باشد.
  • عناصر غیر خالی باید به وسیله ی قالب شروع و قالب پایان مشخص شوند. عناصر خالی ممکن است با قالب عنصر خالی معلوم گردند.
  • همه ی مقادیر صفت "باید" علامت (`) یا (``) را داشته باشند.
  • قالب ها ممکن است ایجاد شوند ولی هم پوشانی نخواهند داشت، یعنی هر عنصر غیر ریشه باید به طور کامل در عنصری دیگر لحاظ شود.

نام های عناصر در XML حساس به حالت است، مثلاً و یک جفت سازگار خوب فرم یافته هستند در حالی که و نیستند.

همچنین، بر خلاف HTML، انتخاب با دقت نام های عناصر XML این امکان را می دهد که معنی داده به عنوان بخشی از ایجاد فرامتن حفظ شود. که تغییر آن به وسیله ی برنامه های نرم افزاری را آسان می کند.

به عنوان مثال، یک نسخه ی ساده ی بیان شده در XML باید به گونه ی زیر باشد:
شناسایی با دقت اطلاعات برنامه ها را قادر میسازد که به آسانی آن را دستکاری کنند: در این مثال، تبدیل مقادیر به سیستم های اندازه گیری دیگر، چاپ اجزا به صورت نماد برای آنهایی که مهارت خواندنی کمتری دارند، یا رجوع به اجزای شخصی یا رفتن به هر جای دیگر آسان است.
یک سند XML که ملاک های دیگر را علاوه بر خوب شکل یافتن در نظر می گیرد (مثل انجام دادن با یک DTD مرتبط گفته می شود که "مجاز" است).

زبان های XML schema

قبل از ظهور زبان های توصیف داده ی عمومی شده مانند XML و , SGML طراحان نرم افزار باید قالب های فایلی ویژه یا زبان های کوچکی را برای اشتراک داده ها بین برنامه ها تعریف می کردند. بنابراین لازم بود تا مشخصات جزء به جزء و نویسنده ها و تجزیه کننده های با منظور ویژه نوشته شوند.

ساختار با قاعده ی XML و قوانین تجزیه ی دستور العمل به طراحان نرم افزار این امکان را می دهد که تجزیه را به وسایل استاندارد واگذار کنند، و چون XML یک چارچوب کاری برگرفته از مدل داده را برای گسترش زبان های با کاربرد ویژه تأمین می کند، طراحان نرم افزار نیاز دارند که روی توسعه طرح ها برای داده هایشان در سطح نسبتاً بالایی از انتزاع متمرکز کنند.

یک XML schema توصیفی از نوع سند XML است که نوعاً بر حسب محدودیت های روی ساختار و محتوای اسناد از آن نوع، ماورای محدودیت های اساسی موجود در خود XML، بیان می شود. تعدادی از زبان های XML schema استاندارد و اختصاصی به منظور بیان رسمی چنین طرح هایی ایجاد شدند و بعضی از این زبان ها خود بر اساس XML هستند.

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

قدیمی ترین قالب DTD, XML Schema است که از SGML گرفته شده. در حالی که پشتیبانی DTD به دلیل وجود آن در استاندارد XML 1.0 مبهم است، به دلایل زیر محدود می باشد.

  • عدم پشتیبانی از ویژگی های جدید XML به ویژه فضاهای نامی
  • فقدان قدرت بیان. جنبه های رسمی یک سند XML نمی تواند در یک DTD قرار گیرد.
  • ساختار نحوی غیر XML سفارشی به منظور توصیف طرح های گرفته شده از SGML.

یک زبان طرح XML جدید، که به وسیله ی W3C به عنوان جانشین DTD ها تشریح شده، طرح XML نامیده می شود. همچنین رجوع شود به تعریف XML schema XSD.

طرح های XSD در توصیف زبانهای XML بسیار قدرتمند تر از DTD ها هستند. در ضمن XSD از قالب بر اساس XML استفاده می کند، که امکان استفاده از مجموعه ی ابزارهای XML را برای کمک به پردازش XML schema فراهم می کند. در ضمن امکان نوشتن یک طرح برای خود زبان Schema وجود دارد. انتقادهایی نیز در مورد XSD موجود است:

  • استاندارد بسیار بزرگ است به طوری که درک و پیاده سازی آن را مشکل می کند.
  • ساختارهای نحوی بر اساس XML منجر به اطناب در توصیف طرح می شود به طوری که XSD ها را برای خواندن و نوشتن دشوار می سازد.

یکی دیگر از زبانهای Schema ی معروف XML Relax NG است. در ابتدا به وسیله یOASIS استاندارد شد اما در حال حاضر هم W 3 Cو هم استاندارد بینالمللی ISO (به عنوان بخشی از DSDL) آن را تأیید کرده اند. RELAX NG دو قالب ساختار نحوی بر اساس XML و ساختار فشرده غیر XML دارد. ساختار نحوی فشرده دارای هدف افزایش قابلیت خواندن و نوشتن است، اما چون راه خوش تعریف برای ترجمه ی ساختار نحوی فشرده به ساختار نحوی XML و بر عکس وجود دارد، مزایای استفاده از ابزارهای XML استاندارد فراموش نشده است. RELAX NG تعریف فشرده تری دارد که پیاده سازی آن را نسبت به XSD آسان تر می کند.

بعضی از زبان های Schema نه تنها ساختار یک قالب XML ویژه را تشریح می کنند بلکه ابزارهای محدودی نیز برای تأثیر گذاری بر پردازش فایل های XML شخصی ارائه می دهند که با این قالب مطابقت دارد. DTD ها و XSD ها هر دو این قابلیت را دارند. آنها برای نمونه می توانند پیش فرض های صفتی را تأمین کنند. RELAX NG عمداً این ابزار ها را ندارد.

نمایش XML روی وب

زبان قالب طرح جامع (XSL) یک بخش الحاقی به XML است که به کاربران امکان توصیف ماهیت ویژوال و تغییر شکل داده های XML را بدون جاسازی دستور العمل ها در خود داده ها می دهد. سند به دست آمده یک سند HTML خواهد بود که از CSS برای ترجمه استفاده می کند.

یک سند XML ممکن است مستقیماً به بعضی از مرورگرها مانند Internet Explorer 5 یا Mozilla با CSS زبان قالب طرح ترجمه شود. این عمل هنوز در این مرورگرها استحکام چندانی ندارد اما در مرورگهای دیگر مانند مرور گر وب Opera به خوبی کار می کند. به منظور ایجاد امکان مدل سازی CSS، سند XML باید شامل ارجاع های ویژه ای به یک قالب طرح باشد:

توجه داشته باشید که این با روش HTML استاندارد برای فراخوانی یک قالب طرح که معمولاً با قالب یا در یک عنوان HTTP انجام می شود متفاوت است.

زمانی که XML بر اساس مرورگر پیشرفت می کند، جایگزین آن تبدیلی است. به HTML یا PDF یا دیگر قالب های "روی سرویس دهنده". برنامه هایی مثل Cocoon یک فایل XML را بر خلاف یک قالب طرح پردازش می کنند( در ضمن می توانند دیگر پردازش ها را نیز انجام دهند) و خروجی را به مرورگر کار بر می گردانند بدون این که نیاز باشد کاربر بداند که چه چیزی در پس زمینه در حال انجام است.

توسعه های XML

  • Xpath امکان ارجاع به اجزاء منفرد یک سند XML با استفاده از Xpath وجود دارد. Xpath به قالب های طرح در XSLT و XSLاجازه می دهد که به صورت دینامیک تکه های سند را در هر ترتیبی که لازم است تا خروجی مورد نیاز به دست آید بچینند.
  • Xpuery نسبت به XML مانندSQL است نسبت به بانک های اطلاعاتی مرتبط.
  • فضاهای نامی XML سند را قادر می سازد تا عناصر و صفات XML را که از واژه نامه های مختلف گرفته شده اند را در بر گیرد بدون این که هیچ برخورد نامی صورت گیرد.
  • امضاء XML ساختار نحوی و قوانین پردازشی برای ایجاد امضاهای دیجیتالی روی محتوای XML را تعریف می کند.

پردازش های فایل های XML

API هایی که به طور گسترده ای در پردازش داده های XML با زبان های برنامه نویسی به کار
می روند، SAX و DOM هستند. SAX برای پردزاش سری استفاده می شود. در حالی که DOM در پردازش با دسترسی تصادفی کاربرد دارد. شکل دیگر API پردازش XML انقیاد داده است زمانی که داده XML به عنوان ساختار داده ای زبان برنامه نویسی نوع دار قوی در مقایسه با DOM در دستری قرار می گیرد. نمونه از سیستم های با انقیاد داده، معماری جاوا برای انقیاد JAXB) xml http://java.sun.com/nml/jaxb/) و معماری Strathclyde Novel برای سوال و جواب XML است. (SNA Que)
http://www.cis.strath.ac.uk/research/snaque/.
پردازشگر XSL می تواند برای ترجمه یک فایل XML به منظور نمایش یا چاپ به کار رود. خود XSL به منظور ایجاد فایل های PDF بوجود آمده است. XSLT برای تغییر شکل به قالب های دیگر ، شاملHTML، دیگر واژه نامه های XML ودیگر قالب های متنی سریع می باشد. XQuery http://www.w3.org/TR/xquery/
یک زبان بیان مسیر برای انتخاب داده در طول یک فایل XML می باشد. Xpath یک زیر زبان از XSLT , XQuery می باشد.
قالب فایل اصلی XML ,Abi Word , Open office.org است. بعضی از بخش های Microsoft office 11 نیز امکان ویرایش فایل های XML را با استفاده از طرح های تهیه شده به وسیله ی کاربر دارد. تعداد دیگری از ویرایش گرهای XML نیز در دسترس هستند.

نسخه های XML

نسخه جاری XML 1.1, (مربوط به فوریه 2004 ) است. اولین نسخه XML 1.0 در حال حاضر در سومین چا پ خود وجود دارد. XML 1.0 و XML 1.1 در تجهیزات کاراکتری به کار رفته برای نام های عناصر، نام های صفات و… متفاوت اند: XML 1.0 تنها به کاراکترهایی که برای یونی کد 2.0 مجاز هستند، شامل اغلب اسکریپت ها می باشند، اما از اسکریپت هایی که فقط در نسخه اخیر یونی کد وارد شده اند محروم اند. مانندMongoliam، Combodiam، Amberic، Burmese و ... اجازه عمل می دهند. XML 1.1 تنها به کاراکترهای کنترلی ویژه امکان عمل نمی دهند یعنی دیگر کاراکترها می توانند استفاده شوند حتی اگر استاندارد یونی کد به صورت نمایی رشد کند.

در اینجا باید ذکر گردد که محدودیت هایی که در XML 1.0 وجود دارد تنها در مورد نام های صفت / عناصر به کار می رود: XML 1.0 و XML 1.1 امکان استفاده از یونی کد کامل را در خود متن می دهند. بنابراین XML 1.1 تنها زمانی لازم می شود که علاوه بر استفاده از اسکریپت اضافه شده بعد از یونی کد 2.0 ، شما بخواهید عنصاری را در آن اسکریپت بنویسید. دیگر تغییرات کوچک بین XML 1.0 و XML 1.1 این است که کاراکترهای کنترلی امکان کاربری دارند تنها زمانی که آزاد باشند.

همه اسناد XML 1.0 اسناد مجاز XML 1.1 هستند به جز در یک مورد: اسناد XML ای که خود را به عنوان کد شده در استاندارد ISO - 8859-1 معرفی می کنند در حالی که واقعاً کد شده در CP 1252 هستند ممکن است غیر مجاز باشند: این به این خاطر است که CP 1252 از بلوک کاراکترهای کنترلی ISO-8859-1 برای کاراکترهای ویژه مثل € و Œ و TM استفاده می کند. اسناد XML 1.0 که درCP 1252 تعریف می شوند مجاز باقی خواهند ماند.
در ضمن بحث هایی روی XML 2.0 وجود دارد. XML- sw) sw برای shunk works ) نوشته شده به وسیله ی یکی از توسعه دهندگان اصلی XML ، شامل بعضی از پیشنهاداتی است که شبیه به XML 2.0 به نظر می رسد: حذف DTD ها ازساختار نحوی، تکامل فضاهای نامی، اساس XML و مجموعه اطلاعات XML در استاندارد و پایه.

همچنین ببینید




تاریخ شماره نسخه کاربر توضیح اقدام
 دوشنبه 10 مهر 1385 [09:53 ]   5   زینب معزی      جاری 
 شنبه 08 مهر 1385 [06:02 ]   4   زینب معزی      v  c  d  s 
 پنج شنبه 23 شهریور 1385 [11:15 ]   3   زینب معزی      v  c  d  s 
 سه شنبه 04 اسفند 1383 [20:23 ]   2   حمید حسن نیا      v  c  d  s 
 یکشنبه 01 آذر 1383 [19:31 ]   1   حمید حسن نیا      v  c  d  s 


ارسال توضیح جدید
الزامی
big grin confused جالب cry eek evil فریاد اخم خبر lol عصبانی mr green خنثی سوال razz redface rolleyes غمگین smile surprised twisted چشمک arrow



از پیوند [http://www.foo.com] یا [http://www.foo.com|شرح] برای پیوندها.
برچسب های HTML در داخل توضیحات مجاز نیستند و تمام نوشته ها ی بین علامت های > و < حذف خواهند شد..