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>