XML برای برنامه نويسان VB و ASP ( بخش دوم )
در بخش اول اين مقاله با مفاهيم اوليه تکنولوژی XML آشنا شديم . در بخش دوم به بررسی DTDs and XML-Data Schemas خواهيم پرداخت .
Document Type Definition ) DTD)
قبل از بررسی تکنولوژی DTD و Schema ذکر موارد زير مفيد خواهد بود :
-
مولفين سندهای XML می توانند ساختار دلخواه و مورد نظر خود را برای تشريح داده های مربوطه ايجاد نمايند .
-
يک مولف سندهای XML ، نمی تواند اين اطمينان را داشته باشد که ساختار ايجاد شده برای سند ها ، توسط ساير مولفين سندهای XML تغيير نمی نمايد .
-
ما بدنبال روشی هستيم که اين اطمينان را ايجاد نمايد که تغيير تصادفی ساختار يک سند XML تحقق پيدا نخواهد کرد .
-
DTD ، روشی برای تشريح و مسنتد سازی ساختار استفاده شده در يک سند XML است . برای اعبتار سنجی يک سند XML وجود DTD ضرورت دارد ( ممکن است از تکنولوژی مشابه استفاده گردد )
-
مولفين سندهای XML ، با استفاده از مجموعه ای قوانين که نوشته خواهند شد ، يک سند XML را معتبر می نمايند .
-
يک سند XML ، زمانی " خوش شکل" ناميده می شود که گرامر مربوط به XML در آن رعايت شده باشد. صرف "خوش شکل " بودن يک سند XML ، بمنزله معتبر بودن آن نيست .
-
با استفاده از DTD ، المان های مورد نياز يک سند XML تعريف ، المان های اختيار ی ، تعداد دفعات تکرار يک المان و ترتيب المان ها از لحاظ استقرار در يک سند XML مشخص می گردد.
-
DTD ممکن است نوع داده های موجود در سند XML را نيز مشخص نمايد .( مشخص نمودن نوع در رابطه با المان و خصلت ها صدق خواهد کرد ) .
-
DTD بعنوان بخشی از استاندارد XML بوده که توسط کنسرسيوم وب ارائه شده است .
-
در زمان اعتبار سنجی يک سند XML از طريق يک DTD و بکمک بخش اعتبار سنجی پارسر ، سند XML بمنظور تشخيص حضور تمام المان ها و عدم تعريف يک المان بررسی خواهد شد . ساختار سلسله مراتبی المان ها ی تعريف شده در DTD نيز بررسی خواهد شد . مقدار تمامی خصلت ها نيز بمنظور اطمطنان از صحت موارد اعلام شده با مشاهده شده ، نيز کنترل می گردد .
-
هر نوع اطلاعات لازم در خصوص يک سند XML ( از بالا تا پايين يک سند ) توسط DTD تعريف و معتبر خواهد شد .
-
يک DTD می تواند بصورت داخلی و يا خارجی استفاده گردد . در مدل داخلی ، اطلاعات مربوط به DTD بهمراه سند XML قرار گرفته و يک فايل را تشکيل خواهند داد ( سند XML و DTD مربوطه ) . در مدل خارجی ، اطلاعات مربوط به DTD در يک فايل مجزا و با انشعاب dtd ذخيره و در سند XML مربوطه به آن مراجعه خواهد شد .
-
در صورت تعريف يک DTD بصورت خارجی ، امکان مراجعه به آن توسط سندهای XML متعددی وجود خواهد داشت . با توجه به گفته فوق ، استفاده از روش فوق دارای مزايای عمده نسبت به حالتی است که DTD را بصورت داخلی و همراه با سند XML استفاده نمائيم .
-
برای برنامه هائی که اطلاعات خود را بصورت XML مبادله می نمايند ، DTD مهم خواهد بود .
-
يک نمونه DTD داخلی
|
مثال : يک نمونه DTD داخلی |
|
|
-
يک نمونه DTD خارجی
|
مثال : يک نمونه DTD خارجی |
|
|
سندهای XML ، می توانند شامل يک DTD اختياری باشند . سندهای XML از گزينه فوق بمنظور تضمين فرمت مشخص شده استفاده می نمايند. مثال زير يک سند XML بهمراه DTD آن را نشان می دهد . سند XML در بخش اول مقاله ارائه شده است . در مثال فوق DTD بصورت داخلی و همراه سند استفاده شده است .
|
مثال : يک سندXML بهمراه DTD مربوطه |
|
|
يکی ديگر از روش های استفاده از DTD در يک سند XML ، بصورت خارجی است . در اين حالت اطلاعات مربوط به DTD در يک فايل مجزا و با انشعاب dtd ذخيره و در ادامه در سند XML به آن مراجعه می گردد .
|
مثال : بخش آغازين يک سندXML و نحوه استفاده از DTD بصورت خارجی |
|
|
سندهای XML خوش شکل و معتبر
يک سند "خوش شکل" XML ، سندی است که دارای گرامر صحيح و تعريف شده در رابطه با XML باشد . گرامر مربوطه در قالب مجموعه ای از قوانين مشخض شده است . برخی از اين قوانين عبارتند از :
-
سند می بايست دارای يک و يا چند المان باشد .
-
سند می بايست دارای يک المان ريشه بوده که ساير عناصر با يک ساختار مناسب ( تودر تو ) به آن متصل می گردند .
-
تمام المان های موجود در سند می بايست دارای تگ شروع و پايان باشند .
يک سند "خوش شکل" XML که شامل يک DTD ( داخلی و يا خارجی ) می باشد ، بعنوان يک سند معتبر در نظر گرفته خواهد شد . پارسر XML ( پردازنده نيز ناميده می شود ) با استفاده از يک DTD قادر به معتبر نمودن يک سند XML خواهد بود . بررسی جزئيات مربوط به تکنولوژی DTD از حوصله اين مقاله خارج است .
XML-Data and Schema
DTD دارای محدوديت و مسائل خاص خود می باشد :
-
برای نوشتن DTD لازم است که با يک زبان جديد آشنا شويم .
-
DTD انتظارات لازم در خصوص نوع داده ها را بخوبی تامين نمی نمايد .
-
DTD قابليت بسط و توسعه را ندارد .
XML-Data ، با هدف حل مشکلات فوق ايجاد شده است . XML-Data يک زبان مبتنی بر XML بوده که از آن بمنظور تشريح پيش نويس (Schema) يک سند استفاده می گردد . زبان فوق ، بسط پذير، انعطاف پذير و قدرتمند است . فايل های Schema با انشعاب xsd ذخيره می گردند . فايل های Schema خود بمنزله سندهای XML بوده و المان ريشه آنان Schema نام دارد . در ابتدای فايل های Schema ، می بايست namespace مربوطه تعريف گردد . جدول زير XML-Data Schema ، معادل DTD ارائه شده در مثال قبل را نشان می دهد :
|
مثال : XML-Data Schema مربوط به سند XML |
|
|
بررسی جزئيات تکنولوژی Schema از حوصله اين مقاله خارج است .
آيا معتبر سازی يک سند ، ضرورت دارد ؟
در صورتيکه سندهای XML دارای يک حيات طولانی بوده و يا از آنها بمنظور مبادله اطلاعات بين سيستم ها و برنامه های متفاوت استفاده می گردد ، لازم است که معتبر سازی يک سند XML بکمک DTD و يا Schema انجام گيرد . در صورتيکه از سند های XML برای ارسال اطلاعات بين لايه های متفاوت يک برنامه سه لايه استفاده می گردد ، ضرورتی به معتبر ساری يک سند XML نخواهد بود . اگر قصد ايجاد تعداد زيادی از سندهای معتبر را داشته باشيد ، می توان يک ابزار مناسب بمنظور ايجاد DTD و يا Schema را تهيه نمود .
