خصوصیات XSD

تمام ویژگی‌ها به عنوان نوع ساده اعلام می‌شوند.

ویژگی چیست؟

عناصر ساده نمی‌توانند ویژگی داشته باشند. اگر عنصری ویژگی داشته باشد، آن عنصر به عنوان نوع پیچیده در نظر گرفته می‌شود. اما ویژگی‌ها همیشه به عنوان نوع ساده اعلام می‌شوند.

چگونه ویژگی را اعلام می‌کنیم؟

جملات تعریف ویژگی چگونه است؟

<xs:attribute name="xxx" type="yyy"/>

در اینجا، xxx نام ویژگی است و yyy نوع داده ویژگی را مشخص می‌کند. XML Schema دارای بسیاری از نوع‌های درون‌ریز است.

نوع‌های معمول عبارتند از:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

مثال

این یک عنصر XML با ویژگی است:

<lastname lang="EN">Smith</lastname>

این تعریف ویژگی است:

<xs:attribute name="lang" type="xs:string"/>

مقدار پیش‌فرض و ثابت ویژگی‌ها

ویژگی‌ها می‌توانند دارای مقدار پیش‌فرض یا ثابت باشند.

در صورت تعیین مقدار دیگری، مقدار پیش‌فرض به طور خودکار به عناصر تخصیص داده می‌شود.

در مثال‌های زیر، مقدار پیش‌فرض "EN" است:

<xs:attribute name="lang" type="xs:string" default="EN"/>

مقدار ثابت به طور خودکار به عناصر تخصیص داده می‌شود و شما نمی‌توانید مقدار دیگری تعیین کنید.

در مثال‌های زیر، مقدار ثابت "EN" است:

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

ویژگی‌های انتخابی و اجباری

در حالت پیش‌فرض، ویژگی‌ها قابل انتخاب هستند. برای تعیین اینکه ویژگی‌ها الزامی هستند، از ویژگی "use" استفاده کنید:

<xs:attribute name="lang" type="xs:string" use="required"/>

محدودیت محتوا

وقتی XML عنصر یا ویژگی دارای نوع داده تعریف شده‌ای است، محدودیت‌ها به محتوای عنصر یا ویژگی اضافه می‌شود.

اگر نوع XML عنصر "xs:date" باشد و محتوای آن مانند رشته "Hello World" باشد، عنصر (از طریق) تأیید نخواهد شد.

با استفاده از XML schema، شما می‌توانید محدودیت‌های خود را به عناصر و ویژگی‌های XML خود اضافه کنید. این محدودیت‌ها به عنوان facet شناخته می‌شوند (توضیح: به معنای(مستطیل‌های)وجه، می‌توان آن را به عنوان محدودیت ترجمه کرد). شما در بخش بعدی بیشتر درباره facet یاد خواهید گرفت.