انواع داده ( ساده ، مرکب )
جهت توصیف داده ها در یک سند XML با استفاده از تکنولوژی XSD ، از دو نوع ساده و مرکب استفاده می گردد که بمنظور بکارگیری آنان در گرامر XSD ، نشانه هائی با همین عنوان یعنی <SimpleType> و <ComplexType> در نظر گرفته شده است . قبل از تشریح هر یک از موارد فوق ، لازم است جایگاه استفاده از هر یک بدرستی مشخص گردد .
نوع داده مرکب <ComplexType> زمانی استفاده میگردد که :
-
عنصر داده دارای عناصر زیر مجموعه باشد و/ یا .
-
عنصر داده دارای خصائص (Attribute) باشد .
نوع داده ساده <SimpleType> زمانی استفاده میگردد که :
-
تصمیم داریم با اعمال شرایط و یا محدودیتهائی بر روی یک نوع داده استاندارد (مثل String) یک نوع داده جدید (User Define Data Type) ایجاد نمائیم و / یا
-
عنصر مورد نظر دارای عناصر زیر مجموعه و یا خصائص (Attribute) نمی باشد.
بمنظور آشنائی با برخی از مفاهیم اولیه در این خصوص ، مجددا” به مثال ارائه شده در بخش دوم مقاله ، مراجعه می نمائیم .
| یک سند XSD نمونه بمنظور بررسی انواع داده |
|
<?XML Version = “1.0″?> |
درمثال فوق ، عنصر Student دارای دو زیر عنصر ID و GPA است. بنابراین می بایست عنصر Student بصورت مرکب توصیف گردد. بدین منظور لازم است پس از توصیف عنصر مربوطه و پیش از توصیف عناصر زیر مجموعه آن از نشانه <ComplexType> استفاده شده و در ادامه عناصر زیر مجموعه را درون بلاکی از این نشانه قرار دهیم.( خطوط چهارم و نهم )
فرض کنید ، می خواهیم بر روی عنصر GPA که از نوع استاندارد String است ، محدودیتی خاص را اعمال نمائیم، بطوریکه طول آن چهار حرف و فرمت آن به صورت (Digit.DigitDigit) باشد .بمنظور تامین خواسته فوق ، لازم است یک نوع داده جدید با لحاظ نمودن محدودیت اشاره شده ، بر روی نوع داده استاندارد String تعریف گردد . با توجه به ضرورت تعریف یک نوع داده جدید ، می بایست از نشانه <SimpleType> استفاده گردد . تشریح نوع داده جدید بر اساس تکنولوژی XSD ، بصورت زیر خواهد بود. ( در مقالات بعد، بصورت مفصل تر به بررسی اعمال محدودیت ، ارزش ها و الگوهای مختلف ، پرداخته خواهد شد ).
| تعریف یک نوع داده ساده با اعمال محدودیت |
|
<XSD:simpletype name=”studentgpa” minoccurs=”1″ maxoccurs=”1″> |
با توجه به تعریف نوع ساده مورد نظر و لحاظ نمودن محدودیت های مربوطه ، سند XSD مثال قبل به شکل ذیل خواهد بود :
| یک سند XSD نمونه بمنظور بررسی انواع داده با لحاظ نمودن محدودیت ( روش اول ) |
|
<?XML Version = “1.0″?> |
سند فوق، به شکل زیر نیز می تواند ارائه گردد :
| یک سند XSD نمونه بمنظور بررسی انواع داده با لحاظ نمودن محدودیت ( روش دوم ) |
|
<?XML Version = “1.0″?> |
تفاوت موجود در ارتباط با هر یک از روش های ارائه شده به قابلیـت استفاده مجدد از نوع تعریف شده برمی گردد. در حالت اول، نوع داده جدید 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 میباشد .
در بخش چهارم این مقاله به بررسی خصلت ها ، خواهیم پرداخت .
دیدگاه خود را بیان کنید.
باید وارد سایت شده باشید برای دیدگاه دادن