XML Schema anyAttribute element

Definition and usage

The anyAttribute element allows the creator to extend the XML document with attributes not specified by the schema.

element information

item description
occurrence unrestricted
parent element complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup
İçerik tanım

Sözdizimi

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
herhangi bir özellik
>
(tanım?)
</anyAttribute>

(? işareti, bu elementin anyAttribute elementi içinde sıfır veya bir kez ortaya çıkabileceğini belirtir.)

Özellikler

id

İsteğe bağlı. Bu elementin benzersiz ID'sini belirler.

namespace

İsteğe bağlı. Kullanılabilir elementlerin ad alanını belirler. Ad alanı belirtilmemişse, varsayılan olarak ##any olarak ayarlanır. Ad alanı belirtilmişse, aşağıdaki değerlerden biri olmalıdır.

  • ##any - Herhangi bir ad alanından gelen elementler ortaya çıkabilir (varsayılan).
  • ##other - Bu elementin ebeveyn elementinin hedef ad alanı dışındaki herhangi bir ad alanından gelen elementler ortaya çıkabilir.
  • ##local - Ad alanı tanımlanmamış elementler ortaya çıkabilir.
  • ##targetNamespace - Bu elementi içeren ebeveyn elementinin hedef ad alanından gelen elementler ortaya çıkabilir.
  • {Ad alanları URI referansları, ##targetNamespace, ##local} listesi - Boşluklarla ayrılmış ad alanı listesinden elementler ortaya çıkabilir. Bu liste aşağıdaki içerikleri içerebilir: Ad alanı ##targetNamespace ve ##local'in URI referansları.

processContents

İsteğe bağlı. Uygulama veya XML işleyicisinin, bu any elementi tarafından belirlenen elementlere göre XML belgesinin doğrulamasını nasıl yapacağını belirleyen bir gösterge. processContents özelliği belirtilmemişse, varsayılan olarak strict olarak ayarlanır. processContents belirtilmişse, aşağıdaki değerlerden biri olmalıdır.

  • strict - XML işleyicisi, gerekli ad alanının şemasını almak zorunda olmalıdır ve bu ad alanlarından gelen tüm elementleri doğrulamalıdır. (varsayılan)
  • lax - strict ile aynı; ancak, o架构不能获取时,也不会发生任何错误。
  • skip - XML işleyicisi, belirtilen ad alanından gelen tüm elementleri doğrulamayı denemez.

herhangi bir özellik

İsteğe bağlı. Non-schemaları tanımlayan herhangi bir diğer özelliği belirler.

Örnek

Aşağıdaki örnek, "person" elementine yönelik bir beyanı gösterir. <anyAttribute> elementini kullanarak, yaratıcılar "person" elementine herhangi bir sayıda özellik ekleyebilirler:

<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>