عنصر 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>