tutoriais mais recente desenvolvimento web
 

XML Esquema complexType elemento


<XML completo Referência de esquema

Definição e Uso

O elemento complexType define um tipo complexo. Um elemento do tipo complexo é um elemento XML que contém outros elementos e / ou atributos.

elemento de Informação

  • Parent elements: elemento, redefinir esquema

Sintaxe

<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>

(O? Sinal declara que o elemento pode ocorrer zero ou uma vez, eo * sinal declara que o elemento pode ocorrer zero ou mais vezes dentro do elemento complexType)

Atributo Descrição
id Opcional. Especifica uma identificação única para o elemento
name Opcional. Especifica o nome do elemento
abstract Opcional. Especifica se o tipo de complexo pode ser utilizada num documento de instância. True indica que um elemento não pode usar este tipo complexo diretamente, mas deve usar um tipo complexo derivado deste tipo complexo. O padrão é false
mixed Opcional. Especifica se dados de caracteres são autorizados a aparecer entre os elementos filho deste elemento complexType. O padrão é falso. Se um elemento simpleContent é um elemento filho, o mixed atributo não é permitido!
block Opcional. Impede que um tipo complexo que tem um tipo especificado de derivação de ser usado em lugar deste tipo complexo. Este valor pode conter #all ou uma lista que é um subconjunto de extensão ou restrição:
  • extensão - impede tipos complexos derivados por extensão
  • restrição - impede tipos complexos derivados por restrição
  • #all - impede que todos os tipos complexos derivados
final Opcional. Impede que um determinado tipo de derivação deste elemento do tipo complexo. Pode conter #all ou uma lista que é um subconjunto de extensão ou restrição.
  • extensão - impede a derivação por extensão
  • restrição - impede a derivação por restrição
  • #all - impede toda derivação
any attributes Opcional. Especifica quaisquer outros atributos com namespace não-schema

exemplo 1

O exemplo que se segue tem um elemento chamado "note" que é de um tipo complexo:

<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>

exemplo 2

O exemplo a seguir tem um tipo complexo, "fullpersoninfo" , que deriva de outro tipo complexo, "personinfo" , estendendo o tipo herdada com três elementos adicionais (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>

No exemplo acima, o "employee" elemento deve conter, em sequência, os seguintes elementos: "firstname" , "lastname" , "address" , "city" e "country" .


<XML completo Referência de esquema