نحوه تعريف Attribute New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

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

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 XSD چيست ؟( بخش چهارم)

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

10537

6

3.5

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

 

XSD چيست ؟

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

در تشريح ساختار داده های يک موجوديت (Entity)  ، برخی مواقع  به اجزاء  و يا المانهائي برخورد خواهيم کرد  که ارتباط تنگاتنگی با موجوديت داشته و بنوعی بعنوان يک خصلت يا ويژگی موجوديت مورد بررسی ، شناخته می گردند.نحوه حضور اين اجزاء در ساختمان داده موجوديت از قبيل مقادير پيش فرض،مقادير ثابت يا خصلت تغيير ناپذيری از ويژگی های مهم اين اجزاء محسوب می گردند . بعنوان مثال فرض کنيد در يک سازمان بزرگ برای تشکيل پرونده پرسنل، از يک  فيلد اطلاعاتي با  نام مليت  استفاده می شود.بيش از 98 درصد پرسنل شرکت مزبور دارای مليت ايرانی بوده  و تنها ممکن است يک  و يا دو درصد از پرسنل ، مليت غير ايرانی داشته باشند.با توجه به وضعيت فوق ، می توان  فيلد مليت  را به صورت پيش فرض مقدار دهی  و از تکرار آن در سند XML مربوطه جلوگيری  و صرفا" مليت افراد غير ايرانی  را در سند مشخص نمود. در چنين مواردی علاوه بر حفظ يکپارچگی اطلاعات به مقدار زيادی در حجم اطلاعات سند XML  نيز صرفه جوئی خواهد شد . در تکنولوژی  XSD برای معرفی اينگونه اجزاء ، نشانه ای تحت عنوان <Attribute> پيش بينی  شده است . گرامر استفاده از attribute بصورت زير است :

گرامر استفاده از attribute

<XSD:attribute Name="name" Type="simple type"  Use="how used"  Value="value"/>

Name : نام Attribute را مشخص  و يک خصلت اجباری است .
Type : نوع داده attribute را مشخص و جزء خصلت های اجباری است ( نوع داده حتما" بايد از انواع داده ساده (simple type) باشد).
Use : نحوه استفاده از attribute را مشخص و می تواند مقادير زير  را داشته باشد :

توضيحات

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

خصلت اجباری است 

Required

خصلت دارای مقدار پيش فرض است

Default

خصلت دارای مقدار ثابت و غير قابل تغيير است

Fixed

خصلت اختياری است

Optional

خصلت محافظت شده است

Prohibited

Value : اگر ويژگی Use دارای ارزش Default و يا Fixed باشد آنگاه ارزش مورد نظر می بايست مشخص و در غير اينصورت نيازی به استفاده از ويژگی فوق ، نخواهد بود.

جايگاه فيزيکي و نحوه تعريف attribute در يک سند XSD
همانگونه که در بخش سوم اين مقاله اشاره گرديد ،  عناصر مرکب (ComplexType) عناصری هستند که دارا عناصر زير مجموعه و يا attribute باشند . بنابراين جايگاه فيزيکی attribute در داخل يک بلاک Complextype است (انتهای بلاک و پس از توصيف کليه عناصر زير مجموعه) . بمنظور بررسی نحوه استفاده از attribute ، مثال ارائه شده در بخش سوم اين مقاله را مجددا" بررسی می نمائيم .در مثال فوق ، قصد داريم عنصر ID را بصورت يک attribute تعريف  نمائيم . در چنين حالتی توصيف سند بصورت زير خواهد بود :

نحوه استفاده از 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:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
                    <XSD:Attribute Name="ID"  Type="XSD:String"  Use="Required" />
                </XSD:ComplexType>
            </XSD:Element>
      </XSD:Schema>

روش های توصيف attribute
جهت توصيف يک attribute از دو روش متفاوت استفاده می گردد . اگر نوع داده attribute مورد نظر از انواع داده استاندارد و يا از پيش تعريف شده باشد ، آنگاه طبق گرامر ارائه شده ، می توان  توصيف يک attribute را  بصورت زير انجام داد :

روش اول : توصيف يک Attribute

<XSD:attribute Name="name" Type="simple type"  Use="how used"  Value="value"/>

اما اگر بخواهيم نوع داده attribute را با اعمال محدوديت بر روی  يک نوع داده استاندارد تشريح نمائيم ، می توان از گرامر زير استفاده کرد :

روش دوم : توصيف يک Attribute

<XSD:attribute Name="name"   Use="how used"  Value="value" >
     <XSD:simpletype>
            <XSD:restriction  Base="simple type">
                   <XSD:facet  Value="value" />
            </XSD:restriction>
     </XSD:simpletype>
</XSD:attribute>

facet ، حالات و ارزش های متفاوت آن در مقالات بعد به طور مفصل بررسی خواهد شد. جهت تشريح بهتر روش دوم،  به بررسی يک مثال  ديگر می پردازيم . فرض کنيد که در مثال قبل ، قصد داريم  بر روی  نوع داده attribute ID ، محدوديتی خاصی را اعمال نمائيم :"طول رشته پنج و کاراکترهای آن عدد باشند " ، در چنين حالتی توصيف سند بصورت زير خواهد بود :

مثال : توصيف يک سند با اعمال محدوديـت در رابطه با Attribute

<?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:Element Name="GPA" Type="XSD:String" MinOccurs="1" MaxOccurs="1"/>
                    <XSD:Attribute Name="ID"    Use="Required">
                         <XSD:simpletype>
                               <XSD:restriction  Base="XSD:String">
                                        <XSD:Length="5" />
                                        <XSD:Pattern = "\d{5}" />
                               </XSD:restriction>
                         </XSD:simpletype>
                     </XSD:attribute>
                </XSD:ComplexType>
            </XSD:Element>
      </XSD:Schema>

همانگونه که مشاهده می گردد ( با اندکی دقت ! ) ، توصيف های ارائه شده برای خصلت ID داخلی بوده و امکان استفاده مجدد از آن وجود نخواهد داشت . در صورت نياز به استفاده مجدد از توصيف يک Attribute در مکان هائی ديگر از سند ، می بايست توصيف Attribute مورد نظر در خارج از محدوده داخلی قرار گيرد .
در بخش پنجم اين مقاله به بررسی حالات متفاوت ساختار ، خواهيم پرداخت .



جستجو

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


 

 

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



              

 

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