منو
 صفحه های تصادفی
کلون یا دودمان خالص
زلزله در ایران
سفر رویایی به ماه
دانشنامه:راهنمای مدیریت گروه ها
دلایل امیر المؤمنین در باب خلافت خویش
گفت و گوی بریر بن خضیر با سپاهیان یزید
ورزش رزمی
آزمایش گربه ی خندان
شراب بهشتی
پوشینه
 کاربر Online
841 کاربر online
تاریخچه ی: XML

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

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

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

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

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

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

همچنین، بر خلاف 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 استاندارد برای فراخوانی یک قالب طرح که معمولاً با قالب <Link/> یا در یک ((عنوان 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)) در استاندارد و پایه.

! همچنین ببینید
*((XHTML)) ((HTML)) , ((SBML))
*((Relax NG)) , ((DSDL)) , ((XML Schema)) , ((DTD))
*((WSFL)), ((WSDL)), ((UDDI)) , ((eb XML)) , ((SOAP)) , ((web Service))
*زبان پرس و جوی((XML )), ((S- expression))
* ((DOM)) , ((SAX))
*((XSL)) , ((CSS))
*((OML)), ((OPML)) , ((Atom)), ((RSS))
*((XAML)) ,((XBL)) , ((XUL)) , ((UIML))
*((XBRL)) , ((FPML)) , ((SMIL)), ((CML)) , ((Math ML)) , ((SVG))
*((درخت نحوی انتزاعی)), ((AST))

تاریخ شماره نسخه کاربر توضیح اقدام
 دوشنبه 10 مهر 1385 [10:53 ]   5   زینب معزی      جاری 
 شنبه 08 مهر 1385 [07:02 ]   4   زینب معزی      v  c  d  s 
 پنج شنبه 23 شهریور 1385 [12:15 ]   3   زینب معزی      v  c  d  s 
 سه شنبه 04 اسفند 1383 [21:23 ]   2   حمید حسن نیا      v  c  d  s 
 یکشنبه 01 آذر 1383 [20: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 در داخل توضیحات مجاز نیستند و تمام نوشته ها ی بین علامت های > و < حذف خواهند شد..