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 anumang attribute > (annotation?) </anyAttribute>
(? na simbolo ay nagdeklara na ang elemento ay maaaring lumabas sa anyAttribute elementa nang walang o isang beses.)
Attribute
id
Opisyal. Tinutukoy ang natatanging ID ng elemento.
namespace
Opisyal. Tinutukoy ang namespace na mayaring gamitin ang mga elemento. Kung hindi tinukoy ang namespace, ang default ay ##any. Kung tinukoy ang namespace, dapat maging isa sa sumusunod na halaga.
- ##any - Ang anumang elemento mula sa anumang namespace ay maaaring lumabas (default).
- ##other - Ang anumang elemento mula sa ibang namespace kung hindi sa target namespace ng magulang na elemento ay maaaring lumabas.
- ##local - Ang mga elemento na hindi pinagmumulan ng namespace ay maaaring lumabas.
- ##targetNamespace - Ang mga elemento mula sa target namespace ng magulang na elemento na naglalaman ng elemento na ito ay maaaring lumabas.
- Listahan ng {URI reference of namespaces, ##targetNamespace, ##local} - Ang mga elemento mula sa listahan ng namespace na naihahati ng liwang maaaring lumabas. Ang listahan ay maaaring kasama ang sumusunod: URI reference ng namespace na ##targetNamespace at ##local.
processContents
Opisyal. Isang tagapagpahiwatig na kung paano dapat suriin ng application o XML processor ang validation ng XML dokumento sa pamamagitan ng elemento na tinukoy ng any. Kung hindi tinukoy ang attribute na processContents, ang default ay strict. Kung tinukoy ang processContents, dapat maging isa sa mga sumusunod na halaga.
- strict - Ang XML processor ay dapat makakuha ng architechture ng kinakailangang namespace at dapat suriin ang lahat ng elemento mula sa mga namespace iyon. (Default)
- lax - Katulad sa strict; ngunit, walang maling mangyari kahit hindi nakuha ang architechture.
- skip - Hindi tatratutukan ng XML processor ang pagtitingin sa lahat ng elemento mula sa tinukoy na namespace.
anumang attribute
Opisyal. Tinutukoy ang kahit anong iba pang attribute na may non-schema na pangalan ng namespace.
Mga halimbawa
Ang mga halimbawa na ito ay nagpapakita ng isang pahayag para sa elemento na "person". Sa pamamagitan ng paggamit ng elemento na <anyAttribute>, ang tagapaglikha 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>