element anyAttribute w XML Schema
definicja i użycie
element anyAttribute pozwala twórcom rozszerzać dokument XML za pomocą atrybutów niezdefiniowanych przez schema.
informacjeozelementu
projekt | opis |
---|---|
liczbawyjatkow | brakogranicznosci |
rodzicelement | complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup |
Zawartość | annotacja |
Gramatyka
<anyAttribute id=ID namespace=namespace processContents=lax|skip|strict Dowolne atrybuty > ( annotacja?) </anyAttribute>
(? znak oznacza, że element może występować zero lub jeden raz wewnątrz elementu anyAttribute.)
Atrybuty
id
Opcjonalne. Określa unikalny ID tego elementu.
namespace
Opcjonalne. Określa przestrzeń nazw zawierającą elementy, które można używać. 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 niż przestrzeń nazw docelowej tego elementu mogą się pojawiać.
- ##local - Elementy niezdefiniowane przez przestrzeń nazw mogą się pojawiać.
- ##targetNamespace - Elementy z przestrzeni nazw docelowej zawierającej ten element mogą się pojawiać.
- Lista odniesień URI przestrzeni nazw, ##targetNamespace, ##local - elementy z listy przestrzeni nazw oddzielonej spacjami mogą zawierać następujące zawartość: odniesienia URI przestrzeni nazw ##targetNamespace i ##local.
processContents
Opcjonalne. Indeksator wskazujący, jak aplikacja lub procesor XML powinien przetwarzać walidację dokumentu XML na podstawie elementu określonego przez ten dowolny element. Jeśli nie określono atrybutu processContents, domyślnie jest strict. Jeśli określono processContents, musi to być jedna z poniższych wartości.
- Strict - XML处理器 musi uzyskać strukturę wymaganej przestrzeni nazw i musi sprawdzić poprawność wszystkich elementów z tych przestrzeni nazw. (Domyślnie)
- Lax - Jak strict; ale nawet jeśli nie można uzyskać tej struktury, nie występuje żaden błąd.
- Pomiń - XML处理器 nie sprawdza poprawności wszystkich elementów z określonej przestrzeni nazw.
Dowolne atrybuty
Opcjonalne. Określa wszystkie inne atrybuty z non-schema命名空间。
Przykład
Poniższy przykład pokazuje deklarację dla elementu "person". Dzięki użyciu elementu <anyAttribute> twórca może dodać dowolną liczbę atrybutów do elementu "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>