Elementos Compostos do XSD
- Página Anterior Facetas do XSD
- Próxima Página Elemento Vazio do XSD
Elemento composto contém outros elementos e/ou atributos.
O que é um elemento composto?
Elemento composto é um elemento XML que contém outros elementos e/ou atributos.
Existem quatro tipos de elementos composto:
- Elementos vazios
- Elementos que contêm outros elementos
- Elementos que contêm apenas texto
- Elementos que contêm elementos e texto
Notas:Os elementos mencionados podem conter atributos!
Exemplos de elementos composto
O elemento composto, "product", está vazio:
<product pid="1345"/>
O elemento composto, "employee", contém apenas outros elementos:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
O elemento composto, "food", contém apenas texto:
<food type="dessert">Sorvete</food>
O elemento composto, "description", contém elementos e texto:
<description> Ocorreu em <date lang="norwegian">03.03.99</date> .... </description>
Como definir um elemento composto?
Veja este elemento XML composto, "employee", que contém apenas outros elementos:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
No XML Schema, temos duas maneiras de definir elementos compostos:
1. Ao nomear este elemento, você pode declarar diretamente o elemento "employee", assim:
<xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
Se você usar o método descrito acima, apenas o "employee" pode usar o tipo composto especificado. Observe que seus elementos filhos, "firstname" e "lastname", estão envolvidos no indicador <sequence>. Isso significa que os elementos devem aparecer na ordem em que foram declarados. Você verá Indicadores XSD Esta seção ensina mais sobre os indicadores.
2. O elemento "employee" pode usar a propriedade type, que serve para referenciar o nome do tipo composto a ser usado:
<xs:element name="employee" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
Se você usar o método descrito acima, vários elementos podem usar o mesmo tipo composto, por exemplo:
<xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/> <xs:element name="member" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
Você também pode adicionar elementos sobre um elemento composto existente, com base em algum elemento composto, assim:
<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>
- Página Anterior Facetas do XSD
- Próxima Página Elemento Vazio do XSD