عنصر attribute الخاصية لـ XML Schema

التعريف والاستخدام

يحدد عنصر attribute الخاصية.

معلومات العنصر

مرة الظهور يحدد مرة واحدة في عنصر schema. يمكن التشير إليه عدة مرات في نوع معقد أو مجموعة الخاصية.
العنصر الآب attributeGroup،schema،complexType،restriction (simpleContent)،extension (simpleContent)،restriction (complexContent)،extension (complexContent)
المحتوى تعليق،نوع بسيط

النحو

<attribute
default=string
fixed=string
form=محدد|غير محدد
id=ID
name=NCName
ref=QName
type=QName
use=اختياري|منع|مطلوب
صفات أي
>
(تعليق؟،(نوع بسيط؟))
</attribute>

(؟ رمز يفيد بأن هذا العنصر يمكن أن يظهر في عنصر attribute صفر مرة أو مرة واحدة.)

خاصية

default

اختياري. يحدد القيمة الافتراضية للخاصية. لا يمكن استخدام الخاصية default والخاصية fixed في نفس الوقت.

fixed

اختياري. يحدد القيمة الثابتة للخاصية. لا يمكن استخدام الخاصية default والخاصية fixed في نفس الوقت.

form

اختياري. يحدد نمط الخاصية. القيمة الافتراضية هي قيمة خاصية attributeFormDefault من عنصر schema الذي يحتوي على الخاصية.

  • مؤهل - يشير إلى أنه يجب تحديد هذا الخاصية باستخدام مسبقية الاسم المحدد (NCName) من قبل مسمى الملف الشخصي واسم الخاصية بدون شرط.
  • "unqualified" - يشير إلى أن الصفة لا تحتاج إلى限定 بمدخل namespace، ولا تحتاج إلى مطابقة الاسم بدون نقطة (NCName)، أي الاسم المحلي.

id

اختياري. تحديد ID الفريد للعنصر.

اسم

اختياري. تحديد اسم الصفة. لا يمكن استخدام صفات name و ref في نفس الوقت.

استدلال

اختياري. تحديد الاستدلال على الصفة المحددة. لا يمكن استخدام صفات name و ref في نفس الوقت. إذا كان ref موجودًا، لا يمكن استخدام عنصر simpleType و form و type.

نوع

اختياري. تحديد نوع البيانات المدمج أو النوع البسيط. يمكن استخدام صفة type فقط عندما لا يحتوي المحتوى على عنصر simpleType.

استخدام

اختياري. تحديد كيفية استخدام الصفة. يمكن تعيين القيم التالية:

  • اختياري - الصفة اختيارية ويمكن أن تملك أي قيمة (افتراضي).
  • منع - لا يمكن استخدام الصفة.
  • مطلوب - صفة ضرورية.

صفات أي

اختياري. تحديد أي صفة أخرى بملكية غير namespace الشفاف.

مثال

مثال 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"/>

جعل الخاصية ضروريةً:

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