XML Schema

Olá pessoal,

este é o primeiro do post no meu blog, espero que gostem.

XML Schema foi aprovado em 2001, e tornou-se a recomendação oficial do W3C para a validação de documentos XML. XML Schema é uma metalinguagem em XML, que é utilizado para descrever a estrutura de documentos XML. Surgiu para suprir as limitações impostas pelos DTD’s.

Dentre as principais vantagens de utilizá-lo nós temos: uma grande quantidade de tipos básicos de dados, capacidade de extensão dos tipos básicos, relacionamento entre os elementos internos e é expresso em XML.

Para criarmos nossos esquemas XM, usaremos basicamente dois tipos principais de elementos:

Todo arquivo que é um XML Schema deve ser salvo com a extensão .xsd e deve ter como tags mais externas: xsd:schema e /xsd:schema.

Vamos agora fazer nosso primeiro XML Schema, para representar a estrutura do seguinte documento XML:

xml

Um possível XML Schema que represente a estrutura do XML mostrado pode ser assim:

schema.jpg

Vamos explicar cada parte:

  1. Nesta parte nós temos a definição da tag mais externa xsd:schema, ao fazermos isso devemos associar essa tag a namespace associada aos elementos do XML Schema n0 caso: http://www.w3.org/2001/XMLSchema. Há também a utilização de um atributo chamado targetNamespace, que no qual indicamos a qual namespace determinado documento XML deve está associado para que possa ser validado conforme o esquema.

  2. Há a definição de um elemento global do XML Schema, utilizando a tag xsd:element, este será o elemento existente no nosso XML, seu nome é aluno, que é definido no atributo _**name _e o seu tipo é definido no atributo _type_, cujo valor é _tns:AlunoType**_, que é um tipo definido por nós logo abaixo.

  3. Aqui nós temos a definição de um _**complexType **_cujo nome é AlunoType, esse tipo é formado por uma sequência de outros elementos, essa sequência é definida pela tag xsd:sequence e dentro dessa tag é definido os elementos que formarão essa tag. No nosso caso são quatro elementos.

  4. Aqui há a definição de um simpleType, aqui nós estamos aplicando uma restrição a um tipo de dado básico, no nosso caso xsd:string. Com a tag xsd:restriction nós definimos qual o tipo será tomado como base através do atributo **base, e dentro dela nós definimos a restrição. No exemplo é definido que os valores possíveis para esse elemento, são definidos usando a tag enumeration. **

Pronto, criamos o nosso XML Schema, agora precisamos associá-lo a um documento XML. Isso fica para a próxima.

[]’s