190 likes | 274 Views
XML DTD’s e Schemas. Sharp Shooters .NET Universidade Federal de Pernambuco Centro de Informática Recife, 21/10/2002 Autor: Marden Menezes Costa. Última reunião. O que é XML? Como escrever código XML Documentando códigos C# com XML. Hoje. Padrões Dados com XML
E N D
XMLDTD’s e Schemas Sharp Shooters .NETUniversidade Federal de PernambucoCentro de InformáticaRecife, 21/10/2002Autor: Marden Menezes Costa
Última reunião • O que é XML? • Como escrever código XML • Documentando códigos C# com XML
Hoje... • Padrões • Dados com XML • Visão geral de DTD e Schemas XML
Falando de Padrões • Informações desencontradas • Informações que só eram entendidas localmente • Torre de Babel na Informática • A solução : Padrões • Empresas surgiram apenas para esse fim
Dados • Antigamente havia transmissão via arquivos de texto • Causa constante de problemas entre empresas ou sistemas diferente; • Os dados não eram auto-explicativos: não se sabia o que cada dado queria dizer • Vejamos um exemplo: • 18/02/1980,"Rua Canario, 33",Mariquinha,2233-0997 • 23/04/1972,"Al das Rosas, 443",José,9987-0986
XML como solução Utilizando XML, qualquer sistema pode receber os dados e saber o que cada um representa. Veja como fica o código acima em XML:
XML como solução <?xml version="1.0" encoding="utf-8" ?> <MeusDados> <Pessoas> <Nome>Mariquinha</Nome> <Endereco>Rua Canario, 33</Endereco> <Telefone>2233-0997</Telefone> <DataNascimento>18/02/1980</DataNascimento> </Pessoas> <Pessoas> <Nome>José</Nome> <Endereco>Al das Rosas, 443</Endereco> <Telefone>9987-0986</Telefone> <DataNascimento>23/04/1972</DataNascimento> </Pessoas> </MeusDados>
XML como solução Note o seguinte: • A primeira linha é obrigatória e indica a versão do XML e qual o conjunto de caracteres usados no documento. • MeusDados indica o nome do conjunto de dados • Pessoas dá nome a cada linha. Como os dados são oriundos de um banco de dados relacional, todas as linhas têm o mesmo nome que corresponde ao nome da tabela; • Os dados têm uma “etiqueta” que os identifica.
DTD • Um problema foi solucionado, mais isso causa outros... • Como validar os dados que foram recebidos? • DTD é uma das soluções para esse problema!
DTD • Definição do Tipo de Documento (DTD); • Herança da lingugem SGML; • Sintaxe diferente de XML; • Define o formato de um documento XML, a estrutura de um documento válido; • A ordem e a quantidade de elementos em um documento XML, formando um padrão para um certo documento; • Os elementos de um documento XML terão seus atributos definidos, assim como outras características de um XML • A DTD pode ser declarada isoladamente ou internamente eu um documento XML
Código com DTD <?xml version="1.0"?> <!ELEMENT FIGURE (IMAGE, CAPTION)><!ATTLIST FIGURE DESCRIPTION CDATA #IMPLIED><!ELEMENT IMAGE EMPTY><!ELEMENT CAPTION (#PCDATA)> O elemento FIGURE deve conter IMAGE e CAPTION e, ao mesmo tempo, deve ter um atributo de descrição. O elemento IMAGE deve estar vazio e o elemento CAPTION deve possuir um texto, instruções de processamento e quaisquer outros textos XML à exceção de outros elementos Descrição retirada de: http://www.imasters.com.br/web/canais/xml/artigos/principais_caracteristicas.asp
XML Schemas • Mas a DTD não resolve um problema: como definir os tipos dos dados? Como eu poderia dizer, por exemplo, que o número de uma não pode conter palavras? • XML Schemas resolve! • Linguagem com sintaxe XML; • Possibilidade de definir os tipos para o conteúdo e os atributos dos elementos XML; • XML Schemas podem ser definidos isoladamente ou internamente em no documento XML;
DTD • Definição do Tipo de Documento (DTD); • Herança da lingugem SGML; • Sintaxe diferente de XML; • Define o formato de um documento XML, a estrutura de um documento válido; • A ordem e a quantidade de elementos em um documento XML, formando um padrão para um certo documento; • Os elementos de um documento XML terão seus atributos definidos, assim como outras características de um XML • A DTD pode ser declarada isoladamente ou internamente eu um documento XML
XML Schemas O Visual Studio .NET permite a edição tanto de arquivos XML com dados como também de “schema”.
XML Schemas Clicando em XML Schemas, abrirá uma janela onde você poderá desenhar a tabela com as ferramentas do Toobox e modificar as características necessárias. O próximo slide mostra um exemplo feito por Mauro Sant’anna.
XML Schemas O XML Schema desenhado no Visual Studio .NET cria o seguinte código (próximo slide):
Referências • Demos aqui apenas uma leve introdução ao modo de trabalhar com dados utilizando XML, para maiores informações: • www.imasters.com.br • www.microsoft.com.br (coluna de Mauro Sant’anna)