دهلران پی سی
سایت جامع علمی ,آموزشی,فرهنگی و تفریحی

 

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 داخلی


       
    ]>


     Internal  DTD

  • يک نمونه  DTD خارجی

مثال :  يک نمونه  DTD خارجی




   External  DTD

سندهای XML ، می توانند شامل يک DTD اختياری باشند . سندهای XML از گزينه فوق بمنظور تضمين فرمت مشخص شده استفاده می نمايند. مثال زير يک سند XML بهمراه DTD آن را نشان می دهد . سند XML  در بخش اول مقاله ارائه شده است . در مثال فوق DTD بصورت داخلی  و همراه سند استفاده شده است .

مثال :  يک سندXML بهمراه DTD مربوطه




type (Laptop|Desktop) "Desktop"
brand CDATA #IMPLIED
model CDATA #IMPLIED>









brand CDATA #IMPLIED>


]>




300 Mhz Pentium II
128 MB

9 MB Hard Disk
1.4 MB Floppy Disk
CD-ROM

14 inch active matrix LCD panel
Toshiba internal V.90
Xircom Cardbus Ethernet II 10/100



black
vinyl

 

يکی ديگر از روش های استفاده از DTD در يک سند XML  ، بصورت خارجی است . در اين حالت اطلاعات مربوط به DTD در يک فايل مجزا و با انشعاب dtd ذخيره و در ادامه در سند XML به آن مراجعه می گردد .

 

مثال :  بخش آغازين يک سندXML  و نحوه  استفاده از DTD بصورت خارجی




       
....  
mycomputer>

 

سندهای 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



     
     
     


    
    
    
    
    
    


           xmlns:dt="urn:schemas-microsoft-com:datatypes"
      dt:type="enumeration" dt:values="Laptop Desktop"
      default="Desktop"/>
    
    
    
    
    

   
   
   
      

   
   
   
   
   
   
       
       


   
   



بررسی جزئيات تکنولوژی  Schema از حوصله اين مقاله خارج است .

 

آيا معتبر سازی يک سند ، ضرورت دارد ؟

 

در صورتيکه سندهای XML  دارای يک حيات طولانی بوده و يا از آنها بمنظور مبادله اطلاعات بين سيستم ها و برنامه های متفاوت استفاده می گردد ، لازم است که معتبر سازی يک سند XML بکمک DTD و يا Schema انجام گيرد . در صورتيکه از سند های XML برای ارسال اطلاعات بين لايه های متفاوت يک برنامه سه لايه استفاده می گردد ، ضرورتی به معتبر ساری يک سند XML نخواهد بود .  اگر قصد ايجاد تعداد زيادی از سندهای معتبر را داشته باشيد ، می توان يک ابزار مناسب بمنظور ايجاد DTD و يا Schema را تهيه نمود .




تاریخ: سه‌شنبه 13 فروردین 1392
ارسال توسط هادی احمدی

💬 نظرات کاربران
💬ثبت نام کاربران
💬ورود کاربران