1 / 56

Gestão de dados XML - Introdução

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. Revolução da Web. HTML tem sido a linguagem da Web

hanzila
Download Presentation

Gestão de dados XML - Introdução

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Gestão de documentos Gestão de dados Bases de Dados estruturadas (relacional e OO) SGML Documentação hipertexto Bases de dados semi-estruturadas HTML Junção de dois modelos resulta .... XML

  8. Estrutura mínima Dados semi-estruturados Dados estruturados Hierarquia + Metadados Systèmes Relationnels Systèmes Documentaire Books Contracts Catalogs Bank accounts Emails 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> <email>hig@inesc-id.pt</email> </trab> <missão>Ensinar bem </missão> </ficha> ficha missão nome trab tipo ln Ender. email fn IST ensino Ensinar bem… Galhardas cidade CP hig@inesc-id.pt Helena 2790-380 Porto Salvo Elementos Atributos Dados fn tipo 2790-380

  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. WindStar 2000 Les rosières en buget AB562 Saint Pétaouchnoque Tel: 012133564 Fax: 879765426 Saint Pétaouchnoque, Le 30 nivose 2004 Editions Duschmol, 12 rue Schmurz YT123 Rapis 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 Exemplo de documento 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> <endereço> <rua> rue des églantiers </rua> <cidade> Saint Glin </cidade> </endereço> </destinatário> <objecto> bla bla </objecto> … … <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>

  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. <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 … WindStar 2000 Les rosières en buget AB562 Saint Pétaouchnoque Tel: 012133564 Fax: 879765426 Saint Pétaouchnoque, Le 30 nivose 2004 Editions Duschmol, 12 rue Schmurz YT123 Rapis 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 Principio de funcionamento das sshs

  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='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>

  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'> 2000-01-05 </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> <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".

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

  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-8859-1" 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)

More Related