大家都知道酒酿蛋是非常传统的美胸食品产后丰胸产品,醪糟也叫酒酿,是由糯米或者大米经过酵母发酵而制成的一种风味食品,其产热量高,富含碳水化合物丰胸产品燕窝酒酿蛋、蛋白质、b族维生素、矿物质等,这些都是人体不可缺少的营养成分酒酿蛋丰胸方法。其中酒酿中含的醣化酵素,能促进乳房的二次发育,具有美胸的作用燕窝酒酿蛋丰胸
XML برای برنامه نويسان VB و ASP ( بخش دوم )
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

XML برای برنامه نويسان VB و ASP ( بخش دوم )

XML برای برنامه نويسان VB و ASP ( بخش دوم )

در بخش اول اين مقاله با مفاهيم اوليه تکنولوژی XML آشنا شديم . در بخش دوم به بررسی DTDs and XML-Data Schemas خواهيم پرداخت .

Document Type Definition DTD)

قبل از بررسی  تکنولوژی DTD  و Schema  ذکر موارد زير مفيد خواهد بود :

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

<?xml version="1.0"?>
    <!DOCTYPE message [
    <!ELEMENT message (#PCDATA)>
    ]>

<message>
     Internal  DTD
</message>

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

<?xml version="1.0"?>
<!DOCTYPE message SYSTEM "message.dtd">
<message>
   External  DTD
</message>

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

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

<?xml version="1.0"?>
<!DOCTYPE mycomputer [
<!ELEMENT mycomputer (pc, docking_station, case)>
<!ELEMENT pc (processor, ram, drives, display,modem, network)>
<!ATTLIST pc
type (Laptop|Desktop) "Desktop"
brand CDATA #IMPLIED
model CDATA #IMPLIED>
<!ELEMENT processor (#PCDATA)>
<!ELEMENT ram (#PCDATA)>
<!ELEMENT drives (drive*)>
<!ELEMENT drive (#PCDATA)>
<!ELEMENT display (#PCDATA)>
<!ELEMENT modem (#PCDATA)>
<!ELEMENT network (#PCDATA)>
<!ELEMENT docking_station (#PCDATA)>
<!ELEMENT case (color, fabric)>
<!ATTLIST case
brand CDATA #IMPLIED>
<!ELEMENT color (#PCDATA)>
<!ELEMENT fabric (#PCDATA)>
]>


<mycomputer>
<pc type="Laptop" brand="Toshiba" model="Tecra 8000">
<processor>300 Mhz Pentium II</processor>
<ram>128 MB</ram>
<drives>
<drive>9 MB Hard Disk</drive>
<drive>1.4 MB Floppy Disk</drive>
<drive>CD-ROM</drive>
</drives>
<display>14 inch active matrix LCD panel</display>
<modem>Toshiba internal V.90</modem>
<network>Xircom Cardbus Ethernet II 10/100</network>
</pc>
<docking_station/>
<case brand="USL">
<color>black</color>
<fabric>vinyl</fabric>
</case>
</mycomputer>

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

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

<?xml version="1.0"?>
<!DOCTYPE mycomputer SYSTEM "mycomputer.dtd">
<mycomputer>
       
....  
</mycomputer>

سندهای XML خوش شکل و معتبر

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

يک سند "خوش شکل"  XML  که شامل يک DTD ( داخلی و يا خارجی ) می باشد ، بعنوان يک سند معتبر در نظر گرفته خواهد شد . پارسر XML ( پردازنده نيز ناميده می شود ) با استفاده از يک DTD قادر به معتبر نمودن يک سند XML خواهد بود .  بررسی جزئيات مربوط به تکنولوژی DTD از حوصله اين مقاله خارج است .

XML-Data and Schema

DTD دارای محدوديت و مسائل خاص خود می باشد :

XML-Data ، با هدف حل مشکلات فوق ايجاد شده است . XML-Data يک زبان مبتنی بر XML بوده که از آن بمنظور تشريح  پيش نويس (Schema) يک سند استفاده می گردد . زبان فوق ، بسط پذير، انعطاف پذير و قدرتمند است . فايل های Schema با انشعاب xsd ذخيره می گردند .  فايل های Schema خود بمنزله سندهای XML بوده و المان ريشه آنان Schema نام دارد . در ابتدای فايل های Schema  ، می بايست namespace مربوطه تعريف گردد . جدول زير XML-Data Schema ،  معادل DTD ارائه شده در مثال قبل را نشان می دهد :

مثال :  XML-Data Schema   مربوط به سند XML

<schema xmlns = "http://www.w3.org/2001/XMLSchema">
<ElementType name="mycomputer" content="eltOnly" order="seq">
      <element type="pc"/>
      <element type="docking_station"/>
      <element type="case"/>
</ElementType>
<ElementType name="pc" content="eltOnly" order="seq">
     <element type="processor"/>
     <element type="ram"/>
     <element type="drives"/>
     <element type="display"/>
     <element type="modem"/>
     <element type="network"/>
</ElementType>
<ElementType name="pc">
     <AttributeType name="type"
      xmlns:dt="urn:schemas-microsoft-com:datatypes"
      dt:type="enumeration" dt:values="Laptop Desktop"
      default="Desktop"/>
     <AttributeType name="brand" required="no"/>
     <AttributeType name="model" required="no"/>
     <attribute type="type"/>
     <attribute type="brand"/>
     <attribute type="model"/>
</ElementType>
    <ElementType name="processor" content="textOnly"/>
    <ElementType name="ram" content="textOnly"/>
    <ElementType name="drives" content="eltOnly">
       <element type="drive" minOccurs="0" maxOccurs="*"/>
</ElementType>
    <ElementType name="drive" content="textOnly"/>
    <ElementType name="display" content="textOnly"/>
    <ElementType name="modem" content="textOnly"/>
    <ElementType name="network" content="textOnly"/>
    <ElementType name="docking_station" content="textOnly"/>
    <ElementType name="case" content="eltOnly" order="seq">
        <element type="color"/>
        <element type="fabric"/>
</ElementType>
<ElementType name="case">
    <AttributeType name="brand" required="no"/>
    <attribute type="brand"/>
</ElementType>
<ElementType name="color" content="textOnly"/>
<ElementType name="fabric" content="textOnly"/>
</Schema>

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

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

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

در بخش سوم اين مقاله به بررسی XML Document Object Model  خواهيم پرداخت .


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir