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 alla egenskaper > (anteckning?) </anyAttribute>
(?-teckenet anger att elementet kan förekomma noll eller ett gånger inom <anyAttribute>-elementet.)
Egenskaper
id
Valfritt. Specificerar det unika ID:t för elementet.
namespace
Valfritt. Specificerar namnrymden för de element som kan användas. Om ingen namnrymd är specificerad, är standardvärdet ##any.
- ##any - Element från alla namnrymdar kan förekomma (standard).
- ##other - Element från alla andra namnrymdar utanför den målnamnrymd som innehåller det föräldrelementet kan förekomma.
- ##local - Element utan namnrymd kan förekomma.
- ##targetNamespace - Element från den målnamnrymd som innehåller det föräldrelementet kan förekomma.
- En lista över URI-referenser för namnrymdar, ##targetNamespace, ##local - element från en med mellanslag separerad lista av namnrymdar kan förekomma. Listan kan innehålla följande: URI-referenser för namnrymdar ##targetNamespace och ##local.
processContents
Valfritt. En indikator som anger hur applikationen eller XML-behandlaren ska hantera valideringen av XML-dokumentet baserat på element som specificeras av detta any-element. Om processContents-egenskapen inte är specificerad, är standardvärdet strict. Om processContents är specificerad, måste det vara ett av följande värden.
- strict - XML-behandlaren måste få tillgång till skalan för den nödvändiga namnrymden och måste verifiera alla element från dessa namnrymdar. (Standard)
- lax - Liksom strict; men inga fel uppstår även om skalan inte kan hämtas.
- skip - XML-behandlaren verifierar inte alla element från den angivna namnrymden.
alla egenskaper
Valfritt. Specificerar alla andra egenskaper med non-schema-namnrymd.
Exempel
Ett exempel visar hur en deklaration för elementet "person" sker. Genom att använda <anyAttribute>-elementet kan skaparen lägga till ett obegränsat antal egenskaper till elementet "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>