Element any XML Schema

Definicja i użycie

Elementy any pozwalają na wyświetlenie w sekwencji lub wyborze elementów z określonej przestrzeni nazw.

Ten element pozwala twórcom rozszerzać dokument XML za pomocą elementów niezdefiniowanych przez schema.

Informacje o elemencie

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

Gramatyka

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

(? Elementy deklaracji symbolu mogą występować w dowolnym elemencie zero lub jeden raz.)

Atrybut

id

Opcjonalne. Określa unikalny ID tego elementu.

maxOccurs

Opcjonalne. Określa maksymalną liczbę wystąpień elementu any w rodzicu. Wartością może być liczba całkowita większa lub równa zero. Jeśli nie chcemy ustawić żadnych ograniczeń dotyczących maksymalnej liczby wystąpień, użyj ciągu "unbounded". Domyślna wartość to 1.

minOccurs

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

namespace

Opcjonalne. Określa przestrzeń nazw zawierającą 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 poniższych wartości:

  • ##any - Elementy z każdej przestrzeni nazw mogą się pojawiać (domyślnie).
  • ##other - Elementy z każdej innej przestrzeni nazw, z wyjątkiem przestrzeni nazw, z której pochodzi rodzic tego elementu, mogą się pojawiać.
  • ##local - Elementy bez określonej przestrzeni nazw mogą się pojawiać.
  • ##targetNamespace - Elementy z przestrzeni nazw, z której pochodzi rodzic tego elementu, mogą się pojawiać.
  • Lista odwołań URI przestrzeni nazw, ##targetNamespace, ##local - elementy z listy przestrzeni nazw oddzielonych spacjami mogą zawierać następujące zawartość: odwołania URI przestrzeni nazw ##targetNamespace i ##local.

processContents

Opcjonalne. Indykator, który wskazuje, jak aplikacja lub przetwornik XML powinien przetwarzać walidację dokumentu XML na podstawie elementów wskazanych przez element any. Jeśli nie określono atrybutu processContents, wartością domyślną jest strict. Jeśli określono processContents, musi to być jedna z poniższych wartości:

  • Strict - Przetwornik XML musi uzyskać strukturę wymaganej przestrzeni nazw i musi weryfikować wszystkie elementy z tych przestrzeni (domyślnie).
  • Lax - Jak strict; ale nie ma żadnych błędów, nawet jeśli nie można uzyskać struktury.
  • Pomijanie - Przetwornik XML nie weryfikuje wszystkich elementów z określonej przestrzeni nazw.

Dowolne atrybuty

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

Przykład

Poniższy przykład pokazuje deklarację elementu "person". Używając elementu <any>, twórca może rozszerzyć zawartość "person" o dowolny element (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>