تبلیغات
آموزشASP.NET - XSD چیست ؟( بخش سوم )




نوع مطلب :
برچسب ها :
لینک های مرتبط :

یکشنبه 26 شهریور 1396 04:25 ق.ظ
Good way of explaining, and nice article to obtain information about my presentation focus, which
i am going to present in university.
چهارشنبه 15 شهریور 1396 03:44 ب.ظ
Right away I am ready to do my breakfast, once having my breakfast coming
yet again to read other news.
چهارشنبه 1 شهریور 1396 01:44 ب.ظ
you're in point of fact a just right webmaster. The website loading pace is amazing.

It kind of feels that you're doing any distinctive trick.
Also, The contents are masterpiece. you have done a great job on this matter!
 
فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
دوشنبه 23 اسفند 1389 :: نویسنده : ارش کاکاوند
در بخش اول این مقاله به بررسی  مقاهیم و جایگاه نکنولوژی XSD اشاره  و در بخش دوم به بررسی  بررسی  گرامر XSD   پرداخته گردید . در این بخش به بررسی انواع داده ساده ( simple type ) و مرکب ( complex type ) ، خواهیم پرداخت .

انواع داده ( ساده ، مرکب ) 
جهت توصیف داده ها در یک سند XML با استفاده از تکنولوژی XSD ، از دو نوع  ساده و مرکب استفاده می گردد که بمنظور بکارگیری آنان در گرامر XSD  ، نشانه هائی با همین عنوان یعنی <SimpleType> و <ComplexType>  در نظر گرفته شده است . قبل از تشریح هر یک از موارد فوق ، لازم است جایگاه استفاده از هر یک بدرستی مشخص گردد .

نوع داده مرکب <ComplexType> زمانی استفاده میگردد که :

  • عنصر داده  دارای عناصر زیر مجموعه باشد  و/  یا .

  • عنصر داده دارای خصائص (Attribute) باشد .

نوع داده ساده <SimpleType> زمانی استفاده میگردد که :

    • تصمیم داریم با اعمال شرایط و یا محدودیتهائی بر روی یک نوع داده استاندارد (مثل String) یک نوع داده جدید (User Define Data Type) ایجاد نمائیم  و / یا

    • عنصر مورد نظر دارای عناصر زیر مجموعه و یا خصائص (Attribute) نمی باشد.

    بمنظور آشنائی با برخی از مفاهیم اولیه در این خصوص ، مجددا" به مثال ارائه شده در بخش دوم مقاله ، مراجعه می نمائیم .

    یک سند 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 دارای دو زیر عنصر ID و GPA است. بنابراین می بایست عنصر Student بصورت مرکب توصیف گردد. بدین منظور لازم است پس از توصیف عنصر مربوطه و پیش از توصیف عناصر زیر مجموعه آن از نشانه <ComplexType> استفاده شده  و در ادامه عناصر زیر مجموعه را درون بلاکی  از این نشانه قرار دهیم.( خطوط چهارم و نهم )
    فرض کنید ، می خواهیم بر روی عنصر GPA که از نوع استاندارد String است ، محدودیتی خاص را اعمال نمائیم،  بطوریکه طول آن چهار حرف  و فرمت آن به صورت (Digit.DigitDigit) باشد .بمنظور تامین خواسته فوق ، لازم است یک نوع داده جدید با لحاظ نمودن محدودیت اشاره شده ، بر روی نوع داده استاندارد String تعریف گردد . با توجه به ضرورت تعریف یک نوع داده جدید ، می بایست از نشانه <SimpleType> استفاده گردد . تشریح نوع داده جدید بر اساس تکنولوژی XSD ، بصورت زیر خواهد بود. ( در مقالات بعد، بصورت مفصل تر به بررسی اعمال  محدودیت ، ارزش ها و الگوهای مختلف ، پرداخته خواهد شد ).

    تعریف یک نوع داده ساده با اعمال محدودیت

    <XSD:simpletype  name="studentgpa"  minoccurs="1"   maxoccurs="1">
         <XSD:restriction  base="XSD:string">
               <XSD:length  value="4"/>
               <XSD:pattern value="\d{1}.\d{2}"/>
         </XSD:restriction>
    </XSD:simpletype>

    با توجه به تعریف نوع ساده مورد نظر و لحاظ نمودن محدودیت های مربوطه ، سند XSD مثال قبل به شکل ذیل خواهد بود :

    یک سند 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="StudentGpa"/>
                        </XSD:Sequence>
                    </XSD:ComplexType>
                </XSD:Element>
    <XSD:simpletype  name="studentgpa"  minoccurs="1"   maxoccurs="1">
         <XSD:restriction  base="XSD:string">
               <XSD:length  value="4"/>
               <XSD:pattern value="\d{1}.\d{2}"/>
         </XSD:restriction>
    </XSD:simpletype>                                                                                                          
          </XSD:Schema>

    سند فوق، به شکل زیر نیز می تواند ارائه گردد :

    یک سند 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="string"  minoccurs="1" maxoccurs="1"/>
                         
     <XSD:simpletype >
                              <XSD:restriction  base="XSD:string">
                                   <XSD:length  value="4"/>
                                   <XSD:pattern value="\d{1}.\d{2}"/>
                              </XSD:restriction>
                          </XSD:simpletype>                                                                                                          
                        </XSD:Sequence>
                    </XSD:ComplexType>
                </XSD:Element>
    </XSD:Schema>

    تفاوت موجود در ارتباط با هر یک از روش های ارائه شده به قابلیـت استفاده مجدد از نوع تعریف شده برمی گردد. در حالت اول،  نوع داده جدید studentgpa را میتوان در هر محلی از سند (در تشریح هر یک از عناصر دیگر ) استفاده کرد (قابلیت استفاده مجدد). در حالت دوم، نوع تعریف شده صرفا" بر روی عنصر GPA اعمال و امکان استفاده مجدد از وجود نخواهد داشت (غیر قابل استفاده مجدد) .

    جمع بندی
    بمنظور تشریح عناصر ( نوع ساده و یا نوع مرکب ) ، از سه روش متفاوت استفاده می گردد : 

    • روش اول : میتوان در یک خط نام عنصر و نوع آن و حداقل و حداکثر حضور آن در سند را تعیین نمود .در واقع روش فوق ، علیرغم اینکه از نشانه <Simpletype> استفاده  نشده است ، یک عنصر ساده را تشریح می نماید.چرا که نوع داده این نوع عناصر از انواع داده استاندارد بوده و در انتهای خط نیز توصیف با علامت " / " خاتمه یافته است . توصیف عناصر ID و GPA در مثال ابتدای مقاله از مصادیق این روش توصیف عناصر است .

      <XSD:element name="name"  Type="type"  minoccurs="int"  maxoccurs="int"/>

    • روش دوم : در این روش نام عنصر، حداقل و حداکثر حضور آن در سند به عنوان عنصر مادر تشریح شده و سپس عناصر زیر مجموعه آن در داخل یک بلاک <Complextype> تعیین میگردند . این نوع توصیف در  خصوص انواع داده مرکب یعنی عناصری که دارای زیر مجموعه و یا خصائص (attribute) میباشند، استفاده می گردد . توصیف عنصر Student در مثال ابتدای مقاله از مصادیق این روش است .

      تعریف یک نوع مرکب

       <XSD:Element Name="name" Minoccurs="int" MaxOccurs="int">
           <XSD:ComplexType>
                .
                .
                .
           </XSD:ComplexType>
      </XSD:Element>

    • روش سوم : در این روش نام عنصر ، حداقل و حداکثر حضور آن در سند توصیف و سپس محدودیت اعمال شده بر روی نوع داده استاندارد در یک بلوک <Simpletype> جهت تعریف یک نوع داده جدید،  توصیف میگردد. در واقع روش فوق، نوع دیگر توصیف انواع داده ساده Simpletype  بوده  که با اعمال محدودیت بر روی یکی از انواع داده استاندارد ایجاد شده است . تعریف studentgpa در مثال قبل از مصادیق بکارگیری این روش در توصیف عناصر است.

      تعریف یک نوع ساده

      <XSD:element  name = "name"  minoccurs="int"  maxoccurs="int" />
            <XSD:simpletype>
                 <XSD:restriction>
                       .
                       .
                       .
                 </XSD:restriction>
            </XSD:simpletype>
      </XSD:element>

     توانائی ایجاد انواع داده جدید با اعمال محدودیت بر روی انواع داده استاندارد از ویژگیهای بسیار مهم و توانمند تکنولوژی XSD میباشد .
    در بخش چهارم این مقاله به بررسی خصلت ها ، خواهیم پرداخت .

 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


درباره وبلاگ

سلام من آرش کاکاوند دانشجوی رشته کامپیوتر هستم و ورود شما رابه دنیای aspخوش امدمیگم.حتما نظر بدین تا من کارم رو بهتر ادامه بدم

مدیر وبلاگ : ارش کاکاوند
مطالب اخیر
آرشیو وبلاگ
پیوندهای روزانه
نویسندگان
صفحات جانبی
نظرسنجی
شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








برچسبها
جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :