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