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

 

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
ارسال توسط dlp

ورود کاربران

خوش آمدید! لطفا وارد حساب خود شوید

رمز عبور را فراموش کرده‌اید؟
حساب کاربری ندارید؟

فراموشی رمز عبور

نام کاربری یا ایمیل خود را وارد کنید

یا

ثبت نام کاربران

در چند ثانیه حساب کاربری خود را بسازید

قبلا ثبت نام کرده‌اید؟

نظرات کاربران

دیدگاه خود را با ما در میان بگذارید