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>