Vous êtes sur la page 1sur 30

Aldemir Almeida

Evyslayny Magalhães
Leila Tenório
O que é XML?
 XML é uma meta-linguagem de marcação
linguagem de marcação
○ semelhante à linguagem HTML
○ utiliza tags para descrição os dados
 tag: indica a intenção do dado e delimita o seu conteúdo
meta-linguagem
○ XML é um padrão aberto
 cada aplicação define o protocolo (linguagem) para a
representação dos seus dados
 Dados no formato XML são descritos em um
documento XML
Exemplo de Documento XML
<?xml version="1.0" >
<livros>
<livro>
<ISBN>1234</ISBN>
<titulo>Inside
XML</titulo>
<editora>New
Riders</editora>
<edição>3ª</edição>
<autor>

<nome>Steven</nome>

<endereco>NY</endere
co>
</autor>
<autor>

<nome>Holzner</nome
Documento XML Bem Formado
 Requisitos
contém um elemento raiz
define elementos com tags inicial e final
define atributos com conteúdo delimitado por
aspas simples (‘) ou aspas duplas (“)
 Parser XML
programa que verifica se um documento XML é
bem formado
○ alguns browsers Web são capazes de realizar tal
verificação
Padrões XML

 DTD (Document Type Definition)


Permite se definir uma gramática para criar
documentos específicos
 Namespaces
Permite utilizar nomes repetidos para tags
utilizando espaços de nomes diferentes

 XML Schema
Estende o conceito de DTDs
Padrões XML
 XLInks
 Links entre documentos
 Uma forma generalizada dos conceitos de âncoras e links de HML
 XPointer
 Permite um recurso ser identificado pela sua localização
contextual.
 XPath
 É uma linguagem para referenciar partes de um documento XML
 Xquery
Permite a consulta dentro de documentos
Padrões XML
 XSLT (eXtensible Style Language Transformation)
 Transformação de documentos XML
 CSS
Linguagem de estilo. Foi definida primeiramente para
HTML
 DOM( Document Object Model)
Manipula documentos XML como sendo uma árvore de
objetos
 SAX(Simple API for XML)
Utiliza o conceito de eventos para a manipulação de
documentos XML
Tecnologia XML da W3C
 Principais facilidades similares a SGBDs
definição de esquemas
○ DTD e XML Schema
linguagens de consulta
○ XPath e XQuery
modelo de representação e API de acesso
○ DOM
DOM (Document Object Model)
 Modelo de dados para XML
estrutura hierárquica (árvore)
métodos de acesso (API DOM)
○ principais classes de objetos
 document, node, nodelist e element
○ execução de consultas e atualizações de dados
 Parsers DOM
validam um doc XML
geram um objeto document
Objetos do Modelo DOM

doc.documentElement.childNodes.item(0).getElementsByTagName(“autor”).
item(1).firstChild.firstChild.data
objeto nodo lista de 1o lista de 2o 1o nodo 1o nodo filho:
DOM raiz livros livro autores autor filho: nome conteúdo de nome texto
Benefícios da XML

 Documentos XML são como banco de dados


de informações
 O conteúdo dos documentos pode ser
manipulado e reorganizado pelo browser
 Permite a troca de dados na Web
 Facilita a publicação de dados
Benefícios da XML
 Permite que um mesmo conteúdo seja usado de
diferentes formas. Documentos XML podem ser
usados e reusados de diferentes formas e em
diferentes formatos
 Os autores de documentos XML podem
concentrar-se no conteúdo e não na formatação
 Oferece o contexto no qual os dados estão
sendo usados
Benefícios da XML
 Compartilhar dados entre diferentes sistemas e
diferentes plataformas de sotwares
 Publicar dados armazenados em Banco de Dados
 “Parse” XML para acessar o seu conteúdo
 Manipular XML usando DOM
 Consultar XML usando Xpath ou Xquery
 Transformar XML usando XSLT
Tecnologia XML x Tecnologia BD
 Similaridades
documentos XML mantém coleções de dados
tecnologia XML oferece mecanismos para definição e
manipulação de dados
○ DTD e XSD, XPath e XQuery, DOM, ...
 Diferenças
dado XML não é um dado convencional
○ dado semi-estruturado
tecnologia XML é carente de alguns mecanismos de
gerenciamento de dados
○ integridade, visões, gerência adequada transações, ...
Dado Semi-Estruturado
 Principais características
estrutura heterogênea
estrutura auto-descritiva
estrutura parcial
Estrutura heterogênea
 Cada instância de dado pode ter um
esquema particular

<autor>
<nome>Ana Ramos</nome>
<autor> <endereco>
<nome>Joao Silva</nome> <rua>Brasil</rua>
<endereco>rua B,23</endereco> <numero>767</numero>
<eMail>jsilva@inf.ufsc.br</eMail> <cidade>Fpolis</cidade>
</autor> </endereco>
<fone>33313333</fone>
<fone>33313332</fone>
</autor>
Estrutura auto-descritiva
 Cadainstância 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 descrição de uma
instância pode ser estruturada

<capítulo numero = 2 titulo = “Tecnologia XML”>


Este capítulo descreve ... XML<ref>(Mel03)</ref>.
XML é um padrão ...
<secao numero = 1>
<titulo>DTD</titulo>
Esta seção descreve ...
</secao>
...
</capítulo>
XML & BD
 DadosXML não são naturalmente
adequados para armazenamento em BDs

Dado de BD Dado XML


representação homogênea representação heterogênea

esquema independente dos representação auto-descritiva


dados
totalmente estruturado estrutura parcial

esquema enxuto esquema extenso


XML & BD

Quando dados XML necessitam ser mantidos em um BD,


existe a necessidade de se gerenciar adequadamente estes dados.
Novos desafios surgem em decorrência desta necessidade, uma
vez que a tecnologia de BD precisa ser adaptada para garantir o
armazenamento e manipulação de dados XML de forma eficiente.
Gerenciamento de Dados XML através de 
BDs Relacionais
 Utilizados para o armazenamento de
dados XML quando o foco da aplicação é nos dados propriamente
ditos e não no formato XML.

Por outro lado, os SGBDs relacionais devem se preocupar com a


forma como dados de documentos XML devem ser armazenados e
com a definição de métodos de acesso específicos para estes dados
Armazenamento de Dados
XML
O armazenamento de dados XML em um BD relacional exige a definição de
um mapeamento entre o esquema do documento XML e o esquema do BD.
As seguintes soluções são geralmente adotadas:

1. Uso de aplicações middleware: o objetivo neste caso é


transferir dados entre BDs, ou seja, não há o armazenamento
de novos documentos XML, mas sim o armazenamento de
dados de BD que foram mapeados para um formato XML.

2. Suporte a dados XML pelo SGBD: o SGBD sabe como


converter documentos XML em esquemas relacionais e vice-
versa.
Características do
gerenciamento de dados
 Coleções
 Consultas
 Atualizações
 Gerenciamento de transações
 APIs
 Round-Tripping
 Armazenamento de entidades externas
 Redundância de dados
 Integridade referencial
Mostrar exemplo de como
popular o mysql com o XML
•Funções que manipulam XML utilizadas pelo MySQL
(versão 5.1.5):

• ExtractValue(): extrai um valor de uma string XML


através de uma notação Xpath;

• UpdateXML(): retorna fragmento substituído de um


documento XML.
Exemplo de função
ExtractValue()
Extrai valor X

Extrai valor Y

Extrai valor NULO (não achou)


Exemplo de função UpdateXML():

val1: substitui tag <a/> (somente root) do xml por <e>fff</e>


val2: substitui tag <b/> (somente root) do xml por <e>fff</e>
val3: substitui qualquer tag <b/> do xml por <e>fff</e>

Conclusão

A utilização de XML na representação de dados na web tende a


ser mais difundida, devido à necessidade de persistência de
dados por parte das aplicações web, e às vantagens da lingua-
gem. Contudo, XML não cresceu o suficiente a ponto de superar
os SGBDs relacionais. Como alternativa a este fato, alguns
SGBDs já dão suporte a operações envolvendo a linguagem
XML (Oracle, Postgres). Existem também banco de dados
nativos, cujos dados são armazenados utilizando-se apenas
XML (XstreaamSB, Xquest, DB2 Express-C 9).

Vous aimerez peut-être aussi