XML Schema anyAttribute 元素

定义和用法

anyAttribute 元素允许创作者通过未被 schema 规定的属性来扩展 XML 文档。

元素信息

项目 说明
出现次数 无限制
父元素 complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)、attributeGroup
nilalaman annotation

Gramatika

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
anumang attribute
>
(annotation?)
</anyAttribute>

(? na nagdeklara na ang elemento ay puwedeng lumitaw sa loob ng elemento na <anyAttribute> nang walang o isang beses.)

Attribute

id

Optional. Tinutukoy ang tanging ID ng elemento.

namespace

Optional. Tinutukoy ang espasyo ng pangalan na naglalaman ng mga magagamit na elemento. Kung hindi tinukoy ang espasyo ng pangalan, ang default ay ##any. Kung tinukoy ang espasyo ng pangalan, dapat ay isa sa sumusunod na halaga.

  • ##any - Anumang elemento na galing sa anumang espasyo ng pangalan ay maaaring lumitaw (default).
  • ##other - Anumang elemento na galing sa ibang espasyo ng pangalan kung saan ang magtataglay ng elemento na iyon ay maaaring lumitaw.
  • ##local - Ang mga elemento na hindi tinukoy ng espasyo ng pangalan ay maaaring lumitaw.
  • ##targetNamespace - Ang mga elemento na galing sa target namespace ng magtataglay ng elemento na kasama ang iyon ay maaaring lumitaw.
  • Listahan ng {URI references of namespaces, ##targetNamespace, ##local} - Ang mga elemento na galing sa listahan ng espasyo ng pangalan na naihisg sa pamamagitan ng liham ay maaaring lumitaw. Ang listahan ay maaaring kasama ang sumusunod: URI reference ng espasyo ng pangalan na ##targetNamespace at ##local.

processContents

Optional. Isang tagapagpahiwatig na ipinapahiwatig kung paano ang aplikasyon o XML processor ay dapat magpatunay ng pagpapatunay ng dokumentong XML ayon sa elemento na tinukoy ng any na elemento. Kung hindi tinukoy ang attribute na processContents, ang default ay strict. Kung tinukoy ang processContents, dapat ay isa sa mga sumusunod na halaga.

  • strict - Ang XML processor ay dapat makakuha ng kailangan ng arkitektura ng espasyo ng pangalan, at dapat patunayan ang lahat ng elemento na galing sa mga espasyo ng pangalan na iyon. (Default)
  • lax - Katulad sa strict; ngunit, kahit na hindi makakuha ng arkitektura, walang anumang error na magiging nangyayari.
  • skip - Ang XML processor ay hindi magtitingin ng pagpapatunay ng lahat ng elemento na galing sa tinukoy na espasyo ng pangalan.

anumang attribute

Optional. Tinutukoy ang kahit anong iba pang attribute na may non-schema na pangalan ng espasyo.

Mga halimbawa

Ang halimbawa na ito ay nagpapakita ng isang deklarasyon para sa elemento na "person". Sa pamamagitan ng paggamit ng elemento na <anyAttribute>, ang gumagawa ay makakapagdagdag ng anumang bilang ng mga attribute sa elemento na "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>