XML Schema anyAttribute 元素

定义和用法

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

元素信息

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

语法

<anyAttribute
id=ID
namespace=namespace
processContents=lax|skip|strict
muita ominaisuuksia
>
(huomautus?)
</anyAttribute>

(? symboli ilmoittaa, että elementti voi ilmestyä anyAttribute-elementissä nollan tai yhden kerran.)

Ominaisuudet

id

Valinnainen. Määrittää elementin ainutlaatuisen ID:n.

nimi

Valinnainen. Määrittää elementin käytettävissä olevien elementtien nimeämillä. Jos nimeä ei ole määritelty, oletus on ##any. Jos nimi on määritelty, sen arvon on olla seuraavista:

  • ##any - Kaikkien nimeämillä olevien elementtien voivat ilmestyä (oletus).
  • ##other - Kaikkien muiden nimeämillä olevien elementtien voivat ilmestyä.
  • ##local - Elementit, joilla ei ole nimeä, voivat ilmestyä.
  • ##targetNamespace - Elementit, jotka kuuluvat isäelementtiin, voivat ilmestyä.
  • {URI viittaukset nimeämillä, ##targetNamespace, ##local} - elementit, jotka voivat ilmestyä erottuneista nimeämillä, voivat sisältää seuraavaa: Nimeämillä ##targetNamespace ja ##local URI viittaukset.

processContents

Valinnainen. Viittaus, joka kertoo sovellukselle tai XML-käsittelijälle, miten XML-dokumentin vahvistus käsitellään elementin määrittelyn mukaisesti. Jos processContents-ominaisuutta ei ole määritelty, oletus on strict. Jos processContents on määritelty, sen arvon on oltava seuraavista:

  • strict - XML-käsittelijän on saatava tarvittava määrittely ja täytyy vahvistaa kaikki elementit näistä nimeästä.
  • lax - Sama kuin strict; mutta, vaikka määrittelyä ei löydy, ei tapahdu virheitä.
  • skip - XML-käsittelijä ei yritä vahvistaa kaikkia tiettyä nimeä sisältäviä elementtejä.

muita ominaisuuksia

Valinnainen. Määrittää minkä tahansa non-schema-nimellisyyden määrittelyä.

Esimerkki

Esimerkki näyttää "person"-elementille tehdyn määrittelyn. Käyttämällä <anyAttribute>-elementtiä luoja voi lisätä mihin tahansa määrään "person"-elementtiin määrittelyjä:

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