13.07.2013 Views

Introdução ao XML Schema - ConsILR

Introdução ao XML Schema - ConsILR

Introdução ao XML Schema - ConsILR

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Introdução</strong> <strong>ao</strong> <strong>XML</strong> <strong>Schema</strong><br />

<strong>XML</strong> <strong>Schema</strong> é u m a alternativa <strong>ao</strong> DTD baseada em <strong>XML</strong>.<br />

Um esque ma <strong>XML</strong> descreve a estrutura de u m docu mento <strong>XML</strong>.<br />

A linguagem <strong>XML</strong> <strong>Schema</strong> ta mbé m é cha ma da de <strong>XML</strong> <strong>Schema</strong> Definition (XSD).<br />

O que você já precisa saber<br />

Antes de estudar a Linguagem <strong>XML</strong> Sche ma, você deve ter u m enten di mento<br />

básico de <strong>XML</strong> e Names paces <strong>XML</strong>. També m é válido u m entendimento básico de<br />

DTD.<br />

Se você deseja estudar estes assuntos primeiro, visite o tutorial <strong>XML</strong> e o tutorial<br />

DTD.<br />

O que é um <strong>XML</strong> <strong>Schema</strong>?<br />

O pro pósito de u m <strong>XML</strong> Sche ma é definir os blocos de construção per mitidos em<br />

u m docu mento <strong>XML</strong>, como u m DTD.<br />

Um <strong>XML</strong> <strong>Schema</strong>:<br />

• define elementos que po de m aparecer e m u m docu mento<br />

• define atributos que pode m aparecer em u m docu mento<br />

• define que elementos são elementos filhos<br />

• define a orde m dos elementos filhos<br />

• define o n ú mero de elementos filhos<br />

• define se u m elemento é vazio ou pode incluir texto<br />

• define tipos de da dos para elementos e atributos<br />

• define valores pa drão e fixos para elementos e atributos<br />

<strong>XML</strong> <strong>Schema</strong>s são sucessores das DTDs<br />

Nós acredita mos que logo <strong>XML</strong> Sche mas vão ser usados na m aioria das aplicações<br />

Web no lugar de DTDs. Aqui estão algu mas ra zões:<br />

• <strong>XML</strong> <strong>Schema</strong>s são extensíveis para adições futuras<br />

• <strong>XML</strong> <strong>Schema</strong>s são m ais ricos e úteis que DTDs<br />

• <strong>XML</strong> <strong>Schema</strong>s são escritos e m <strong>XML</strong><br />

• <strong>XML</strong> <strong>Schema</strong>s s u porta m tipos de dados<br />

• <strong>XML</strong> <strong>Schema</strong>s s u porta m na mes paces<br />

<strong>XML</strong> <strong>Schema</strong> é uma Recomendação do W3C<br />

<strong>XML</strong> <strong>Schema</strong> foi originalmente proposto pela Microsoft, m as se tornou u m<br />

reco mendação oficial do W3C em Maio de 2001. A especificação está estável e foi<br />

revisada pelos me m bros do W3C. Para u ma visão geral das atividades e status do


W3C, visite o tutorial W3C<br />

<strong>XML</strong> <strong>Schema</strong>s ­ Por que?<br />

Há m uitas ra zões para <strong>XML</strong> <strong>Schema</strong> ser melhor que DTD.<br />

<strong>XML</strong> <strong>Schema</strong> tem suporte a tipos de dados<br />

Uma das gran des vantagens de <strong>XML</strong> Sche mas é o s u porte a tipos de da dos:<br />

• É m ais fácil descrever conteú do de docu mentos per missíveis<br />

• É m ais fácil validar os dados<br />

• É m ais fácil trabalhar com da dos de u m banco de da dos<br />

• É m ais fácil definir restrições <strong>ao</strong>s dados<br />

• É m ais fácil definir padrões /for matos de dados<br />

• É m ais fácil converter dados entre diferentes tipos<br />

<strong>XML</strong> <strong>Schema</strong>s usa sintaxe <strong>XML</strong><br />

Outra gran de força do <strong>XML</strong> Sche ma é ser escrito em <strong>XML</strong>.<br />

Por isso:<br />

• Você não te m que aprender outra linguagem<br />

• Você pode usar seu editor <strong>XML</strong> para editar seus arquivos <strong>XML</strong> Sche ma<br />

• Você pode usar seu parser <strong>XML</strong> para verificar seus arquivos <strong>XML</strong> <strong>Schema</strong><br />

• Você pode m a nipular seu <strong>XML</strong> <strong>Schema</strong> com <strong>XML</strong> DOM<br />

• Você pode usar seu <strong>XML</strong> <strong>Schema</strong> com XSLT<br />

Comunicação segura de dados com <strong>XML</strong> <strong>Schema</strong>s<br />

Quando u m dado é enviado de u m ponto para outro é essencial que as d uas parte<br />

te m a mes ma expectativa sobre o conteú do.<br />

Com <strong>XML</strong> <strong>Schema</strong>s, o re metente pode descrever o da do de for ma que o receptor<br />

vá enten der.<br />

Uma data como "03 - 11 - 2004" vai, em alguns países, ser interpretada como 3 de<br />

Novembro e em outros com 11 de Março, m as u m elemento <strong>XML</strong> com u m tipo de<br />

dado como esse:<br />

2004­03­11<br />

assegura u m entendimento m út uo do conteú do porque o o tipo de da do <strong>XML</strong><br />

requer o for mato YYYY-MM-DD.<br />

<strong>XML</strong> <strong>Schema</strong>s são extensíveis<br />

<strong>XML</strong> <strong>Schema</strong>s são extensíveis, assim como <strong>XML</strong>, porque eles são escritos em <strong>XML</strong>.<br />

Com u ma definição extensível você pode:


• Reutilizar seu <strong>Schema</strong> em outros Sche mas<br />

• Criar seus próprios tipos de da dos derivados dos tipos pa drões<br />

• Referenciar m últiplos esque mas em u m m es mo docu mento<br />

Bem formado não é o bastante<br />

Um docu mento <strong>XML</strong> be m for ma do é u m docu mento que aten de às regras de<br />

sintaxe <strong>XML</strong>:<br />

• deve começar com u m declaração <strong>XML</strong><br />

• deve ter u m elemento raiz ú nico<br />

• todas tags abertas precisam ser fechadas<br />

• tags <strong>XML</strong> são sensíveis à caixa alta / baixa<br />

• todo elemento deve ser fechado<br />

• todo elemento te m que ser propria mente aninha do<br />

• todos valores de atributos precisa m estar entre aspas<br />

• entidades <strong>XML</strong> devem ser usadas para caracteres especiais<br />

Mesmo se os docu mentos são be m for ma dos eles pode m conter erros, e estes<br />

erros po de m ter conseqüências sérias. Imagine essa situação: você compra 5<br />

tonners de impressoras laser, <strong>ao</strong> invés de 5 impressoras laser. Com <strong>XML</strong> <strong>Schema</strong>s,<br />

a m aioria destes erros pode m ser detectados pelo seu software de validação.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!