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