XML Schema attribute 元素
定义和用法
attribute 元素定义一个属性。
元素信息
出现次数 | 在 schema 元素中定义一次。 在复杂类型或属性组中引用多次。 |
父元素 | attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent) |
内容 | annotation、simpleType |
语法
ویژگیهای هر > (annotation?,(simpleType?))
(? 符号声明该元素可在 attribute 元素中出现零次或一次。)
属性
default
可选。规定属性的默认值。default 和 fixed 属性不能同时出现。
fixed
可选。规定属性的固定值。default 和 fixed 属性不能同时出现。
form
可选。规定属性的格式。默认值是包含该属性的 schema 元素的 attributeFormDefault 属性的值。可以设置为下列值:
- qualified - مظاہر کرتا ہے کہ اس کی اپنائی جانے والی خاصیت کو نیم نامی پیمانے سے محدود نہیں کرنا چاہئے، اور اس کا نیم نامی نام (NCName) بھی نہیں ہونا چاہئے، یعنی مقامی نام ہوگا。
- unqualified - مظاہر کرتا ہے کہ اس کی اپنائی جانے والی خاصیت کو نیم نامی پیمانے سے محدود نہیں کرنا چاہئے، اور اس کا نیم نامی نام (NCName) بھی نہیں ہونا چاہئے، یعنی مقامی نام ہوگا。
id
اختیاری. ID منحصر به فرد این عنصر را تعیین کنید.
نام
اختیاری. نام ویژگی را تعیین کنید. ویژگیهای name و ref نمیتوانند همزمان استفاده شوند.
اشاره
اختیاری. اشاره به ویژگی مشخص شده را تعیین کنید. ویژگیهای name و ref نمیتوانند همزمان استفاده شوند. اگر ref وجود دارد، عنصر simpleType، form و type نمیتوانند ظاهر شوند.
نوع
اختیاری. نوع داده داخلی یا نوع ساده را تعیین کنید. ویژگی type فقط در محتوای بدون عنصر simpleType ظاهر میشود.
استفاده
اختیاری. روش استفاده از این ویژگی را تعیین کنید. میتوانید از مقادیر زیر استفاده کنید:
- اختیاری - ویژگیهای اختیاری و میتوانند هر مقداری را داشته باشند (پیشفرض).
- ممنوع - نمیتوان از ویژگی استفاده کرد.
- لازم - ویژگیهای الزامی.
ویژگیهای هر
اختیاری. هر ویژگی دیگری با نامفضای non-schema را تعیین کنید.
مثال
مثال 1
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute>
مثال بالا نشان میدهد که ویژگی "code" یک محدودیت دارد. تنها مقدارهای قابل پذیرش دو حرف بزرگ A تا Z هستند.
مثال 2
برای استفاده از تعریف ویژگی موجود در نوع پیچیده برای تعریف یک ویژگی، از ویژگی ref استفاده کنید:
<xs:attribute name="code"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Z][A-Z]"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:complexType name="someComplexType"> <xs:attribute ref="code"/> </xs:complexType>
مثال 3
ویژگی میتواند مقدار پیشفرض داشته باشد و همچنین مقدار مقطوعی تعیین شده. جب کسی دوسری قیمتی تعیین نکرده باشد، مقدار پیشفرض به طور خودکار به ویژگی تعیین میشود. در مثال زیر، مقدار پیشفرض "EN" است:
<xs:attribute name="lang" type="xs:string" default="EN"/>
جب کسی دوسری قیمتی تعیین نکرده باشد، مقدار مقطوعی به طور خودکار به ویژگی تعیین میشود. اما با مقدار پیشفرض متفاوت است، اگر شما مقدار دیگری غیر از مقدار مقطوعی برای ویژگی تعیین کنید، مستند به عنوان نامعتبر بررسی میشود. در مثال زیر، مقدار مقطوعی "EN" است:
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
مثال 4
همه امتیازات به صورت پیشفرض قابل انتخاب هستند. برای مشخص کردن به وضوح که امتیاز قابل انتخاب است، از امتیاز "use" استفاده کنید:
<xs:attribute name="lang" type="xs:string" use="optional"/>
برای تبدیل امتیاز به امتیاز اجباری، از امتیاز "use" استفاده کنید:
<xs:attribute name="lang" type="xs:string" use="required"/>