Najnowsze tutoriale tworzenie stron internetowych
 

XML Schemat complexType Element


<Pełna XML Schema Reference

Definicja i Wykorzystanie

Element complexType definiuje typ złożony. Złożony elementem typu jest elementem XML, który zawiera inne elementy i / lub atrybuty.

Element informacji

  • Parent elements: element przedefiniować, schema

Składnia

<complexType
id=ID
name=NCName
abstract=true|false
mixed=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>

(annotation?,(simpleContent|complexContent|((group|all|
choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))

</complexType>

(Znak? Deklaruje, że element może wystąpić zero lub jeden raz, a * Znak deklaruje, że element może wystąpić zero lub więcej razy wewnątrz elementu complexType)

Atrybut Opis
id Opcjonalny. Określa unikatowy identyfikator dla elementu
name Opcjonalny. Określa nazwę elementu
abstract Opcjonalny. Określa czy typ złożony może być stosowany, na przykład dokumentu. True oznacza, że ​​dany element nie może korzystać z tego typu złożonego bezpośrednio, ale musi użyć typu złożonego pochodzące z tego typu złożonego. Domyślnie jest fałszywy
mixed Opcjonalny. Określa, czy dane znakowe może pojawić pomiędzy elementów potomnych tego elementu complexType. Domyślnie jest fałszywe. Jeśli simpleContent element jest elementem dziecko, tym mixed atrybut nie jest dozwolona!
block Opcjonalny. Zapobiega typu złożonego, który posiada określony typ pochodnej zostały użyte w miejscu tego typu złożonego. Wartość ta może zawierać #all lub listę, która jest podzbiorem rozszerzenia lub ograniczenia:
  • Rozszerzenie - zapobiega złożone typy osiągnięte przez rozszerzenie
  • Ograniczenie - zapobiega złożone typy pochodzące od ograniczeń
  • #all - zapobiega wszystkie pochodzące złożonych typów
final Opcjonalny. Zapobiega określony rodzaj pozyskiwania tego złożonego elementu typu. Może zawierać #all lub listę, która jest podzbiorem rozszerzenia lub ograniczenia.
  • rozszerzenie - co za tym idzie zapobiega wyprowadzenie
  • Ograniczenie - zapobiega wyprowadzenie przez ograniczenie
  • #all - zapobiega wszystkie wyprowadzenie
any attributes Opcjonalny. Określa atrybuty z innych przestrzeni nazw nie schematu

Przykład 1

Poniższy przykład zawiera element o nazwie "note" , że jest typu złożonego:

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
  <xs:element name="to" type="xs:string"/>
  <xs:element name="from" type="xs:string"/>
  <xs:element name="heading" type="xs:string"/>
  <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Przykład 2

Poniższy przykład ma złożoną typ "fullpersoninfo" , która wywodzi się z innego typu złożonego, "personinfo" , poprzez rozszerzenie odziedziczony typ z trzema dodatkowymi elementami (address, city and country) :

<xs:element name="employee" type="fullpersoninfo"/>

<xs:complexType name="personinfo">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

W powyższym przykładzie "employee" elementu musi zawierać w kolejności, następujące elementy: "firstname" , "lastname" , "address" , "city" i "country" .


<Pełna XML Schema Reference