عنصر any في XML Schema

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

يتمكن عنصر any من عرض أي عنصر من المساحة الاسمية المحددة في sequence أو choice.

يتمكن هذا العنصر من تمكين المبتكرين من توسيع وثيقة XML باستخدام عناصر لم تُحدد في schma.

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

المشروع الشرح
عدد الظهور غير محدود
العنصر الأم choice،sequence
المحتوى التعليق

النحو

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
خصائص any
>
(التعليق?)
</any>

(؟ يمكن استخدام عنصر إعلان السمات في أي عنصر出现零 مرات أو مرة واحدة.)

سمة

id

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

maxOccurs

اختياري. تحديد أكبر عدد من المرات التي يمكن أن تظهر فيها any عنصر في العنصر الأم. يمكن أن يكون هذا الرقم أكبر أو مساويًا لعدد صفر. إذا كنت لا تريد تحديد أي حد لعدد المرات، استخدم النص "غير محدود". القيمة الافتراضية هي 1.

minOccurs

اختياري. تحديد أقل عدد من المرات التي يمكن أن تظهر فيها any عنصر في العنصر الأم. يمكن أن يكون هذا الرقم أكبر أو مساويًا لعدد صفر. إذا كنت ترغب في تحديد أن مجموعة any هي اختيارية، قم بتعيين هذا الخصائص إلى صفر. القيمة الافتراضية هي 1.

namespace

اختياري. تحديد مساحة الاسمية التي يمكن استخدام العناصر فيها. إذا لم يتم تحديد المساحة الاسمية، فإن القيمة الافتراضية هي ##any. إذا تم تحديد المساحة الاسمية، يجب أن تكون واحدة من القيم التالية:

  • ##any - يمكن أن تظهر العناصر من أي مساحة اسمية (الافتراضي).
  • ##other - يمكن أن تظهر العناصر من أي مساحة اسمية خارج مساحة الاسمية المستهدفة للعنصر الأم.
  • ##local - يمكن أن تظهر العناصر التي لم تُحدد بأسماء الفضاء.
  • ##targetNamespace - يمكن أن تظهر العناصر من المساحة الاسمية المستهدفة للعنصر الأم الذي يحتوي على هذا العنصر.
  • قائمة من إشارات URI لأسماء الفضاء، ##targetNamespace، ##local - يمكن أن تظهر العناصر من قائمة بأسماء الفضاء المفصولة بالفضاءات. يمكن أن تحتوي القائمة على ما يلي: إشارات URI لأسماء الفضاء ##targetNamespace و##local.

processContents

اختياري. مؤشر يوضح كيف يجب على التطبيق أو معالج XML معالجة التحقق من صحة وثيقة XML بناءً على العناصر المحددة بواسطة عنصر any. إذا لم يتم تحديد خصائص processContents، فإن القيمة الافتراضية هي strict. إذا تم تحديد processContents، يجب أن تكون واحدة من القيم التالية:

  • صرامة - يجب على معالج XML الحصول على النموذج المطلوب من المساحة الاسمية المحددة، ويجب التحقق من صحة جميع العناصر القادمة من هذه المساحات الاسمية. (الافتراضي)
  • راضٍ - مثل strict؛ ولكن، حتى لو لم يتمكن من الحصول على النموذج، لن يحدث أي خطأ.
  • تخطي - معالج XML لا يحاول التحقق من صحة جميع العناصر القادمة من المساحة الاسمية المحددة.

خصائص any

اختياري. تحديد أي خصائص أخرى بملكية فضاء الاسم غير النموذجي.

مثال

مثال أدناه يوضح إعلان عن عنصر "person". من خلال استخدام عنصر <any>، يمكن للمبتكرين توسيع محتويات "person" بأي عنصر (بعد <lastname>):

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
      <xs:any minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>