A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gestão de dados XML - Introdução

Apresentações semelhantes


Apresentação em tema: "Gestão de dados XML - Introdução"— Transcrição da apresentação:

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

2 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

3 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

4 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?

5 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

6 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.

7 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 dados semi-estruturadas XML

8 Dados semi-estruturados
Estrutura mínima Dados estruturados Hierarquia Metadados Systèmes Relationnels Systèmes Documentaire Books Contracts Catalogs Bank accounts s Financial Reports Insurance Policies Economical Analysis Derivatives Inventory Political analysis Insurance Claims Financial News Sports News Resumes

9 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

10 O que é o XML?

11 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)

12 Exemplo (estrutura e semântica entre tags)
<ficha> <nome> <fn>Helena</fn> <ln>Galhardas</ln> </nome> <trab tipo=“ensino"> IST <ender> <cidade>Porto Salvo</cidade> <cp>92310</cp> </ender> </trab> <missão>Ensinar bem </missão> </ficha> ficha nome trab missão tipo fn ln IST Ender. ensino Ensinar bem… Galhardas cidade CP Helena Porto Salvo Elementos Atributos Dados fn tipo

13 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

14 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

15 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 ...

16 Herança

17 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

18 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!

19 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

20 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

21 Exemplo de documento Cabeçalho Logotipo Objecto Data Saudação
Saint Pétaouchnoque, Le 30 nivose 2004 Editions Duschmol, 12 rue Schmurz YT123 Rapis WindStar 2000 Les rosières en buget AB562 Saint Pétaouchnoque Tel: Fax: 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 Cabeçalho Logotipo Objecto Data Saudação Destinatário Fórmula de simpatia Corpo Assinatura Rodapé

22 Representação XML <carta> <cabeçalho>
<logotipo loc="lgraph.vml"/> <endereço> &abrev-adresse; </endereço> </cabeçalho> <destinatário> <nome> Mr Schnock </nome> <rua> rue des églantiers </rua> <cidade> Saint Glin </cidade> </destinatário> <objecto> bla bla </objecto> <data> 30 Nivose 2004 </data> <saudação> Monsieur, </saudação> <corpo> <paragrafo> Ici le premier paragraphe </paragrafo> et là le deuxième </corpo> </carta>

23 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

24 Principio de funcionamento das sshs
<carta> <cabeçalho> . . . </cabeçalho> <corpo> </corpo> </carta> Se carta então … Se cabeçalho então … Se corpo então Se paragrafo então Type new roman, size 12, identar primeira linha Se … então … Saint Pétaouchnoque, Le 30 nivose 2004 Editions Duschmol, 12 rue Schmurz YT123 Rapis WindStar 2000 Les rosières en buget AB562 Saint Pétaouchnoque Tel: Fax: 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

25 Alguns dialectos

26 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

27 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

28 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

29 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

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

31 SOAP: Simple Object Access Protocol
Protocolo de tansferência de dados entre aplicações distantes Adaptado para ser utilizado debaixo do protocolo HTTP

32 Exemplo SOAP <evp:Envelope
xmlns:evp=' evp:encodingStyle=' <evp:Header> <t:Transaction xmlns:t=' evp:mustUnderstand='1'> 5 </t:Transaction> </evp:Header> <evp:Body> <m:GetLastTradePrice xmlns:' <symbol>DEF</symbol> <company>DEF Corp</company> </m:GetLastTradePrice> </evp:Body> </evp:envelop>

33 Vantagens do XML

34 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'> </data>

35 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

36 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.

37 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.

38 Vista de olhos sobre a linguagem

39 Exemplos de documentos XML
<document> </document> <document> Bom dia! </document> <document> <saudação> Bom dia! </saudação> </document> <?xml version="1.0" standalone="yes" ?> <document>o <saudação> Bom dia! </saudação> </document>

40 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.

41 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

42 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

43 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)

44 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

45 Tipos do XML

46 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>

47 <!DOCTYPE exemplo SYSTEM "exemplo.dtd" >
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 " standalone="yes"> Declaração de tipo de documento, facultativa: Indica a estrutura particular a que deve obedecer o documento <!DOCTYPE exemplo SYSTEM "exemplo.dtd" >

48 Documento bem formado sem tipificação
<?xml version="1.0" standalone="yes" ?> <document> <saudacao> Bom dia! </saudacao> </document>

49 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 " standalone="yes" ?> <!DOCTYPE document [ <!ELEMENT document (saudacao)> <!ELEMENT saudacao (#PCDATA)> ]> <document> <saudacao> Bom dia! </saudacao> </document>

50 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)

51 Resumo

52 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

53 Resumo: tecnologia SGBDs: Documentos: XML:
B-tree, hash table, optimização de interrogações Documentos: Indíce texto, classificação XML: Autómato de árvores

54 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

55 Referências Serge Abiteboul, Slides of the course: “Données Semistructurées”, Master Recherche Informatique Paris Sud, Erik Wilde, Slides of the course: “XML Foundations”, UC Berkeley, XML 1.0 Press Release, XML 1.0 Spec, S. Abiteboul, P. Buneman, D. Suciu, “Data on the Web, From Relations to Semistructured Data and XML”, Morgan Kaufmann, 2000.

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


Carregar ppt "Gestão de dados XML - Introdução"

Apresentações semelhantes


Anúncios Google