Gestão de dados XML - Introdução Helena Galhardas DEI IST.

56
Gestão de dados XML - Introdução Helena Galhardas DEI IST

Transcript of Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Page 1: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Gestão de dados XML - Introdução

Helena Galhardas

DEI IST

Page 2: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Agenda

Contexto O que é o XML? Herança Dialectos Vantagens de XML Uma vista de olhos sobre a linguagem Tipos em XML Alguns standards importantes Sumário

Page 3: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Revolução da Web

HTML tem sido a linguagem da Web Mesmo se existe uma grande quantidade de

ficheiros .doc, .ps, .pdf, .jpg, .gif, som, vídeo Existem milhares de páginas

Públicas/privadas, estáticas/dinâmicas, vísiveis/escondidas

Suporte natural para a informação distribuída Destinada a seres humanos e, cada vez mais,

para as aplicações

Page 4: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Aplicações sobre dados distribuídos sobre a Web HTML não está adaptado a estas aplicações

B2C, B2B, bibliotecas on-line, ... Não chega aceder a um conjunto de páginas

HTML como nos motores de busca Estas aplicações necessitam de “tipos” para

representar a estrutura dos dados Que modelo de dados então adoptar?

Base de Dados?

Page 5: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Modelo BD relacional vs Modelo dados Web (1) Conhece-se a estrutura das tabelas e a

semântica das colunas; não sobre a Web Estrutura dos dados fixa vs irregular

Falta de dados Estrutura explicita vs implicita Alguns dados podem não ter estrutura

Texto, imagens Alguns dados podem não ser conforme a

estrutura

Page 6: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Modelo BD relacional vs Modelo dados Web (2)

Esquema de dados: pode ser deduzido a posteriori pode ser complexo e grande pode ser ignorado pelas interrogações pode evoluir mto rapidamente.

Page 7: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Junção de dois modelos resulta ....

Gestão de documentos

SGML

HTML

Documentação hipertexto

Gestão de dados

Bases de Dados estruturadas(relacional e OO)

Bases de dadossemi-estruturadas

Page 8: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Dados semi-estruturados

Systèmes Documentaire

SystèmesRelationnels

Dados estruturados

Estrutura mínima

MetadadosHierarquia +

Books Contracts Catalogs Bank accounts

Emails Financial Reports Insurance Policies

Economical Analysis Derivatives Inventory

Political analysis Insurance Claims

Financial News Sports News Resumes

Page 9: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Acesso a dados XML Características das interrogações:

Bases de dados (estilo SQL/OQL) Navegação Palavras chaves (estilo motor de pesquisa Web) e “pattern

matching” (estilo comando “grep”)

Interrogação de dados e estrutura ao mesmo tempo – a estrutura não é totalmente conhecida previamente

Interrogações têem em conta o factor tempo, sobre versões, arquivos, mudanças nos dados

Apoio linguístico: sinónimos, correcções de erros ortográficos

Page 10: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

O que é o XML?

Page 11: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

XML – eXtensible Markup Language

Formato universal para os documentos e dados semi-estruturados na Web

Versão simplificada de SGML Esperanto da Web que vai substituir o HTML Família de standards: XLink, XPath, XSL,

XQuery, SOAP, DOM, ....

Modelo de dados baseado em árvores e uma linguagem de representação baseada em “tags” (etiquetas)

Page 12: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Exemplo (estrutura e semântica entre tags)

ficha

nome trab

ln Ender. email

cidade CPGalhardas

Porto Salvo2790-380

[email protected]

IST Ensinar bem…

missãotipo

ensino

fn

fn

tipo

2790-380

Helena

ElementosAtributos

Dados

<ficha><nome>

<fn>Helena</fn><ln>Galhardas</ln>

</nome><trab tipo=“ensino">

IST<ender><cidade>Porto Salvo</cidade><cp>92310</cp></ender><email>[email protected]</email>

</trab><missão>Ensinar bem</missão></ficha>

Page 13: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Observações (1)

XML fornece uma sintaxe, não fornece semântica apriori

As tags não têm apresentação ou significado definido pela linguagem, mas podem fazer sentido para as aplicações

XML define apenas a estrutura e conteúdo de um documentos, não o seu comportamento nem o seu tratamento

Page 14: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Observações (2)

Desenvolvida e promovida pelo W3C Indústria: Oracle, IBM, Microsoft, CompaQ, Xerox,... Laboratórios de investigação: MIT, INRIA, etc

Sobre a Internet: publicação e troca de informação Simplicidade: produção, leitura, análise sintática,

compreensão Os mesmos dados com diferentes folhas de estilo

disponíveis para diferentes suportes e numerosas aplicações

Page 15: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Múltiplos standards

XML: dados [DTD],Xschema, XSD: tipos

Os documentos devem ser bem formados, mas os tipos não são obrigatórios

XSLT, Xquery: transformação e interrogações XPATH: caminhos XLink: ligações entre documentos DOM: API SOAP: computação distribuída ...

Page 16: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Herança

Page 17: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

XML como sucessor de HTML HTML: Hypertext Markup Language

Um cjto pré-definido de tags sobretudo para apresentação, definido por uma norma

Semântica das tags: h1,...,h6, título, endereço, ... Dão indicações

estruturais Center, hr, b, i, big, small, ... Não servem senão a

descrever um formato de página

Page 18: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Problemas do HTML

A apresentação do documento está fortemente dependente da interpretação que faz o navegador

É necessário ter várias versões do documento em função do meio

A indexação dos documentos só se pode fazer sobre a parte textual

É um documento e não são dados!

Page 19: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

SGML e etiquetagem (tagging) estrutural Era necessário passar de etiquetagem de

apresentação para etiquetagem estrutural XML descendente de SGML utilizam etiquetagem

estrutural SGML: Standardized Generalized Markup

Language Mto utilizada em documentação técnica Documentação tem que ser precisa e não ambígua SGML + vocabulário controlado: ontologia

Meta-linguagens de descrição e de troca de documentos estruturados Meta-linguagem: possibilidade de definir dialectos sobre

domínios especificos

Page 20: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

XML vs SGML

SGML Mto utilizada na indústria para grandes documentações

técnicas Demasiado complexa para uma utilização pública em geral

ou em domínios de aplicação menos exigentes em termos de precisão

Mtos aspectos complicados e inúteis XML

Utiliza 10% do SGML para representar de forma eficaz a maior parte das necessidades das aplicações

Page 21: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Exemplo de documento

Saint Pétaouchnoque,Le 30 nivose 2004

Editions Duschmol,12 rue SchmurzYT123 Rapis

WindStar 2000Les rosières en bugetAB562 Saint Pétaouchnoque

Tel: 012133564Fax: 879765426

Objet: ben quoi?

Monsieur,

Bla bla bli, bli blo bla, kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf jùkvbc lkhdklvn v

Veuillez agréer patati patata vachement sincères.

signature

Pied de page

Logotipo

Data

Destinatário

Corpo

Rodapé

Cabeçalho

Objecto

Saudação

Fórmula de simpatia

Assinatura

Page 22: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Representação XML…<data> 30 Nivose 2004 </data>

<saudação> Monsieur, </saudação>

<corpo> <paragrafo> Ici le premier paragraphe </paragrafo> <paragrafo> et là le deuxième </paragrafo></corpo>

</carta>

<carta><cabeçalho> <logotipo loc="lgraph.vml"/> <endereço> &abrev-adresse; </endereço></cabeçalho><destinatário> <nome> Mr Schnock </nome> <endereço> <rua> rue des églantiers </rua> <cidade> Saint Glin </cidade> </endereço></destinatário><objecto> bla bla </objecto>…

Page 23: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Aspectos importantes

A representação desta carta em XML não comporta nenhuma indicação sobre a apresentação do documento Os aspectos gráficos estão ausentes da fonte

XML Estes aspectos serão definidos por uma style

sheet. Uma style sheet é um cjto. de regras para

especificar a realização concreta de um documento sobre um meio em particular

Page 24: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Principio de funcionamento das sshs

Saint Pétaouchnoque,Le 30 nivose 2004

Editions Duschmol,12 rue SchmurzYT123 Rapis

WindStar 2000Les rosières en bugetAB562 Saint Pétaouchnoque

Tel: 012133564Fax: 879765426

Objet: ben quoi?

Monsieur,Bla bla bli, bli blo bla, kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf jùkvbc lkhdklvn v

Veuillez agréer patati patata vachement sincères.

signature

Pied de page

<carta> <cabeçalho> . . . </cabeçalho>

<corpo> . . . </corpo></carta>

Se carta então …Se cabeçalho então …Se corpo então

Se paragrafo entãoType new roman,size 12, identar primeira linha

Se … então …

Page 25: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Alguns dialectos

Page 26: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Ideia geral

Para uma determinada aplicação, define-se uma sintaxe (um dialecto XML) e define-se a sua semântica.

Exemplos: XHTML, MathML, SVG, XSL, SOAP, WSDL, XML Schema

Page 27: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

XHTML = HTML com uma sintaxe XML Reformulação de HTML como sendo uma

aplicação XML Fecha-se o que se abriu

Interesse: sintaxe mais rigorosa Importação de fragmentos de documentos de

outros domínios Possibilidade de utilizar aplicações XML standard

Page 28: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

MathXML

Permite a troca e tratamento de expressões matemáticas sobre a Web

Facilita a inserção de expressões matemáticas em docs HTML ou XML

Page 29: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

SVG: gráficos 2D

Linguagem de descrição de gráficos 2D Gráficos vectoriais Interactivos e dinâmicos

Animações declarativas Programação ECMAScript

Page 30: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

SMIL

Video Sincronização entre imagem e som Sincronização entre várias janelas

Page 31: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

SOAP: Simple Object Access Protocol Protocolo de tansferência de dados entre

aplicações distantes Adaptado para ser utilizado debaixo do

protocolo HTTP

Page 32: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Exemplo SOAP

<evp:Envelopexmlns:evp='http://schemas.xmlsoap.org/soap/envelope/'evp:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'> <evp:Header> <t:Transaction xmlns:t='http://stock.org/registry/updPriceList/'> evp:mustUnderstand='1'> 5 </t:Transaction> </evp:Header> <evp:Body> <m:GetLastTradePrice xmlns:'http://stock.org/registry/updPriceList'> <symbol>DEF</symbol> <company>DEF Corp</company> </m:GetLastTradePrice> </evp:Body></evp:envelop>

Page 33: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Vantagens do XML

Page 34: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Transferência e partilha de informação Uma comunidade de utilizadores (ex: indústria da

biotecnologia) inventa livremente as tags que lhe parecem úteis para representar as informações que pretendem trocar ou partilhar

Exemplo: diferentes maneiras de representar uma data<data> 5 Janvier 2000 </data>

<data>

<a>2000</a><m>01</m><d>05</d>

</data>

<data formato='ISO-8601'> 2000-01-05 </data>

Page 35: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Interoperabilidade das ferramentas de tratamento Ferramentas para dados XML

Parsers, editores, browsers,... Consequências:

Um servidor de documentos XML consegue responder a um conjunto de necessidades de uma organização

Um único editor permite tratar o conjunto de dados de uma organização

Page 36: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Modularidade e reutilização Cada utilizador é livre de definir as suas

próprias estruturas de documento ou utilizar as estruturas já definidas

Cada comunidade pode tb propôr estruturas normalizadas

Ser conforme uma estrutura pré-definida permite a automatização dos tratamentos e assegura a possibilidade de validação.

Page 37: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Acesso a fontes de informação heterógeneas A interrogação e a troca de dados entre

sistemas de informação hetérógeneos é mtas vezes complexa

XML pretende colmatar esse problema Formato de transferência de informação

normalizado independente da plataforma A indexação e interrogação de bases de

dados documentais grandes é baseada em informações estruturais e textuais.

Page 38: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Vista de olhos sobre a linguagem

Page 39: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Exemplos de documentos XML

<?xml version="1.0" standalone="yes" ?> <document>o <saudação> Bom dia! </saudação> </document>

<document> <saudação> Bom dia! </saudação> </document>

<document> </document>

<document/>

<document> Bom dia! </document>

Page 40: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

XML 1.0: estrutura de um elemento Um elemento tem a forma:

<nome atributo='valor'> conteúdo </nome> <nome> é a tag de abertura </nome> é a tag de fecho [ elementos vazios: <nome> </nome> ou </nome> ] «  »conteúdo é o conteúdo de um elemento!

Composto por uma lista (pode ser vazia) de texto, de outros elementos, de instruções de tratamento, de comentários

atr='valor' representa um cjto, eventualmente vazio, de atributos – pares (nome, valor).

Um elemento só pode ter um atributo com um determinado nome.

Page 41: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Exemplos de elementos

<a></a> </a><a>Olá, bom dia</a><a><b>…</b><b>…</b><a>…</a></a><a><b>…</b>Olá<b>…</b>Bom dia</a>

Conteúdo de um elemento = floresta de elementos ou de texto

Text UNICODE: pode representar qualquer alfabeto

Page 42: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

XML 1.0: Restrições sobre os nomes O nome de um elemento ou

atributo é uma cadeia não vazia de caracteres, escolhidos entre: Caracteres alfa-numéricos,

sublinhado (undescore), sinal menos, o ponto, caracter dois pontos (:)

Que deve satisfazer as seguintes condições: O primeiros caracter deve ser

alfabético ou sublinhado Os três primeiros caracteres não

devem formar uma cadeia cuja representação em minúsculas é "xml".

Exemplos de nomes de elementos

correctos incorrectos

_toto

Nom_sociedade

xsl:rule

X.11

1998-catalogo

XmlSpec

nome sociedade

Page 43: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

XML 1.0: Sintaxe dos atributos Um atributo é um par nome='valor' que

caracteriza um elemento Um elemento pode ter vários atributos (separados

por espaço): <relatório língua=‘pt' ult-modif='08/07/99'>

O valor de um atributo é uma cadeia delimitada por aspas (") ou ('). Não deve conter os caracteres ^, % e &.

Um elemento tem um cjto de atributos (a ordem não tem importância)

Page 44: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

XML 1.0: Documento bem formado Um documento XML deve representar uma

árvore de elementos Raiz do documento: um único elemento que

contem todos os outros

Page 45: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Tipos do XML

Page 46: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Estrutura de um documento Um documento XML é composto por:

Prólogo, eventualmente vazio

Uma árvore de elementos:

<?xml version="1.0" standalone="yes" ?>

<document> <saudacao> Bom dia! </saudacao> </document>

Page 47: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Prólogo Declaração XML facultativa

Indica ao processador a versão da linguagem usada, a codificação de caracteres usada, a existência de declarações exteriores ao documento

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes">

Declaração de tipo de documento, facultativa: Indica a estrutura particular a que deve obedecer o

documento<!DOCTYPE exemplo SYSTEM "exemplo.dtd" >

Page 48: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Documento bem formado sem tipificação

<?xml version="1.0" standalone="yes" ?>

<document>

<saudacao>

Bom dia!

</saudacao>

</document>

Page 49: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Documentos válidos Um documento é válido se:

Seu prólogo contém uma declaração de tipo de documento

A sua árvore de elementos respeita a estrutura definida pela declaração do tipo

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?> <!DOCTYPE document [ <!ELEMENT document (saudacao)> <!ELEMENT saudacao (#PCDATA)>]><document> <saudacao> Bom dia! </saudacao> </document>

Page 50: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Alguns standards importantes DOM (Document Object Model): interface de

programação que permite aceder à estrutura e conteúdo dos documentos

XPath: linguagem de expressões de caminho para aceder a partes do documento

XLink (XML Linking Language): XSLT: linguagem de transformação XQuery: linguagem de interrogação (o SQL

do XML)

Page 51: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Resumo

Page 52: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Resumo: o que interessa lembrar Semi-estruturado: casamento entre sistemas

documentais e SGBDs XML

Árvores ordenadas, etiquetadas e com ligações Semântica e tipos estão nas tags Formato de transferência de dados

Page 53: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Resumo: tecnologia

SGBDs: B-tree, hash table, optimização de interrogações

Documentos: Indíce texto, classificação

XML: Autómato de árvores

Page 54: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Resumo: problemas antigos ressurgem Optimização de interrogações distribuídas Integração de dados Procura de dados e serviços Gestão de actualizações de dados

Page 55: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Referências

Serge Abiteboul, Slides of the course: “Données Semistructurées”, Master Recherche Informatique Paris Sud, http://www-rocq.inria.fr/~abitebou/Master-SSD/index.html

Erik Wilde, Slides of the course: “XML Foundations”, UC Berkeley, http://dret.net/lectures/xml-fall07/

XML 1.0 Press Release, http://www.w3.org/Press/1998/XML10-REC

XML 1.0 Spec, http://www.w3.org/TR/REC-xml/ S. Abiteboul, P. Buneman, D. Suciu, “Data on the

Web, From Relations to Semistructured Data and XML”, Morgan Kaufmann, 2000.

Page 56: Gestão de dados XML - Introdução Helena Galhardas DEI IST.

Tópicos próximas aulas Introdução ao XML Modelo de dados semi-estruturado XSDL, DTD, XML Schema XSLT XPath XQuery