You are on page 1of 29

Sumrio

1. 2. 3. 4. 5. 6. 7. 8. Introduo a Aplicaes No-Convencionais Reviso de Modelagem Conceitual BD Orientado a Objetos (BDOO) BD Objeto-Relacional (BDOR) BD Temporal (BDT) BD Geogrfico (BDG) BD XML Pesquisa em Gerncia de Dados na Web

XML (eXtensible Markup Language)


Linguagem criada pela W3C W3C (World Wide Web Consortuim)
Objetivo da W3C? Recomendao de padres e protocolos para a Web
quais so as reas de atuao da W3C?
representao de dados (ex.: XML), semntica de dados (ex.: OWL), servios Web e acesso a eles (ex.: WSDL), apresentao de dados na Web (ex.: HTML), . . .

Quem faz parte da W3C? Acadmicos, pesquisadores e empresrios Informaes sobre a W3C? http://www.w3c.org

Linguagem XML
No linguagem de programao
No possui comandos pr-definidos que permitem escrever programas
exemplos: IF, WHILE, FOR, ...

No linguagem de consulta
No possui comandos de acesso a um BD No retorna dados

uma linguagem de marcao


Marca (delimita) uma informao!

Linguagem de Marcao
Marca (ou tag)
<marca>Delimita partes de um texto</marca> Pode ter um significado pr-definido e nico
Exemplo: formatao da apresentao de dados em um browser Web (HTML)
<TABLE BORDER=2> <TR> <TD>linha 1, <TD>linha 1, <TD>linha 1, </TR> <TR> <TD>linha 2, <TD>linha 2, <TD>linha 2, </TR> </TABLE> coluna 1</TD> coluna 2</TD> coluna 3</TD> coluna 1</TD> coluna 2</TD> coluna 3</TD>

Linguagem de Marcao
Marca
Pode no ter um significado pr-definido
inteno do dado particular de uma aplicao
exemplo (em XML): qual o significado de Cliente?
<Cliente> <nome>Ronaldo Mello</nome> <endereco>Rua X, 111 - Florianopolis</endereco> <fone> <Cliente> <DDD>48</DDD> <nome>Totoh</nome> <numero>99889988 <endereco> </numero> <rua>Rua X</rua> </fone> <numero>111</numero> <RG>6060606060</RG> <cidade>Florianopolis</cidade> </Cliente> </endereco> <fone>4899889988</fone> Sistema da Locadora de Vdeo <nascimento>12022003</nascimento> </Cliente> Sistema da Clnica Veterinria

Linguagem de Marcao
XML
uma meta-linguagem de marcao
Usurio define as tags de acordo com o significado (a semntica) desejada para o dado na aplicao
<Locadora> <Cliente> <nome>Ronaldo Mello</nome> ... </Cliente> <Cliente> <nome>Carina Dorneles</nome> ... </Cliente> Facilitou a compreenso ... da inteno dos dados! </Locadora>

Principais Utilidades da XML


Publicao de dados
Representao organizada de um conjunto de dados estruturados ou semi-estruturados em um documento texto (documento .xml)

Intercmbio de dados e mensagens


Troca de informaes entre softwares

Descrio de metadados de uma aplicao


Definio de classes de dados a serem instanciados em um repositrio de dados ou BD

Publicao de Dados
Exemplo: Cadastro de Clientes mantido no Sistema da Locadora de Vdeo

PDF
<Cliente> <nome>Ronaldo Mello</nome> ... </Cliente>

HTML

Cli1.xml

Visualizao em browser Web

XML ...

Publicao de Dados Exemplo Real


Domnio de Bibliografia Acadmica em Computao
DBLP (Digital Bibliography & Library Project)
http://www.informatik.uni-trier.de/~ley/db/index.html
<dblp> <article> <journal> <volume>15</volume> <number>2</number> <title>...</title> <author>Michael Carey</author> </journal> </article> <article>... </article> ... </dblp>

SIGMOD Record (Peridico) http://www.sigmod.org/record/xml/

<SigmodRecord> <issues> <issue> <volume>15</volume> <number>2</number> <articles> <article> <title articleCode="152009"> ...</title> <authors> <author AuthorPosition="01"> Michael J Carey</author> ... </authors>... </article> ...

Dado Estruturado e Semi-Estruturado


XML representa ambos os tipos de dados
Dado Estruturado: todo o seu contedo possui uma inteno explicitamente definida Dado Semi-Estruturado: parte do seu contedo possui uma inteno explicitamente definida

Exemplos
<Cliente> <nome>Drika</nome> <endereco> <rua>Rua X</rua> <numero>111</numero> <cidade>Florianopolis</cidade> </endereco> <fone>4899889988</fone> <nascimento>12022003</nascimento> </Cliente>

Estruturado Semi-Estruturado

<anuncio> <transacao>Vendo</transao>, por motivo de viagem,<produto>automvel Gol I 97</produto>, cor azul, em timo estado de conservao. Preo: R$<preco>9000,00</preco>. Tratar com <contato><nome>Pedro</nome> fone</fone> 99991111</fone></contato> </anuncio> <anuncio> Ateno! Se voc deseja vender o seu veculo, ns realizamos o melhor negcio. <transacao> Compramos</transao> qq tipo de <produto> veculo</produto>. Ligue-nos: <contato> <fone>32340011</fone> ou envie um email:<eMail>lojao@bla.com.br</eMail><contato> </anuncio>

Dado Semi-Estruturado
Principais caractersticas
estrutura heterognea estrutura auto-descritiva estrutura parcial

Estrutura heterognea
Cada instncia de dado pode ter um esquema particular
<autor> <nome>Ana Ramos</nome> <endereco> <rua>Brasil</rua> <numero>767</numero> <cidade>Fpolis</cidade> </endereco> <fone>33313333</fone> <fone>33313332</fone> </autor>

<autor> <nome>Joao Silva</nome> <endereco>rua B,23</endereco> <eMail>jsilva@inf.ufsc.br</eMail> </autor>

Estrutura auto-descritiva
Cada instncia de dado carrega o seu esquema
<autor> <nome>Ana Ramos</nome> <endereco> <rua>Brasil</rua> <numero>767</numero> <cidade>Fpolis</cidade> </endereco> <fone>33313333</fone> <fone>33313332</fone> </autor>

Estrutura parcial
Apenas parte da descrio de uma instncia pode ser estruturada
<captulo numero = 2 titulo = Tecnologia XML> Este captulo descreve ... XML<ref>(Mel03)</ref>. XML um padro ... <secao numero = 1> <titulo>DTD</titulo> Esta seo descreve ... </secao> ... </captulo>

Intercmbio de Dados
Exemplo: Transferncia de Dados em um Sistema Distribudo com BDs Heterogneos
BD Oracle
Clientes
ID 01 02 Nome Ronaldo ...
<Cliente> <nome>Ronaldo</nome> <endereco> <rua>X</rua> <numero>111</numero> ... </endereco> <fone>4899889988</fone> <sexo>M</sexo> </Cliente>

BD Postgres
Pessoas
Rua X ... ... Sexo M ID 01 02 Nome Ronaldo ... ID-E 100 ... ... Sexo M

Endereos
ID 100 101 Rua X ... Numero 111 ... ... CEP 88000-800

Protocolo de Troca: Cli.xml

Descrio de Metadados
Exemplo: Ontologias OWL
Ontologia: til para a descrio dos conceitos (fatos) de um domnio e seus relacionamentos OWL (Ontology Web Language): dialeto XML para definio de ontologias (recomendao W3C 2004)
<owl> <Class ID=Pessoa>... </Class> <Class ID=Autor> <subClassOf resource=Pessoa> ... </Class> ... </owl>

Sintaxe XML - Exemplo de Dado XML


<livro> tag (inteno do dado) <titulo>Tecnologia XML</titulo> <autor> <nome>Joo da Silva</nome> contedo do dado <eMail>js@hotmail.com</eMail> <endereco> <comercial>rua A, 34 Fpolis - SC</comercial> <residencial>rua B, 5 Fpolis SC</residencial> </endereco> </autor> ... <capitulo nome=Introduo>Este captulo apresenta ... <secao> <nome>Linguagens de Marcao</nome> ... </secao> </capitulo> ... </livro>

estrutura hierrquica, ordenada e complexa

Sintaxe XML Documento XML


Dados XML so definidos em um documento XML (.xml) Um documento XML contm
cabealho dados
elementos simples ou complexos
elemento: contedo + tags que o delimitam

atributos de elementos
atributo: propriedade simples de um elemento

referncias a entidades

comentrios instrues de processamento

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml eXtensible Markup Language> ... ]> <listaLivros> <livro ISBN=112> <ttulo>Tecnologia &xml</ttulo> <autor> <nome>Joo da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... <figura arquivo=exemplo.jpg/> </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml eXtensible Markup Language> ... ]> <listaLivros> <livro ISBN=112> Cabealho <ttulo>Tecnologia &xml</ttulo> (instruo de processamento <autor> inicia com <? e termina com ?>) <nome>Joo da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... <figura arquivo=exemplo.jpg/> </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml eXtensible Markup Language> ... ]> Version: atributo obrigatrio <listaLivros> que indica a verso do <livro ISBN=112> padro XML utilizada <ttulo>Tecnologia &xml</ttulo> (existe apenas uma verso) <autor> <nome>Joo da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... <figura arquivo=exemplo.jpg/> </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [ cdigo utilizado nas <!ENTITY xml eXtensible Markup Language> lnguas latinas ... ]> encoding: atributo opcional <listaLivros> que indica o cdigo de <livro ISBN=112> caracteres presente no <ttulo>Tecnologia &xml</ttulo> Documento. Default: UTF-8 <autor> <nome>Joo da Silva</nome> Outros cdigos: UTF-16, <eMail>js@hotmail.com</eMail> ISO-10646, UCS-2, UCS-4, </autor> US_ASCII, ... ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... <figura arquivo=exemplo.jpg/> </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> comentrio <!DOCTYPE listalivros [ <!ENTITY xml eXtensible Markup Language> ... ]> <listaLivros> <livro ISBN=112> <ttulo>Tecnologia &xml</ttulo> <autor> <nome>Joo da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... <figura arquivo=exemplo.jpg/> </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml eXtensible Markup Language> ... ]> instruo especial: indica a existncia <listaLivros> de uma DTD que valida o documento <livro ISBN=112> <ttulo>Tecnologia &xml</ttulo> <autor> <nome>Joo da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... <figura arquivo=exemplo.jpg/> </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml eXtensible Markup Language> ... elemento raiz ]> elemento simples <listaLivros> <livro ISBN=112> <ttulo>Tecnologia &xml</ttulo> <autor> elemento complexo <nome>Joo da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> elemento misto ... <captulo nome=Introduo>A &xml foi ... <seo> elemento vazio <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> <figura arquivo=exemplo.jpg/> </captulo> ... </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml eXtensible Markup Language> ... ]> atributo <listaLivros> <livro ISBN=112> <ttulo>Tecnologia &xml</ttulo> <autor> <nome>Joo da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml eXtensible Markup Language> ... definio de ]> entidade <listaLivros> <livro ISBN=112> <ttulo>Tecnologia &xml</ttulo> <autor> <nome>Joo da Silva</nome> referncia a <eMail>js@hotmail.com</eMail> uma entidade </autor> ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... </livro> ... </listaLivros>

Exemplo de Documento XML


<?xml version =1.0 encoding ="ISO-8859-1 ?> <!- documento XML sobre livros --> <!DOCTYPE listalivros [
<!ENTITY xml eXtensible Markup Language>

... ]> <listaLivros> <livro ISBN=112> instruo CDATA <ttulo>Tecnologia &xml</ttulo> (seu contedo no <autor> considerado pelo parser <nome>Joo da Silva</nome> que valida a sinxtaxe, como <eMail>js@hotmail.com</eMail> caracteres reservados) </autor> ... <captulo nome=Introduo>A &xml foi ... <seo> <nome>O uso do elemento <![CDATA[<?xml>]]></nome> ... </seo> </captulo> ... </livro> ... </listaLivros>

Documento XML Bem Formado


Requisitos
contm um elemento raiz define elementos com tags inicial e final Nomes de elementos e atributos no podem ter espao em branco define atributos com contedo delimitado por aspas simples () ou aspas duplas ()

Parser XML
programa que valida a sintaxe de um documento XML
alguns browsers realizam esta validao XML case-sensitive (<Xml> </xml>)

You might also like