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>