عنصر anyAttribute لـ XML Schema

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

يُمكن للعنصر anyAttribute للصانع توسيع مستند XML عبر السمات غير المحددة في schema.

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

المشروع الشرح
مرة الظهور غير محدود
العنصر الأب complexType،restriction (simpleContent)،extension (simpleContent)،restriction (complexContent)،extension (complexContent)،attributeGroup
المحتوى التعليق

النحو

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
خصائص أي
>
(تعليق?)
</anyAttribute>

(؟ يعني أن العنصر يمكن أن يظهر مرة واحدة أو لا يظهر على الإطلاق داخل عنصر anyAttribute.)

خصائص

هوية

اختياري. يحدد هوية العنصر الفريدة.

مساحة الاسمية

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

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

processContents

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

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

خصائص أي

اختياري. يحدد الخصائص الأخرى التي تحتوي على مساحة الاسم غير النموذجية.

مثال

النموذج التالي يظهر إعلانًا لـ "person" العنصر. من خلال استخدام عنصر <anyAttribute>، يمكن للمبدع إضافة أي عدد من الخصائص إلى العنصر "person":

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