XML را بهتر بشناسیم
چهارشنبه 10 آذر 1389 6:13 AM
جامعه علمی به ستایش از XML همچنان ادامه میدهد، اما احتمالآ آثار این زبان را هنوز آن قدر ندیده اید تا به دلیل این تحسین پی ببرید. فایدههای HTML و ایمیل را همگان می شناسید؛ این دو با هم یک انقلاب در ارتباطات به وجود آوردهاند و روش دسترس به اطلاعات را تغییر داده اند. اما XML؟ آیا واقعا یک پدیده مهم است؟ اگر درباره XML کنجکاو باشید و بخواهید بدانید که چگونه کار میکند و چرا اهمیت یافته است ، این مقاله را بخوانید.
این مقاله اختلاف مهم بین HTML و XML، اختلافی که توان پشتیبانی از این انقلاب را دارد و آینده آن را قدرتمند می سازد، شرح میدهد. مقاله همچنین XML را میشکافد و توضیح میدهد که منظور از کلمات قابل توسعه (extensicle) ، آرایش (markup) و زبان (language) چیست؛ در نتیجه ، وقتی مفاهیم را باهم ترکیب کنید XML را بهتر خواهید شناخت و به اهمیت آن پی خواهید برد، در پایان، به کاربردهای خاص XML نگاه خواهیم انداخت تا بدانید چه مسائلی را میتواند حل کند و نقائص HTML را برخواهیم شمرد.
متن چیست؟ مجموعهای سازمانیافته از کلمات. هم کلمات و هم سازمانیافتگی مهم هستند، هر شعری، عبارات، سطرها، بیتها، و مصراعهایی دارد. یک کتاب حاوی فصل، پاراگراف، بخش، محتوا، یک فهرست، و سایر خصوصیات قابل تمایز است.
ارائه یک متن در یک کتاب یا یک صفحه وب محتویات آن متن را بیان می کند و به آن یک نمای خاص می دهد. ارائه یا نما در یک رسانه خاص با نحوه تجسم دادن به یک موضوع سروکار دارد. HTML به طور کلی به نما اشاره دارد : این بخش باید حروف سیاه و درشت باشد؛ آن بخش آبی باشد؛ این مطالب را در یک جدول قرار بده؛ و مانند آن. قدرت اصلیHTML در سادگی آن است. متاسفانه، سادگی هزینه دارد و هزینه آن دستورالعملهای نما یا ارائه، و آرایش پیچیده آن است.
آرایش به ثبت وقایع به ترتیب (مثلا زمانی) یک متن اشاره دارد و این متن در مجموع باید بامعنی باشد. برای HTML، آرایش به شکل برچسب یا تگهایی عنوان می شود که در اطراف قطعات متن جای میگیرند. به عنوان مثال ، خطوط نقطهچین دور این مقاله با استفاده از یک دستور برای نقطهچین بودن دور مطالب به وجود آمدهاند. در این دستور، گفته شده که :«نقطهچین ها را دور کادر مطالب با رنگ سبز نشان بده.»
درک XML
مهمترین راز درک XML این مطلب است که XML خودش به طور کامل نما یا ارائه را نادیده میگیرد. با ساختار کلی، یا سازمان اطلاعات در یک متن، سروکار دارد. برای شعری که با این زبان ارائه می شود، تگهایی برای بیت و مصراع وجود خواهد داشت. برای یک سفارش مشتری، تگها ممکن است به شکل customer-id یا مثلا order-id باشد و به این وسیله متن و ساختار آن را نشان میدهد.
بخش توسعهدهنده نیز به همین مناسبت در این زبان وجود دارد. یعنی این زبان میتواند هر ساختار منطقیای را اداره کند، چون به همه اجازه میدهد که تگهای ساختمندی برای یک ناحیه متنی خاص بسازند.
شیاد این مطالب پیچیده به نظر بیایند. جدایی ساختار و نما یا ارائه در واقع یک فکر عالی است. حال کمی دقیقتر به آن نگاه می کنیم: تیتر بالای یک مقاله شاید از نظر شما ساده بیاید، ولی از نظر کامپیوتر، تشخیص آن مشکل است.
این زبان در واقع مخلوطی از علائم اختصاری را گرد آورده است. مانند CSS , XSL , XML Schemas , XLink , XPointer و ... که متاسفانه شرح آنان در این مقاله نمی گنجد.
این زبان یک زیرساختار است، بنابراین دیدن آثار برای ما دشوار است. آثار و بهینهسازیهای آن را سازندگان صفحات وب میبینند و نه کاربران عادی؛ به عنوان مثال، یک غزل باید ۱۴بیت دو مصراعی داشته باشد، یک DTD (Document Type Definition) برای یک غزل می تواند به منظور تایید اعتبار متن به کار رود.
یک بهینهسازی و اثر دیگری که با استفاده از این زبان حاصل میشود آن است که سبکهای ارائه چندگانه را ممکن میسازد. اگر ساختار سند (مانند یک مقاله یا پاراگراف) برای یک قالب خاص فراهم باشد، آن را میتوان با استفاده از سبکهای مختلف ارائه کرد. برگههای شیوه (style sheet) که امروزه به عنوان یکی از مهمترین اصول طراحان صفحات وب به کار می رود، این نقش را بر عهده دارد. که از میان آنها CSS و XSL دو نمونه رقیب هستند. اگر یک سند XML را با یک برگه شیوه ترکیب کنید شبیه به یک کتاب درسی خواهد شد؛ آن را با یک برگه شیوه دیگر ترکیب کنید یک نما یا ارائه کتاب کمدی به وجودمیآید. یا، سازندگان سایت میتوانند یک سند XML را با یک برگه شیوه دیگر ترکیب کنند تا برای صفحه نمایش یک تلفن همراه مناسب شود. امکانات زیادی در این زبان وجود دارد، چون به عنوان یک سازنده سایت برای رسیدن به یک چهره جدید نیازی به تغییردادن سند ندارد.
فایده سوم این زبان یافتن بسیار راحت اطلاعات از درون اسناد XML است و همچنین موتورهای جستجو در اسناد این زبان به نتیجه دقیقتری میرسند.
این زبان چنان دست سازندگان صفحات وب را باز گذاشته که آنها به شدت علاقهمند به استفاده از این زبان هستند.
آنچه خواندید مختصری بود از XML، سعی کردم آنرا تا جایی که امکان دارد مختصر و ساده توضیح دهم. قطعا کامل نبود و بسیاری را راضی نکرد، بنابراین شما میتوانید اطلاعات بیشتر در این زمینه را در اینجا و اینجا بیابید.