Histórico da Página
...
Em meados de 99, o consórcio W3C (responsável por vários padrões da WEB) publicou pela primeira vez o XML Schema. Sendo a primeira iniciativa de apresentar uma alternativa ao padrão DTD. Após diversas revisões, em 2001, foi lançada a recomendação final do XML Schema e em 2004 houve algumas adaptações. Dessa data até hoje, diversos fabricantes tem incluído esse padrão em seus produtos. Existem diversas APIs para validação, bancos de dados que dão suporte a tipos de dados XML, além de bancos de dados nativos que trabalham apenas com XML e tem o XML Schema como seu mecanismo básico de controle de consistência.
Padrões de Validação
...
A validação de arquivos. XML pode ser através de uma aplicação própria ou ainda algum outro padrão adotado. Os principais padrões atualmente são:
...
Em sua essência é um documento XML. Isso é, deve obedecer as mesmas regras que um documento XML. Um documento XSD também possui outras necessidades que um documento XML não necessita. Para que essas necessidades sejam atendidas é preciso definir as partes de um documento XSD.
Declaração de elementos
...
Os elementos são declarados utilizando-se a tag “element”. Os principais atributos da tag são:
...
A declaração use por default é optional.
Tipos de Dados
...
O XML Schema possui diversos tipos de dados, além da possibilidade de criar tipos próprios, os mais comuns são:
- xsd:string – string de caracteres de comprimento ilimitado
- xsd:boolean – valor booleano (true, false - 1 ou 0)
- xsd:decimal – número decimal
- xsd:float – ponto flutuante
- xsd:date – Uma data no calendário gregoriano
- xsd:dateTime – Um instante específico no calendário gregoriano
- xsd:integer – Um número inteiro
...
Obs.: esses dados podem ser utilizados tanto com os elementos quanto com os atributos.
...
Ex. 3: a utilização do conector choice; nesse caso é obrigado apenas que e somente um dos elementos especificados conste no documento. Se os dois elementos aparecerem, ocorrerá um erro.
Bloco de código | ||||
---|---|---|---|---|
| ||||
<xsd:choice> <xsd:element name="CPF" type="xsd:string"/> <xsd:element name="RG" type="xsd:string"/> </xsd:choice> |
A utilização de conectores é necessária para a construção de elementos compostos. Esses tipos de elementos são combinações de tags aninhadas chamados de elementos complexos. Para que esses elementos sejam declarados é necessário utilizar tag “complexType”.
Bloco de código | ||||
---|---|---|---|---|
| ||||
<xsd:element name="cliente"> <xsd:complexType> <xsd:sequence> <xsd:element name="nome" type="xsd:string"/> <xsd:element name="endereco" type="xsd:string"/> <xsd:element name="cep" type="xsd:integer"/> </xsd:sequence> </xsd:complexType> </xsd:element> |
Existem cinco conjuntos de tipos de dados pré-definidos em XSD. Esses conjuntos de tipos de dados são:
Numéricos | xsd:float xsd:double xsd:decimal xsd:integer xsd:nonPositiveInteger xsd:nonNegativeInteger xsd:negativeInteger xsd:positiveInteger xsd:long xsd:int xsd:short xsd:byte xsd:unsignedLong xsd:unsignedInt xsd:unsignedShort xsd:unsignedByte | Números reais (32bits) Números reais (64bits) Número decimal Número inteiro Número inteiro negativo (incluindo 0) Número inteiro positivo (incluindo 0) Número inteiro negativo Número inteiro positivo Números inteiros (64bits) Números inteiros (32bits) Números inteiros (16bits) Números inteiros (8bits) Números long positivos (incluindo 0) Números int positivos (incluindo 0) Números short positivos (incluindo 0) Números byte positivos (incluindo 0) |
Data/Hora | xsd:dateTime xsd:date xsd:time xsd:gDay xsd:gMonth xsd:gYear xsd:gYearMonth xsd:gMonthDay xsd:duration | YYYY-MM-DDtHH:MM:SS.000 YYYY-MM-DD HH:MM:SS.000 Número do dia (1-31) Número do mês (1-12) Número do ano Números do ano e do mês Números do mês e do dia Período de tempo |
String | xsd:string xsd:normalizedString xsd:token | Caracteres Unicode Caracteres sem CRLF nem Tabs Sem espaços |
Binários | xsd:hexBinary xsd:base64Binary | Dígitos em HEX (hexadecimal) Binários em base64 |
Booleanos | xsd:boolean | 1 | 0 | true | false |
...