Gestão de dados XML - Introdução

Slides:



Advertisements
Apresentações semelhantes
Faculdades Integradas Santa Cruz
Advertisements

Hipermídia Aula 3.
HTML - HiperText Markup Language Tecnologia para Web
Standard para representar e trocar informação estruturada
Electronic Data Interchange
Evolução dos SGBD’s (2ª Parte).
Laboratório de Informática Introdução à Linguagem HTML
Profa. Rudson apostilas.wikidot.com/hipermidia
Helena Galhardas DEI IST
1 FEUPXML Anotação de Documentos Elementos, Atributos, Entidades, Comentários, Declarações e Instruções de Processamento.
XSLT e recursividade estrutural
HTML – Hyper Text Markup Language
XML (eXtensible Markup Language) W3C - World Wide Web Consortium Documentos TXT estruturados? Por que XML? XML, ou eXtensible Markup Language, é uma linguagem.
Validação HTML.
XML - Extensible Markup Language
Programas Utilitários Básicos
Gerenciamento de Dados XML
Encontro Linguagem HTML; 13. Hospedagem na WWW.
April 05 Prof. Ismael H. F. Santos - 1 Módulo II XML Processing: XSLT, SAX e DOM Prof. Ismael H F Santos.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Geórgia Maria e Maria das Graças
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 6.
HTML O que é? HiperText Markup Language
Sistemas Distribuídos
Programação WEB HTML.
A Linguagem HTML.
HTML Básico João Araujo.
Aulas ministradas por:
XML Extended Markup Language
Tecnologias Web Prof. Msc. Juliano Gomes Weber Tecnologias Web Notas de Aula – Aula 10 1º Semestre UNIJUÍ.
Tópicos avançados em internet A
Tópicos de Sistemas de Informação A
Recapitular XML... Gestão e Tratamento de Informação DEI IST.
Gestão e Tratamento de Informação Helena Galhardas DEI IST.
Web Services Uninorte Semana de Tecnologia da Informação
1ª Aula de Html Íria Albuquerque.
Introdução à Programação para WEB
Programação WEB HTML.
Ambientes de Desenvolvimento XML-XHTML Paulo Sousa ISEP/IPP Portugal.
Profº Cláudio Barbosa XHTML – Introdução  XHTML (eXtensible HyperText Markup Language) – linguagem baseada na XML para.
Professor: Márcio Amador
Profª Angela Tissi Tracierra. Tags... As tags... fazem a formatação de fonte no texto que envolvem no documento HTML. Juntamente a essas tags utilizam-se.
Tecnologias Web Prof. Msc. Juliano Gomes Weber Tecnologias Web Notas de Aula – Aula 02 1º Semestre UNIJUÍ.
Escola de Engenharia de Piracicaba Sistemas de Apoio a Decisão
Criação de Páginas Web A Internet HTML Básico TIC 9º Ano
TECNOLOGIA WEB XHTML Aula 5 Profa. Rosemary Melo.
Universidade do Estado do Rio de Janeiro Instituto de Matemática e Estatística XML: Extensible Markup Language EquipeEquipe: Adriana Cristina de Oliveira.
Autoria WEB Prof. Thiago Nogueira Tolentino Barbosa
XML – Extensible Markup Language [Introdução] Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa.
©Silberschatz, Korth and Sudarshan (modificado)10.1.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do.
Produção de Sites Unidade 9 – XML Prof.: Henrique Santos.
The Petri Net Markup Language (PNML) Wellington João da Silva Mestrado Ciência da Computação.
PROGRAMAÇÃO WEB AULA XHTML
Recapitular XML... Helena Galhardas DEI IST. Agenda Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces.
XML: Conceitos, Tecnologias e Aplicações Vânia Maria Ponte Vidal
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Java e XML Eduardo Aranha. Slogans de Java e de XML Java – “Portabilidade de Código” XML – “Portabilidade de Dados” Java e XML – “Portabilidade de Código.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
SQL SERVER XML Guia Essencial para Programação com XML no SQL Server.
1 Sistemas Multimídia Fundamentos Básicos - HTML Prof. Hemir Santiago Prof. Hemir Santiago.
Karine Alessandra Córdova
Profº Cláudio Barbosa HTML - Introdução  HTML – Hypertext Markup Language – Linguagem de Marcação de Hipertexto;  Linguagem.
HTML Estrutura e Sintaxe.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas
Prof. Wolley Profa. Érika
Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Prof. João Ricardo Andrêo Programação p/ INTERNET - HTML 31/5/ :34 1 Introdução e Conceitos CSS CSS significa Cascade Style Sheetes (Folha de Estilo.
Apresentação TI Alunos: Isadora Bernardo, Lucas Medeiros, Marcela Muniz e Renata Coutinho.
Design para Web 3 XHTML.
Transcrição da apresentaçã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 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

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?

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

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.

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

Dados semi-estruturados Estrutura mínima 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

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

O que é o XML?

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)

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 nome trab missão tipo fn ln IST Ender. email ensino Ensinar bem… Galhardas cidade CP Helena hig@inesc-id.pt Porto Salvo 2790-380 Elementos Atributos Dados fn tipo 2790-380

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

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

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

Herança

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

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!

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

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

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: 012133564 Fax: 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 Cabeçalho Logotipo Objecto Data Saudação Destinatário Fórmula de simpatia Corpo Assinatura Rodapé

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>

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

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: 012133564 Fax: 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

Alguns dialectos

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

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

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

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

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

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

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>

Vantagens do XML

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>

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

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.

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.

Vista de olhos sobre a linguagem

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>

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.

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

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

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)

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

Tipos do XML

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>

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

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

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>

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)

Resumo

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

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

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

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.

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