بررسی گرامر XSD New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 سه شنبه  5  ارديبهشت  1396  2017  Apr.  25   Tuesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 XSD چيست ؟ ( بخش دوم )

 مديريت نرم افزار

8532

14

4.3

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

XSD چيست ؟)بخش دوم )

XSD چيست ؟( بخش دوم )
در بخش اول  اين مقاله ، به  بررسی ضرورت استفاده از XSD و معرفی برخی از ويژگی های آن اشاره گرديد، در بخش دوم به بررسی  گرامر XSD  خواهيم پرداخت .

گرامر XSD
برای تشريح گرامر XSD ،در ابتدا به  ذکر يک مثال پرداخته و سپس المانهای موجود در آن  تشريح می گردد. جدول زير نمونه سند XML  را نشان می دهد :

يک سند نمونه XML

<?XML Version = "1.0"?>
     <Students>
           <Student>
                  <ID>12345</ID>
                  <GPA>3.5</GPA>
            </Student>
            <Student>
                  <ID>67890</ID>
                  <GPA>4.0</GPA>
            </Student>
      </Students>

توصيف سند فوق، بر اساس متد XSD بصورت زير است :

توصيف سند XML با استفاده از متد XSD

<?XML Version = "1.0"?>
     <XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
           <XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded"/>
               <XSD:ComplexType>
                    <XSD:Sequence>
                    <XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
                    <XSD:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
                    </XSD:Sequence>
                </XSD:ComplexType>
            </XSD:Element>
      </XSD:Schema>

در ادامه با توجه به سند XML اشاره شده  وXSD مربوطه ، به تجزيه و تحليل توصيف تعريف شده خواهيم پرداخت .

اعلاميه XML
با توجه به اينکه XSD خود يک سند XML است ، پس خط اول آن ميتواند يک اعلاميه XML باشد . (به خط اول توصيف تعريف شده XSD توجه نمائيد )

<?XML Version = "1.0"?>

المان ريشه  در توصيف XSD
المان ريشه در يک سند XSD ،همواره با تگ  <Schema> مشخص می گردد . بمنظور اعلام به پارسر XML که توصيف ارائه شده از روش XSD تبعيت می نمايد ، لازم است Namespace مرجع در المان <schema> تعيين گردد. Namespace  فوق  توسط کنسرسيوم وب ارائه شده  است .(به خط دوم توصيف تعريف شده XSD توجه نمائيد )

 

    <XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
            .
            .
            .
      </XSD:Schema>

نکته : پيشوند  XSD که در مثال فوق از آن استفاده شده است، نشاندهنده متد بکارگرفته شده  بمنظور توصيف سند است . پيشوند فوق ، در صورت تعريف در NameSpace مرجع ، می تواند هر چيز ديگری را نيز شامل شود . همچنين اگر NameSpace مربوطه بصورت پيش فرض مشخص گردد ، می توان آن را حذف نمود. پيشنهاد می گردد بمنظور افزايش خوانائی سند و همچنين جلوگيری از مشکلات آتی خصوصا" زمانی که در توصيف مربوطه از توصيف ديگری استفاده ميگردد، ( Import)  حتما" از پيشوند فوق ، استفاده گردد .

عناصر (Elements)
المان ها ، مهمترين بخش در يک سند XSD می باشند . جهت معرفی هر المان می بايست خصلت های زير تعريف گردند .

  • Name :  خصلت اجباری فوق ، نام عنصر مورد نظر را مشخص می نمايد .

  • Type : خصلت فوق ، نوع داده (Data Type) عنصر  مورد نظر را مشخص و می تواند ساده نظير  String  و يا از انواع داده مرکب باشد .

  • MinOccurs : خصلت  فوق،اختياری بودن يا اجباری بودن عنصرمورد نظر  را مشخص می نمايد. اين خصلت اجباری نبوده و در صورت عدم مقدار دهی ، بصورت پيش فرض عدد يک برای آن در نظر گرفته خواهد شد . جدول ذيل مقادير مختلف خصلت فوق را نشان می دهد.

توضيحات

مقدار نسبت داده شده

عنصر اختياری است

0

عنصر بايد حداقل به تعداد مشخص شده در سند وجود داشته باشد

Integer > 0

  • MaxOccurs  : خصلت فوق، تعداد مجاز عنصر در سند را مشخص می نمايد. اين خصلت نيز اجباری نبوده و در صورت عدم مقدار دهی ،بصورت پيش فرض عدد يک برای آن در نظر گرفته خواهد شد . جدول ذيل مقادير مختلف خصلت فوق را نشان می دهد.

توضيحات

مقدار نسبت داده شده

عنصر فقط می تواند به اندازه عدد مشخص شده در سند وجود داشته باشد

Integer > 0

محدوديتی در ظهور عنصر در سند وجود ندارد

Unbounded

تگ  Sequence
اين تگ(نشانه) زمانی استفاده می گردد، که توالی عناصر در سند برای ما اهميت داشته باشد. از نشانه فوق، فقط در تعريف عناصر مرکب (عناصری که بيش از يک جزء داشته باشند) ميتوان استفاده نمود ، در چنين حالتی  محل قرارگيری آن  می بايست قبل از تعريف اجزاء مربوطه باشد .
با توجه به توضيحات فوق و مشاهده مجدد سند توصيفی نمونه، آناليز سند XML مربوطه به شرح ذيل خواهد بود .

توصيف سند XML با استفاده از متد XSD

<?XML Version = "1.0"?>
     <XSD:Schema xmlns:xsd='http://www.W3.org/2001/xmlschema'>
           <XSD:Element Name="student" Minoccurs="0" MaxOccurs="Unbounded"/>
               <XSD:ComplexType>
                    <XSD:Sequence>
                    <XSD:Element Name="ID" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
                    <XSD:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
                    </XSD:Sequence>
                </XSD:ComplexType>
            </XSD:Element>
      </XSD:Schema>

  • اين سند شامل عناصری است به نام Student که يا اصلا" در سند وجود ندارد و يا به هر تعداد ممکن است وجود داشته باشد چراکه MinOccurs آن برابر صفر است و MaxOccurs  آن برابر Unbounded .

  • عنصر Student ، شامل دو زير عنصر به نامهای ID و GPA و از نوع String بوده و هرکدام فقط ميتوانند يک بار در سند ظاهر شوند چرا که MinOccurs و MaxOccurs آنها برابر يک است (در مثال فوق ،در صورت حذف خصلت های MinOccurs و MaxOccurs مربوط به توصيف عناصر ID و GPA  ،هيچ تغييری در ماهيت توصيف ايجاد نمی شود، چرا که مقادير پيش فرض آنها  برابر يک است ).

  • عناصر ID و GPA در سند بايد به صورت پشت سرهم بيايند چرا که در توصيف سند از نشانه Sequence استفاده شده است .

 در بخش سوم اين مقاله، به بررسی نوع های ساده (SimpleType) و نوع های مرکب (ComplexType)  در XSD  خواهيم پرداخت .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382