Post on 09-Jan-2016
description
XMLDTD’s e Schemas
Sharp Shooters .NETUniversidade Federal de Pernambuco
Centro de InformáticaRecife, 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• 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 dizerVejamos 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 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.
XML como solução
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 SchemasO 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)