XML Schema any 元素

定义和用法

any 元素使来自指定命名空间的任何元素可以显示在包含 sequence 或 choice 元素中。

该元素使创作者可以通过未被 schema 规定的元素来扩展 XML 文档。

元素信息

项目 说明
出现次数 无限制
父元素 choice、sequence
内容 annotation

语法

<any
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
namespace=namespace
processContents=lax|skip|strict
valfria attribut
>
(annotation?)
</any>

(? 符号声明元素可在任何元素内出现零次或一次。)

属性

id

Valfritt. Anger det unika ID:t för elementet.

maxOccurs

Valfritt. Anger den maximala antalet gånger som any-elementet kan förekomma i föräldrelementet. Värdet kan vara ett heltal som är större än eller lika med noll. Använd strängen "unbounded" för att inte sätta några begränsningar på det maximala antalet. Standardvärdet är 1.

minOccurs

Valfritt. Anger den minsta antalet gånger som any-elementet kan förekomma i föräldrelementet. Värdet kan vara ett heltal som är större än eller lika med noll. För att specificera att denna any-grupp är valfri, sätt detta attribut till noll. Standardvärdet är 1.

namespace

Valfritt. Anger namnrymden för element som kan användas. Om ingen namespace är specificerad, är standardvärdet ##any. Om en namespace är specificerad, måste det vara ett av följande värden:

  • ##any - Element från alla namnrymdar kan förekomma (standard).
  • ##other - Element från alla andra namnrymdar utanför den målnamespace som elementet tillhör kan förekomma.
  • ##local - Element som inte är begränsade av en namespace kan förekomma.
  • ##targetNamespace - Element från den målnamespace som innehåller det här elementet kan förekomma.
  • {URI-referenser av namnrymdar, ##targetNamespace, ##local} lista - 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-handlaren bör hantera valideringen av XML-dokumentet enligt 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-handlaren måste få tag på den nödvändiga namnrymdens arkitektur och måste validera alla element från dessa namnrymdar. (Standard)
  • lax - Som strict; men inga fel inträffar även om man inte kan få tag på den arkitekturen.
  • skip - XML-handlaren validerar inte alla element från den angivna namnrymden.

valfria attribut

Valfritt. Anger alla andra attribut med non-schema-namnrymd.

Exempel

Följande exempel visar en deklaration av "person"-elementet. Genom att använda <any>-elementet kan skaparen utöka innehållet i "person" med vilket element som helst (efter <lastname>):

<xs:element name="person">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="firstname" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
      <xs:any minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>