چهارشنبه, ۱۲ اردیبهشت, ۱۴۰۳ / 1 May, 2024
مجله ویستا

XML - این خوان هفت‌رنگ‌


XML - این خوان هفت‌رنگ‌
XML
همان‌طور كه به‌یاد دارید، XML نام مجموعه‌ای از روش‌هایی است كه توسط آن می‌توان اطلاعات گوناگون را در درون فایل‌های متنی ذخیره كرد. اما راه و رسمXML در ذخیره‌سازی اطلاعات با روش‌های متداول ثبت داده در فایل‌های متنی تفاوت‌هایی دارد كه این دو را كاملاً از یكدیگر متمایز می‌سازد. در XML اطلاعات به روشی در یك فایل متنی ثبت می‌شوند كه قابل آدرس‌دهی هستند. بدین معنی كه یك كاربر می‌تواند محتویات نشانی ویژه‌ای از یك فایلXML را بخواند و این موضوع با نوشتن‌های متوالی و حتی حذف مواردی از آن فایل توسط كاربران دیگر در زمان‌های دیگر، مخدوش نخواهد شد. برای تشریح بهتر این مسأله، یك فایل متنی ساده را بررسی می‌كنیم. فرض كنید كه در یك فایل متنی، اطلاعات مختلفی را طی شش سطر نوشته باشیم. در صورتی‌كه كاربری بخواهد به داده‌های موجود در خط پنجم این فایل دسترسی داشته باشد، باید از ابتدای این فایل آغاز كرده و به ترتیب به شماره خط مورد نظر خود برسد. در حالی كه در فایل‌های متنی XML چنین نیست. تفاوت دیگر این دو حالت در آن است كه اگر در مورد فایل متنی ساده، همان كاربر ( یا كاربر دیگری) خطی را قبل از خط مثلاً ششم اضافه كرده باشد ( و یا خطی را قبل از خط ششم در این فایل حذف كرده باشد)،‌ آن‌گاه برای دسترسی به اطلاعات خط ششم سابق باید به سوابق ویرایشی فایل مراجعه شود و بر حسب مورد به نشانی متفاوتی از آنچه قبل از ویرایش برای دسترسی به همین خط اطلاعاتی لازم بوده است، اشاره كرد. اما در فایل‌های متنی XML چنین نیست و نشانی‌های اطلاعات موجود در آن‌ها با عمل ویرایش اطلاعات تغییر نخواهد كرد.
چگونه؟
اگر با فایل‌های HTML كار كرده باشید و یا حداقل این فایل‌ها را دیده باشید، حتماً به یاد دارید كه در این فایل‌ها، اطلاعات مختلفی در درون علامت‌ها و یا به عبارت صحیح‌تر در درون برچسب‌هایی واقع شده‌بودند. مثلاً در یك فایل HTML مشاهده خواهید كرد كه قسمت‌هایی از این فایل‌ها در بخشی قرار گرفته‌اند كه توسط برچسب‌های و محصور شده‌اند. حتی در مواقعی مشاهده می‌كنیم كه یك واژه تك و تنها هم در درون برچسب‌هایی بسته‌بندی شده است. مثلا <Title>Main</Title> مجموعه‌ای از برچسب‌های استانداردی كه در فایل‌هایHTML به‌كار می‌روند، همگی توسط نرم‌افزارهای مرورگر شناخته شده هستند ( البته این موضوع استثنا‌هایی هم دارد كه فعلاً به آن موارد كاری نداریم). در نتیجه زمانی كه یك فایل HTML را توسط یك برنامه مرورگر باز می‌كنیم، نرم‌افزار مرورگر به‌جای آن‌كه تمام محتویات واقعی فایل HTML را نمایش بدهد، با استفاده از همان مجموعه برچسب‌های از پیش‌تعریف شده و استاندارد، در می‌یابد كه هر یك از اطلاعاتی كه توسط برچسب‌های مختلف بسته‌بندی شده‌اند، را چگونه باید به نمایش بگذارد. به عنوان مثال، زمانی كه مرورگر به عبارتی می‌رسد كه در لفاف برچسب <Title>…</Title> واقع شده است، می‌داند كه باید آن عبارت را در نوار بالایی پنجره كه معمولاً به رنگ آبی است، نمایش دهد. در فایل‌های XML هم از همین فلسفه استفاده می‌شود. اما در XML از قبل در مورد آن‌كه چنین اطلاعاتی باید توسط چه نرم‌افزاری به نمایش گذاشته شود، هیچ پیش‌فرضی وجود ندارد. به همین ترتیب در XML هیچ برچسب از قبل تعریف شده‌ای وجود ندارد. كاربران XML از ابتدای كار خود مجازند برای اطلاعات گوناگونی كه قصد دارند در یك فایل XML قرار دهند، برچسب‌هایی با اسامی دلخواه انتخاب كنند. به عنوان مثال شما می‌توانید برای ذخیره‌سازی اطلاعات مربوط به نمرات یك كلاس درسی در قالب XML تصمیم بگیرید كه یك جفت برچسب به اسم <Student> </Student> داشته باشید كه در بین آنها نام دانش‌آموزان را ثبت كنید. همچنین ممكن است بعد از مختصری تأمل دریابید كه خوب است تا یك جفت برچسب فرعی دیگری را به‌صورت <Score> </Score> در درون برچسب قبلی برای ثبت معدل هر دانش‌آموز به كار ببرید. در این صورت شاید بخشی از این فایل به‌صورت زیر قابل مشاهده باشد: <Students>
<Student>
Hassan
<Score>۱۸</Score>
</Student>
<Student>
Hossein
<Score>۱۹</Score>
</Student>
</Students>
مشاهده می‌كنید كه در این بخش از یك فایل فرضیXML ، اطلاعات دو دانش‌آموز ثبت شده است. توجه داشته باشید كه در این فایل برچسب با برچسب تفاوت دارد و برچسب نخست از نظر سلسله‌مراتبی از درجه بالاتری نسبت به برچسب دوم برخوردار است. به عبارت دیگر كاربر یا برنامه‌نویس در قالب XML كاملاً آزاد است كه پس از تعیین ساختار اطلاعاتی داده‌هایی كه قصد ذخیره‌سازی آن‌ها را دارد، اولاً ساختار و برچسب‌های مورد نظر خود را تعیین كند و ثانیاً داده‌های دلخواه خود را در درون آن ساختار جایگذاری نماید.بدین ترتیب بدون استفاده از فناوری‌های گران‌قیمتی مانند انواع بانك‌های اطلاعاتی، قالبی در اختیار كاربر قرار می‌گیرد كه می‌تواند توسط آن انواع اطلاعات را ذخیره كرده و از آن مهم‌تر، چنین داده‌هایی را به سكوهای دیگر انتقال دهد. می‌دانید كه انتقال اطلاعات در قالب‌های سنتی مانند بانك‌های اطلاعاتی علاوه بر موضوع گران‌قیمت بودن آن‌ها، به فاكتورهای متعددی وابسته است كه هنگام انتقال از یك سكو به سكوی دیگر مطرح می‌شوند. سبكی یا سهولتی كه استفاده از قالب XML به دست می‌دهد، چنان كارایی و قابلیت انعطافی دارد كه كاملاً توجیه كننده چرایی گستردگی بی‌حد و مرز XML در سال‌های اخیر است. آنچه كه در ارتباط با مقایسه بانك‌های اطلاعاتی و XML بیان شد، نباید این تصور را در ذهن خواننده ایجاد نماید كه این فناوری در تقابل با بانك‌های اطلاعاتی است. واقعیت آن است كه درهم تنیدگی XML با بانك‌های اطلاعاتی چنان گسترده و عمیق است كه نمی‌توان آن‌را به‌سادگی تشریح كرد. تا چندی پیش هر روز از شنیدن اصطلاحی كه ابتدای آن با حرف X آغاز می‌شد و حكایت از به‌كارگیریXML در حوزه دیگری از علوم رایانه‌ای و غیررایانه‌ای می‌كرد، متعجب می‌شدیم. اما امروزه در صورتی‌كه متوجه شویم كه مثلاً در فلان موضوع هنوز از XML استفاده نمی‌شود، باید تعجب كنیم. مثلاً چه كسی می‌توانست حدس بزند كه از XML در ستاره‌شناسی و یا هواشناسی و حتی بازار بورس و برنامه‌ریزی برنامه‌های تلویزیونی و . . . استفاده خواهد شد.
منبع : ماهنامه شبکه


همچنین مشاهده کنید