خصائص 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 هو "xs:date"، وكان المحتوى الذي يحتويه هو نص يشبه "Hello World"، فإن العنصر لن يتم التحقق منه.
من خلال XML schema، يمكنك أيضًا إضافة حدود خاصة بك إلى عناصر XML وأسواقها. هذه الحدود تُسمى facet (ملاحظة المحرر: تعني (مُثلثي) الوجه، يمكن ترجمتها إلى face). ستعرف المزيد عن facet في القسم التالي.