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 alle eigenschappen > (annotatie?) </anyAttribute>
(? Symbool geeft aan dat het element een keer of niet kan voorkomen binnen het anyAttribute-element.)
Eigenschappen
id
Optioneel. Stelt het unieke ID van het element vast.
namespace
Optioneel. Stelt de naamruimte van de elementen die kunnen worden gebruikt vast. Als de naamruimte niet is gespecificeerd, is de standaardwaarde ##any. Als de naamruimte is gespecificeerd, moet het een van de volgende waarden zijn.
- ##any - Elementen uit elke naamruimte kunnen voorkomen (standaard).
- ##other - Elementen uit elke andere naamruimte buiten de doelnaamruimte van het ouder-element kunnen voorkomen.
- ##local - Elementen zonder naamruimtebeperking kunnen voorkomen.
- ##targetNamespace - Elementen uit de doelnaamruimte van de ouder van het element waarin deze wordt opgenomen, kunnen voorkomen.
- Lijst van {URI-referenties van naamruimtes, ##targetNamespace, ##local} - Elementen uit de door spaties gescheiden lijst van naamruimtes kunnen voorkomen. De lijst kan het volgende bevatten: URI-referenties van de naamruimtes ##targetNamespace en ##local.
processContents
Optioneel. Een indicator die aangeeft hoe de applicatie of de XML-verwerker de validatie van het XML-document moet verwerken op basis van de door het any-element opgegeven elementen. Als de property processContents niet is gespecificeerd, is de standaardwaarde strict. Als processContents is gespecificeerd, moet het een van de volgende waarden zijn.
- strict - De XML-verwerker moet het vereiste schema van de naamruimte verkrijgen en alle elementen van deze naamruimte moeten worden geverifieerd. (Standaard)
- lax - Hetzelfde als strict; maar er zullen geen fouten optreden zelfs als het schema niet beschikbaar is.
- skip - De XML-verwerker controleert geen elementen van de opgegeven naamruimte.
alle eigenschappen
Optioneel. Stelt elke andere eigenschap met een non-schematische naamruimte vast.
Voorbeeld
Hier is een voorbeeld van een verklaring voor het "person"-element. Door het gebruik van het <anyAttribute>-element kan de maker een onbeperkt aantal eigenschappen toevoegen aan het "person"-element:
<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>