عنصر any في XML Schema

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

يُمكن للعنصر any أن يظهر أي عنصر من المساحة الاسمية المحددة داخل عناصر sequence أو choice.

يُمكن للعنصر any أن يتيح للصانع التوسع في مستند XML من خلال استخدام عناصر لم تُحدد في النمذجة.

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

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

النحو

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

(؟ يُمكن للإشارة إلى العنصر أن تظهر في أي عنصر صفر مرات أو مرة واحدة.)

صفة

id

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

maxOccurs

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

minOccurs

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

namespace

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

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

processContents

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

  • strict - يجب على معالج XML الحصول على النموذج المطلوب من الفضاءات المحددة ويجب التحقق من جميع العناصر القادمة من هذه الفضاءات. (الافتراضي)
  • relaxed - كما في 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>