عناوين



 اخبار


برگزیده


امنيت


مقاله


گزارش و گفتگو


ياداشت


اخبار شرکتها


همايشها



فراخوانها و آئين نامه ها


عکس و ویدئو

 
  خدمات



نسخه موبایل



خروجی پیامک



خروجی RSS



عضویت در خبرنامه ها

 

راهنما
تبليغات


 

سفارش آگهی
مقاله
دوشنبه، 20 تیرماه 1384

10:55 AM

July 11, 2005


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








مسعود سعیدی
ماهنامه شبکه - مهر 1383 شماره 47

اشاره :

امروزه به هر سمتی كه نگاه می‌كنیم، با فناوری‌ XML برخورد می‌كنیم. شاید هیچ یك از حوزه‌های علوم انفورماتیك به حد و اندازه‌های گستردگی كاربرد 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>18</Score>
</Student>

<Student>
Hossein
<Score>19</Score>
</Student>

</Students>


مشاهده می‌كنید كه در این بخش از یك فایل فرضیXML ،  اطلاعات دو دانش‌آموز ثبت شده است. توجه داشته باشید كه در این فایل برچسب با برچسب تفاوت دارد و برچسب نخست از نظر سلسله‌مراتبی از درجه بالاتری نسبت به برچسب دوم برخوردار است. به عبارت دیگر كاربر یا برنامه‌نویس در قالب XML  كاملاً  آزاد است كه پس از تعیین ساختار اطلاعاتی داده‌هایی كه قصد ذخیره‌سازی آن‌ها را دارد، اولاً ساختار و برچسب‌های مورد نظر خود را تعیین كند و ثانیاً داده‌های دلخواه خود را در درون آن ساختار جایگذاری نماید.
بدین ترتیب بدون استفاده از  فناوری‌های گران‌قیمتی مانند انواع بانك‌های اطلاعاتی، قالبی در اختیار كاربر قرار می‌گیرد كه می‌تواند توسط آن انواع اطلاعات را ذخیره كرده و از آن مهم‌تر، چنین داده‌هایی را به سكوهای دیگر انتقال دهد. می‌دانید كه انتقال اطلاعات در قالب‌های سنتی مانند بانك‌های اطلاعاتی علاوه بر موضوع  گران‌قیمت بودن آن‌ها، به فاكتورهای متعددی وابسته است كه هنگام انتقال از یك سكو به سكوی دیگر مطرح می‌شوند. سبكی یا سهولتی كه  استفاده از قالب XML  به دست می‌دهد، چنان كارایی و قابلیت انعطافی دارد كه كاملاً توجیه كننده چرایی گستردگی بی‌حد و مرز XML  در سال‌های اخیر است.
آنچه كه در ارتباط با مقایسه بانك‌های اطلاعاتی و XML  بیان شد، نباید این تصور را در ذهن خواننده ایجاد نماید كه این فناوری در تقابل با بانك‌های اطلاعاتی است. واقعیت آن است كه درهم تنیدگی XML  با بانك‌های اطلاعاتی چنان گسترده و عمیق است كه نمی‌توان آن‌را به‌سادگی تشریح كرد. تا چندی پیش هر روز از شنیدن اصطلاحی كه ابتدای آن با حرف X  آغاز می‌شد و حكایت از به‌كارگیریXML  در حوزه دیگری از علوم رایانه‌ای و غیررایانه‌ای می‌كرد، متعجب می‌شدیم. اما امروزه در صورتی‌كه متوجه شویم كه مثلاً در فلان موضوع هنوز از XML  استفاده نمی‌شود، باید تعجب كنیم. مثلاً چه كسی می‌توانست حدس بزند كه از XML  در ستاره‌شناسی و یا هواشناسی و حتی بازار بورس و برنامه‌ریزی برنامه‌های تلویزیونی و . . . استفاده خواهد شد.
برای دست آوردن تصویری از كاربردهای گسترده XML  در حوزه‌های مختلف، می‌توانید به جدول‌های مقاله رجوع كنید كه در آن تعدادی از كاربردهای XML  در حوزه‌های گوناگون معرفی شده‌اند. 












Document Type Definition یا DTD 
بازگردیم به موضوع اصلی خودمان. تا اینجا بیان كردیم كه در قالب XML  كاربر می‌تواند داده‌ها و قالب و مجموعه برچسب‌های لازم برای تعیین ساختار آن اطلاعات را به‌طور دلخواهی تعریف كند. همچنین از قالب HTML  برای رسیدن به مفاهیم متناظر در XML  استفاده كردیم. در اینجا بازهم  از همین روش بهره خواهیم گرفت.
در صورتی‌كه كاربری در هنگام نوشتن وطراحی یك فایل HTML  دچار اشتباه شود و به عنوان مثال برچسب را فراموش كند، مرورگر از نمایش صفحه وب اجتناب می‌كند و شماره خط اشتباه را در فایل HTML  به شما اطلا‌ع می‌دهد. اما در صورتی‌كه كاربری در نوشتن یك فایل XML  دچار اشتباه شود، چه كسی متوجه خواهد شد؟
به‌طور معمول دو نوع اشتباه در نوشتن فایل‌های XML  متداول هستند. گروه نخست اشتباهاتی است مانند آن‌هایی كه در مثال فوق به آن اشاره شد. در این نوع از اشتباهات، هر نرم‌افزاری كه كمی با قالب و فرمت فایل‌های برچسبی یا Markup  آشنا باشد، خواهد توانست اشتباه را تشخیص دهد. مثلاً هرگاه برچسبی به‌صورت در فایل دیده شود و آن‌گاه برچسب جفت آن یعنی در این فایل یافت نشود، هر شخص و یا نرم‌افزار Markup  قادر به تشخیص اشتباه خواهد بود. فایل‌های xml  كه چنین اشتباهاتی در متن آن‌ها وجود نداشته باشد، فایل‌های خوش‌تركیب یا Well formed  نام دارند.
اما در صورتی‌كه در ساختار اطلاعاتی خود، فایلXML  را به‌گونه‌ای می‌خواسته‌اید طراحی كنید كه در آن هر اِلمان ( مانند المان Student  در مثال قبلی) باید حتماً دارای جفت برچسب خود  باشد. درصورت بروز این اشتباه هیچ كس نخواهد توانست آن را به شما اطلا‌ع دهد. زیرا اصولاً كسی از ساختار موردنظر شما در زمان طراحی فایلXML  اطلاع نداشته است.
برای حل این مشكلات، درXML  ابزارهای متعددی پیش‌بینی شده است. مثلا‌ً فایل‌های DTD  فایل‌هایی هستند كه شما می‌توانید بدون توجه به اصل داده‌ها، فقط شكل و ساختار سازمانی اطلاعات خود را در آن تعریف كنید. در واقع در فایل‌هایDTD  كاربر تعیین می‌كند كه در فایل XML  متناظر چه برچسب‌هایی و چه داده‌هایی به كار گرفته شده‌اند و هر یك از آن‌ها چه ویژگی‌هایی دارند.
در صورتی‌كه با واژگان  DTD آشنا باشیم، خواهیم توانست فایلی با پسوند dtd  بسازیم كه توصیف‌كننده فایل xml  خود باشد. به عنوان مثال برای آن‌كه ساختار اطلاعاتی فایل مثال ابتدایی این مقاله را توصیف كنیم، می‌توانیم از عبارات زیر در یك فایل DTD  بهره گیریم.




<!ELEMENT Students ( Student+ ) > 

<!ELEMENT Student ( #PCDATA | Score )* >

<!ELEMENT Score ( #PCDATA ) >


اگر به این بخش از یك فایلdtd  دقت كنیم، متوجه خواهیم شد كه در خط اول گفته می‌شود كه فایل XML  باید شامل یك المان به‌نام Students  باشد كه خود در برگیرنده المان‌های فرعی به نام Student  است. در همین خط از فایل dtd تاكید می‌شود كه تعداد المان‌های فرعی Student  می‌تواند زیاد باشد. علامت + در انتهای این خط چنین مفهومی را می‌رساند. در خط دوم این فایل گفته می‌شود كه المان Student  اولاً شامل داده‌هایی از جنس PCDATA  است (كه فعلاً به آن كاری نداریم) و در ثانی این المان دارای المان فرعی‌تری بنام Score  است و . . . خلاصه آن‌كه فایل DTD  به هر شخص یا نرم‌افزاری كه بخواهد صحت و یا به‌عبارت فنی‌تر اعتبار فایلXML  را بسنجد، خواهد گفت كه ساختار این فایل چگونه باید باشد. نرم‌افزارهای نمایش دهنده فایل‌های xml  می‌توانند در صورت تمایل از این فایل برای تعیین اعتبار فایل xml  قبل از نمایش آن استفاده كنند. تعیین صحت ساختاری یك فایل xml  و یا تطابق ساختار آن با آن‌چه در فایلdtd  متناظر بیان می‌شود،Validity  نام دارد. 







شکل 1 - برای مشاهده عکس در اندازه واقعی روی تصویر کلیک کنید
XML Schema
همان‌طور كه قبلاً خاطرنشان شد، استفاده از dtd  یكی از روش‌های بیان ساختار اطلاعاتی یك فایلXML  است. W3C روش دیگری را برای بیان و تعریف ساختار داده‌ای فایل‌های XML توصیه می‌كند. XML Schema یا به اختصار Schema  نامی است كه بر فایل‌های تعریف كننده سازمان داده‌ای XML  بر اساس توصیهW3C  نهاده شده است. فعلاً همین‌قدر اشاره می‌كنیم كه در واقع Schema  نوعی بیان ساختار داده‌ای است كه از زبان XML  برای این منظور استفاده می‌كند.

در اینجا بد نیست تا اشاره شود كه روش‌ها و تكنولوژی‌های دیگری نیز علاوه بر DTD  و Schema  برای بیان ساختار داده‌ای XML  وجود دارند كه تقریباً همگی آن‌ها از قدمت بیشتری نسبت به پیشنهادW3C  برخوردار هستند. به عنوان نمونه، XDR  یا XML Data Reduced  همتای DTD  محسوب می‌شود و در IE   نسخه 5 نیز مورد استفاده واقع شده بود. XDR در چهارچوب BizTalk  هم مورد استفاده بوده است. SOX به معنی Schema for Object Oriented XML  هم تكنیك دیگری در ردیفDTD  است. از SOX در سیستم تجارت الكترونیك استفاده شده است.
در این گروه می‌توان به نمونه‌های دیگری هم اشاره كرد RELAX . كه ساخته و پرداخته یكی از محققان ژاپنی IBM  است، نمونه دیگری به‌شمار میآید RELAX . در حقیقت زبان Regular Expression  برای XML  محسوب می‌شود كه به W3C  هم برای طی كردن فرایند استاندارد‌سازی ارائه شده است.  TREX (به معنی Tree Regular Expression for XML ) هم نمونه مشابه دیگری برای تعیین سازمان داده‌ای XML  است.

مرورگر IE  یكی از نرم‌افزارهایی است كه قابلیت نمایش فایل‌های xml  را دارا است. به‌طور كلی به نرم‌افزارهایی كه قابلیت قرائت اطلاعاتXML  را دارا هستند و می‌توانند براساس نمایشی از داده‌هایXML  كار كنند، Parser  گفته می‌شود. (پارسر اصطلاحی است كه از زمان استفاده از كامپایلر‌ها رواج یافته است. كامپایلر‌ها سورس كد برنامه را Parse  می‌كردند و بر اساس آن فایل Object  در فرایند كامپایل ساخته می‌شد.) در شكل شماره یك تصویری نمایش داده شده است كه در آن اشكال گوناگون نمایش یك فایل xml (همان فایل مثال ابتدایی مقاله) را به تصویر كشیده است. اگر دقت كنید، كاربر می‌تواند با كلیك كردن بر روی علامت‌های + كه مرورگر در كنار گره‌ها نمایش می‌دهد، آن گره را گشوده و محتویات درون آن را مشاهده كند.

XSL
همان‌طور كه متوجه شدید، تمام هنر IE  آن بوده است كه ساختار XML  را به‌صورت شاخه‌های تعاملی نمایش دهد. در چنین شكلی از نمایش، هیچ ظرافتی در ارتباط با آن‌كه مثلاً المان ریشه (Students)  پررنگ‌تر نمایش داده شود و چیزهایی از این قبیل، به كار گرفته نشده است. البته واقعیت هم غیر از این نیست، زیرا در هیچ جایی ( نه در فایل XML  و نه در فایل) DTD  هیچ اطلاعاتی درباره چگونگی نمایش اطلاعات موجود در فایل XML  گنجانده نشده است.
واقعیت آن است كه معجزه XML  هم در همین نكات نهفته است. درXML داده‌ها به‌كلی از ساختار اطلاعات تفكیك شده‌اند و به همین ترتیب هیچ تداخلی نیز بین داده‌ها و اطلاعات دیگر در مورد چگونه به نمایش درآمدن آن‌ها صورت نمی‌گیرد. در صورتی‌كه بخواهیم اطلاعات موجود در یك فایل XML  را به نمایش بگذاریم باید فایل دیگری به كار ببریم كه در آن تمامی اطلاعات لازم در مورد نمایش تك تك داده‌های XML  ثبت شده باشد. این فایل در تكنولوژیXML  ، XSL  و یا XML Style Sheet  نام دارد.

فناوری‌های دیگر
گفتیم كه XML  روشی ساده و كارآمد برای ذخیره‌سازی اطلاعات فراهم می‌آورد. در واقع تفاوت فایل‌هایXML  با فایل‌های متنی معمولی در آن است كه برای بازیابی اطلاعات فایل‌های XML  نیازی به طی كردن تمام ركوردهای ذخیره‌شده در این فایل‌ها نیست. به عبارت دیگر فایل‌هایXML  به‌نوعی  با قابلیت دسترسی تصادفی (Random Access) هستند. Xpath نام زبانی است كه توسط آن می‌توان به بخش‌های گوناگون اطلاعات موجود در فایل‌های XML  دسترسی یافت. در این زبان به جای آن‌كه از syntax  فایل‌های  XML (گره‌ها و برچسب‌ها) استفاده شود، از مسیر‌ها و یا Path‌هایی در یك ساختار سلسله مراتبی و درختی (كه در حافظه سیستم تشكیل می‌شود)‌ برای دسترسی به اطلاعات استفاده می‌شود. چنین قابلیتی همچنین به این معنی خواهد بود كه در این زبان می‌توان از امكانات جستجوی الگو (Pattern matching) نیز بهره گرفت.

Xpointer و XLink 
Xpointer تكنولوژی مشابه دیگری است كه باز هم برای دسترسی به اطلاعات فایل‌هایXML  به كار می‌رودXlink . زبانی است كه امكانات برقراری لینك در فایل‌هایXML  را فراهم می‌كند. درXlink  المان‌های ویژه‌ای تعریف می‌شود كه می‌توان از آن‌ها در بین اطلاعات XML  برای ایجاد لینك به منابع دیگر استفاده كرد. این منابع اطلاعاتی می‌توانند انواع داده از جمله داده‌هایXML ، ابرداده، و حتی داده‌های غیر XML  مانند تصویر باشد. المان‌های ویژه Xlink  از همان قواعد XML  و مفاهیم URI  برای ایجاد لینك استفاده می‌كنند.

Xinclude
به احتمال زیاد با امكانات مكانیسم‌include  كه در بسیاری از زبان‌های برنامه‌نویسی مانندC  یا C++  پیش‌بینی شده‌اند، آشنایی دارید. (توسط دستور include   امكاناتی فراهم می‌شود كه می‌توان بخش‌های از یك برنامه‌ را در برنامه دیگری فراخوانی كرد.) Xinclude نیز به‌طریق مشابهی مدل یك پردازشی را فراهم می‌آورد كه می‌توان توسط آن، از اطلاعات XML  واقع در منابع دیگر در فایل دیگر استفاده كرد.

XQuery
Xquery زبان پرس‌و جوی جدیدی است كه به زبانی غیر از XML  بیان می‌شود. از این زبان برای اجرای پرس‌وجو (Query) بر روی اطلاعات XML  با استفاده از عبارات Xpath  و مجموعه‌ای از عبارت‌های متنوع دیگر كه شباهت زیادی به عبارات SQL  دارند، استفاده می‌شود. ( در بین این دستورات می‌توان عبارت‌هایی مشابه با FLWR  نیز مشاهده كرد كه در آن واژگانی همچونForLetWhereReturnN  دیده می‌شوند.)

برنامه‌نویسیXML 
عملاً بسیار از خوانندگان‌بارها كتاب‌ها و منابع دیگر در ارتباط با XML  را مطالعه و یا بررسی كرده‌اند، اما همچنان به كارگیری عملی تكنولوژیXML  در پروژه‌های نرم‌افزاری خود باز می‌مانند. شاید مهم‌ترین علت این موضوع آن باشد كه تقریباً در تمامی كتاب‌های معتبر مرتبط باXML  و تكنولوژی‌های وابسته، سناریوی منابع آموزشی به‌گونه‌ای تنظیم شده است كه بیش از نیمی از كتاب و حتی بیشتر به تشریح مفصل مفاهیمی اختصاص داده می‌شود كه در این مقاله تا این‌جا معرفی شدند.
اما آنچه برای یك برنامه‌‌نویس بیش از هرچیز اهمیت می‌یابد آن است كه مثلاً در محیط‌های گوناگون چگونه می‌توان از‌طریق برنامه‌نویسی به محتویات یك فایل XML  دست‌یافت و روش‌های این‌كار چیستند؟ در صورتی‌كه كسی بخواهد از طریق سناریو‌های متداول منابع آموزشی به چنین مفاهیمی دسترسی یابد، باید برای یك مطالعه برنامه‌ریزی شده و منسجم خود را آماده كند كه در دنیای حرفه‌ای جامعه امروز، كار چندان ساده‌ای تلقی نمی‌شود.
هدف ابتدایی این نوشته آن بوده است كه همین مفاهیم برنامه‌نویسی XML  را تشریح كند و برای تأمین پیش‌نیازهای آن به مقالات قبلی منتشر شده در این زمینه در ارتباط با XML  ارجاع داده شود. اما ترجیح دادیم كه یك‌بار دیگر و با زبانی متفاوت موضوع XML  را به اختصار معرفی كنیم و سپس در شماره دیگری به شرح تفصیلی مقوله برنامه‌نویسی XML  بپردازیم. در نتیجه فقط در اینجا به یك معرفی كوچك اكتفا می كنیم.
به‌طور كلی دو مدل برنامه‌نویسی برای دسترسی به داده‌های XML  مورد استفاده برنامه‌نویسان است كه به DOM  و SAX  معروف هستند.

DOM
از آنجایی‌كه داده‌های معتبرXML  به‌صورت ساختار سلسله مراتبی و درختی از گره‌ها و دیگر المان‌ها نمایش داده می‌شوند، هر گره می‌تواند با استفاده از روش‌های آشنای دسترسی به چنین ساختارهایی در دسترس قرار گیرد. در تكنولوژیDOM ، قاعده بر آن است كه تمام ساختار درختی داده‌های XML  را در حافظه سیستم بارگذاری می‌كنند. بدین ترتیب سرعت دسترسی به داده‌های  XML  افزایش می‌یابد. از طرف دیگر از آنجاییكه فایل‌های XML ‌در كاربردهای جدی، بسیار حجیم هستند، مسأله مدیریت حافظه مجازی (Virtual Memory) تبدیل به یك گلوگاه تكنیكی می‌شود.
رابط‌های برنامه‌نویسی گوناگونی برای دسترسی به اطلاعات XML  در مدل DOM  یا Document Object Model  در محیط‌های مختلف مانند دلفی،VB ،C++ ،C ، جاوا  و دیگر زبان‌های اسكریپتی مانند جاوااسكریپت،Vbscript ،Tcl ، Ruby  و ... فراهم شده‌اند.

SAX
روش دیگر دسترسی به اطلاعاتXML ، همان قرائت ترتیبی (Sequential)  فایل XML  و صادر كردن رویدادهای این عمل است. بدین ترتیب در هنگام خواندن یك فایلXML ،  سلسله‌ای از رویدادهای گوناگون ناشی از رسیدن به انواع گره‌ها و دیگر موجودیت‌های XML  تولید خواهد شد. روش استفاده از چنین رویدادهایی برای برنامه‌نویسی تا حدود زیادی مشابه همان روشی است كه از آن در برنامه‌نویسی رابط‌های گرافیكی كاربر استفاده می‌شود. در روش SAX  یا Simple API for XML  مسأله‌ای به‌نام محدودیت حافظه، حتی در زمان كار با فایل‌های بزرگ XML  ایجاد نخواهد شد.






































































































































































































































































































































































حوزه‌های گوناگون استفاده از XML

MLCD

زبان نشانه‌گذاری برای اسناد پیچیده

GDA

استاندارد حاشیه‌نویسی) (Annotation اسناد

EMELD

ابرداده (Meta Data) الكترونیك برای زبان‌های در معرض خطر


زبان رمزگذاری ویژه زبان‌ها و متون باستانی خاورمیانه

ETCSL

زبان ویژه ادبیات سومری

XSTAR

سیستم مبتنی بر XML برای مطالعات انسان‌شناسی

LEAF

Linking and Exploring Authorithy Files

CDF

فرت تعریف كانال

RSS

RDF Rich Site Summary

OCS

Open Content Syndication

WebML

زبان مدل‌سازی وب

MCF

Meta Content Framework using XML

RDDL

زبان توصیفی فهرست‌های منابع

BiblioML

زبان ویژه اطلاعات كتابداری

CTML

زبان ویژه تجارت كنترل شده

GovML

زبان ویژه كاربردهای دولتی

ParlML

مجموعه‌ای از واژگان متداول در زبان مجلس

JXML

استاندارد اصطلاحات دادگستری

LegalXML

زبان ویژه‌ای در كاربرد فرم‌های دادگاه الكترونیك

EML

زبان نشانه‌گذاری در كاربردهای انتخاباتی

VXML

زبان ویژه در كاربردهای رای‌گیری

CDX

استاندارد انتقال اطلاعات سازمان‌های حفاظت محیطی

VocML

زبان نشانه‌گذاری لغات

XGMML

زبان مدل‌سازی و نشانه‌گذاری قابل‌توسعه گراف‌ها

SGF

فرمت ساختیافته گراف

GXL

زبان تبادل داده گراف‌ها

OSD

زبان توصیفی نرم‌افزارهای اپن‌سورس

LogML

زبان نشانه‌گذاری Log

XMPP

زبان توسعه‌پذیر پیام‌رسانی

IETF

زبان پیام‌رسانی XML

SMSXML

زبان رمز‌گذاری پیام كوتاه (SMS)

XDNL

زبانNavigation در اسناد

MatML

زبان توصیفی خواص مواد

CML

زبان نشانه‌گذاری در كاربردهای فرمول‌نویسی شیمی

MoDL

زبان ویژه توصیف دینامیك مولكولی

NCBI

مدل داده‌ای بیولوژی مولكولی

StarDOM

سیستم‌انتقال اطلاعات علمی به XML

BSML

زبان نشانه‌گذاری بیو‌انفورماتیك

BIOML

زبان نشانه‌گذاری در كاربردهای بیو‌پلیمر

CellML

زبان توصیفی سلولی

GEML

زبان توصیف عبارات ژنتیك

GAME

زبان نشانه‌گذاری در كاربردهای ژنتیك

PROXIML

زبان توصیفی پروتئین

XDELTA

زبان ویژه در كاربردهای مالیاتی

OMF

زبان ویژه برای مشاهدات هواشناسی

OPX

زبان نشانه‌گذاری اطلاعات انسان‌شناسی

OFX

زبان تبادل اطلاعات اقتصادی

FinXML

زبان ویژه دیجیتالی برای بازارهای سرمایه‌گذاری

IRML

زبان نشانه‌گذاری تحقیقات اقتصادی

XFRML

زبان ویژه در كاربردهای گزارش‌های اقتصادی

XBRL

زبان ویژه در كاربردهای Business یا كسب و كار

VRXML

زبان ویژه در كاربردهای گزارش فروشندگان (Vendor Reporting)

MDDL

زبان توصیف داده‌های بازار

WeatherML

زبان نشانه‌گذاری در كاربردهای هواشناسی

swiftML

زبان پیام‌های تجاری

MISMO

زبان ویژه در كاربردهای بانكداری رهنی

IOTP

زبان تجارت آزاد در اینترنت

JAXM

سیستم‌پیام‌رسانی XML در محیط جاوا

JAXR

مجموعه API جاوا برای رجیسترهای XML

DPRL

زبان توصیف مالكیت حقوقی دیجیتال

XrML

زبان توسعه‌پذیر حقوقی

XACML

زبان توصیفی در كاربردهای سیستم‌های كنترل دسترسی

EBX

زبان تبادل اطلاعات كتاب‌های الكترونیك

ITML

زبان نشانه‌گذاری فناوری انفورماتیك

SignedXML

XML در كاربردهای امضای الكترونیك

S2ML

زبان ویژه سرویس‌های امنیتی

IDMEF

زبان ویژه سیستم‌های آشكار‌سازی ورود غیر مجاز

BIPS

زبان ویژه سیستم پرداخت بانكی از طریق اینترنت

SML

زبان ویژه كارت‌های هوشمند

RETML

زبان ویژه در كاربردهای معاملات املاك

ACORD-XML

زبان ویژه صنعت بیمه

SML

زبان ویژه فضا‌پیما‌ها (Spacecraft)

UBL

زبان جهانی تجارت

EmXML

زبان ویژه توصیفی در كاربردهای مدیریت وضعیت‌های اضطراری

MathML

زبان نشانه‌گذاری در كاربردهای ریاضی

OMDoc

زبان استاندارد اسناد ریاضی

SVG

زبان ویژه ذخیره‌سازی اطلاعات گرافیكی

PGML

زبان ویژه در حوزه گرافیك دقیق

VML

زبان توصیفی برداری

IML

زبان توصیف تصویر

VRML

زبان ویژه در مدل‌سازی واقعیت مجازی

WIDL

زبان ویژه توصیف رابط‌های اینترنتی (Web Interface)

tXML

زبان ویژه در كاربردهای حمل‌و‌نقل

PML

زبان نشانه‌گذاری فیزیكی

xNL,xAL

زبان ویژه توصیف نام و نشانی

HEML

زبان ویژه توصیف رویدادهای تاریخی

tML

زبان نشانه‌گذاری ویژه كاربردهای مخابراتی

bcXML

زبان نشانه‌گذاری توسعه‌پذیر ساخت سازه‌های عمرانی

EDA

XML و اتوماسیون طراحی الكترونیك

UXF

فرمت تبادل داده UML

JAXB

معماری جاوا برای اتصال XML

XLIFF

فرمت فایل تبادل داده‌های Localization در قالب XML

NewsXML

XML در كاربردهای خبررسانی

RDF

چهارچوب توصیفی منابع

RoboML

زبان نشانه‌گذاری در كاربردهای رباتیك

CBML

زبان ویژه Case Based

DLML

زبان ویژه توصیف منطق

AIML

زبان ویژه كاربردهای هوش‌مصنوعی

PhysicsML

زبان ویژه كاربردهای فیزیكی

PML

زبان نشانه‌گذاری Procedural

PIF-XML

Process Interchange Format

QAML

زبان ویژه پرس‌و جو

GML

زبان ویژه كاربردهای جغرافیایی

XMML

زبان ویژه كاربردهای معادن و اكتشاف

NVML

زبان ویژه ناوبری و هدایت

XSIL

زبان ویژه تبادل اطلاعات علمی

AstroXML

زبان ویژه در كاربردهای ستاره‌شناسی

AIML

زبان ویژه توصیف تجهیزات ستاره‌شناسی

SPACE XML

زبان ویژه كاربردهای علوم فضایی

GedML

XML در اطلاعات شجره‌نامه‌ای

NAA-XML

زبان ویژه برای توصیف اطلاعات آگهی‌های تجاری در روزنامه‌ها

AdMakup

زبان ویژه توصیف تبلیغات

NITF

فرمت متنی صنعت خبری (News Industry)

SportsML

زبان ویژه كاربردهای ورزشی

CFML

زبان ویژه اختصاصی نرم‌افزار ColdFusion

XPP

زبان ویژه برای ناشرین و چاپخا




لینک ثابت || اضافه شده توسط آرش کریم بیگی|| نسخه قابل چاپ || بازگشت به صفحه اصلی || آرش کریم بیگی

برای عضویت در خبرنامه پیامکی ایستنا اینجا را کلیک کنید. برای عضوریت در خبرنامه روزانه ایمیلی ایستنا؛ نشانی پست الکترونیکی خود را در فرم زیر وارد نمایید. پس از آن به صورت خودکار ایمیلی به نشانی شما ارسال میشود، برای تکمیل عضویت خود و تایید صحت نشانی پست الکترونیک وارد شده، می بایست بر روی لینکی که در این ایمیل برایتان ارسال شده کلیک نمایید. پس از آن پیامی مبنی بر تکمیل عضویت شما در خبرنامه روزانه  ایمیلی ایستنا نمایش داده میشود.


فهرست آخرین عناوین

 
    تبليغات  
 







 
  سفارش آگهی