Element any w XML Schema

Definicja i zastosowanie

Element any pozwala na wyświetlenie dowolnego elementu z określonej przestrzeni nazw w elementach zawierających sequence lub choice.

Ten element pozwala twórcom rozszerzać dokument XML za pomocą elementów nieokreślonych przez schemat.

Informacje o elemencie

Element Opis
Liczba wystąpień Bez ograniczeń
Rodzic choice, sequence
Zawartość annotation

Gramatyka

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

(? Symbol oznacza, że element może występować w dowolnym elemencie zero lub jeden raz.)

Atrybut

id

Dostępny. Określa unikalny identyfikator elementu.

maxOccurs

Dostępny. Określa maksymalną liczbę wystąpień elementu any w kontekście nadrzędnym. Wartość może być całkowitą liczbą nieujemną lub ciąg znaków "unbounded". Domyślną wartością jest 1.

minOccurs

Opcjonalne. Określa minimalną liczbę wystąpień elementu <any> w rodzicu. Wartością może być całkowita liczba większa lub równa zero. Aby określić, że grupa <any> jest opcjonalna, ustaw ten atrybut na zero. Domyślna wartość to 1.

namespace

Opcjonalne. Określa przestrzeń nazw, która zawiera elementy, które mogą być używane. Jeśli nie określono przestrzeni nazw, wartością domyślną jest ##any. Jeśli określono przestrzeń nazw, musi to być jedna z następujących wartości:

  • ##any - Elementy z jakiejkolwiek przestrzeni nazw mogą się pojawiać (domyślnie).
  • ##other - Elementy z jakiejkolwiek innej przestrzeni nazw, poza przestrzenią nazwy, która zawiera rodzica tego elementu, mogą się pojawiać.
  • ##local - Elementy bez przestrzeni nazw mogą się pojawiać.
  • ##targetNamespace - Elementy z przestrzeni nazw, która zawiera rodzica tego elementu, mogą się pojawiać.
  • Lista odniesień URI przestrzeni nazw {URI references of namespaces, ##targetNamespace, ##local} - elementy z listy przestrzeni nazw oddzielonej spacjami mogą się pojawiać. Lista może zawierać następujące elementy: odniesienia URI przestrzeni nazw ##targetNamespace i ##local.

processContents

Opcjonalne. Indykator wskazujący, jak aplikacja lub procesor XML powinien przetwarzać walidację dokumentu XML na podstawie elementów określonych przez element <any>. Jeśli nie określono atrybutu processContents, domyślnie jest strict. Jeśli określono processContents, musi to być jedna z następujących wartości:

  • Strict - XML处理器必须获取所需命名空间的架构, i musi weryfikować wszystkie elementy z tych przestrzeni nazw. (Domyślnie)
  • Lax - Jak strict; ale nawet jeśli nie można uzyskać struktury, nie wystąpi żaden błąd.
  • Pomijaj - XML处理器不会验证来自指定命名空间的所有元素。

Atrybuty dowolne

Opcjonalne. Określa inne atrybuty z non-schema命名空间.

Przykład

Poniżej znajduje się przykład deklaracji elementu "person". Twórca może rozszerzyć zawartość "person" dowolnym elementem za pomocą elementu <any> (po <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>