Conheça também: Onmasters . Ofertas . Divulgue! . Vai.la . Geraboleto . Baixa.la . Assista.la . Joga.la
» Início » Programação » XML » Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 3 -->
 
Avaliação: Não avaliado | Publicado em: 19/11/2006
Um pouco além do XML: Introdução ao XML Schema (XSD) - Parte 3


Construção através de extensão por união

Construir tipo por união significa dizer que o tipo construído assumirá todos os valores possíveis de seus tipos base. Esse tipo de construção não é muito comum na construção de documentos XSD, mas ainda assim representa uma possibilidade.

A construção de tipos através de extensão por união necessita do atributo “union” e do elemento “memberTypes” para representar que o tipo de dados será construído através de extensão por união e quais tipos servirão como tipos base.

A construção abaixo demonstra como criar um tipo de dados que aceita uma idade (até 80 anos) ou uma data de nascimento (a partir de 01/01/1950). Esses intervalos são definidos para mera exemplificação. Para construir esse tipo de dados é necessário primeiro derivar o tipo de dados idade e a data de nascimento personalizada

<xsd:simpleType name="tIdade">
 <xsd:restriction base="xsd:decimal">
  <xsd:minExclusive value="0"/>
  <xsd:fractionDigits value="0"/>
  <xsd:maxInclusive value="80"/>
 </xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="tDataPersonalizada">
 <xsd:restriction base="xsd:date">
  <xsd:minInclusive value="1950-01-01"/>
 </xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="tIdadeOuData">
 <xsd:union memberTypes="tIdade tDataPersonalizada"/>
</xsd:simpleType>