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>