ویژگی‌های 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 خواهید آموخت.