عنصر anyAttribute XML Schema

تعریف و استفاده

عنصر anyAttribute به سازنده این امکان را می‌دهد تا با استفاده از ویژگی‌هایی که توسط schama تعریف نشده‌اند، XML document را گسترش دهد.

اطلاعات عنصر

پروژه توضیحات
تعداد ظهور بدون محدودیت
عنصر والد complexType،restriction (simpleContent)،extension (simpleContent)،restriction (complexContent)،extension (complexContent)،attributeGroup
محتوای اشاره‌نویسی

زبان نشانه‌گذاری

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
ویژگی‌های هرمی
>
(اشارات?)
</anyAttribute>

(? نشانه‌ای است که نشان می‌دهد این عنصر می‌تواند در داخل عنصر anyAttribute صفر یا یک بار ظاهر شود.)

ویژگی‌ها

id

اختیاری. تعیین شناسه منحصر به فرد این عنصر.

namespace

اختیاری. تعیین نام‌ فضای نام‌ فضاهایی که می‌توانند استفاده شوند. اگر نام‌ فضای مشخص نشده باشد، پیش‌فرض ##any است. اگر نام‌ فضای مشخص شده باشد، باید یکی از موارد زیر باشد.

  • ##any - عناصر از هر نام‌ فضایی می‌توانند وجود داشته باشند (پیش‌فرض).
  • ##other - عناصر از هر نام‌ فضای دیگر از نام‌ فضای هدف پدر عنصر می‌توانند وجود داشته باشند.
  • ##local - عناصر بدون نام‌ فضای محدود می‌توانند وجود داشته باشند.
  • ##targetNamespace - عناصر از نام‌ فضای هدف پدر عنصر شامل این عنصر می‌توانند وجود داشته باشند.
  • لیستی از مراجعه‌های URI به نام‌ فضاهای، ##targetNamespace، ##local - عناصر از لیست نام‌ فضاهای جدا شده با فاصله که می‌توانند وجود داشته باشند. این لیست می‌تواند شامل موارد زیر باشد: مراجعه‌های URI به نام‌ فضای ##targetNamespace و ##local.

processContents

اختیاری. یک نشانگر که نشان می‌دهد برنامه یا پردازش‌کننده XML باید چگونه تأیید مستند XML را بر اساس عنصر مشخص شده توسط این عنصر هرمی انجام دهد. اگر مشخص‌کننده processContents تعیین نشده باشد، پیش‌فرض strict است. اگر processContents تعیین شده باشد، باید یکی از موارد زیر باشد.

  • strict - پردازش‌کننده XML باید قالب مورد نیاز از نام‌ فضای مشخص را دریافت کند و باید تمام عناصر از این نام‌ فضای مشخص را تأیید کند. (پیش‌فرض)
  • lax - مانند strict است؛ اما، حتی اگر قالب دسترسی پیدا نشود، هیچ خطایی رخ نمی‌دهد.
  • پاس کردن - پردازش‌کننده XML از تأیید تمام عناصر از نام‌ فضای مشخص خودداری می‌کند.

ویژگی‌های هرمی

اختیاری. تعیین هر ویژگی دیگر با نام‌ فضای non-schema.

مثال

مثالی که در زیر نشان داده شده، یک اعلام برای عنصر "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>