Recapitular XML... Gestão e Tratamento de Informação DEI IST.

Slides:



Advertisements
Apresentações semelhantes
Faculdades Integradas Santa Cruz
Advertisements

Hipermídia Aula 3.
Standard para representar e trocar informação estruturada
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
XQuery (1ª parte) Helena Galhardas DEI IST
XQuery Update Gestão e Tratamento da Informação DEI IST
Gestão de dados XML - Introdução
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
Roteiros de Formação e Aprendizagem para Plataformas de eLearning
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.
Wagner Santos C. de Jesus Roberto Cordeiro Walts
Geórgia Maria e Maria das Graças
Gestão e Tratamento de Informação Helena Galhardas DEI IST.
HTML O que é? HiperText Markup Language
XML DTDs e Schemas Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 21/10/2002 Autor: Marden Menezes Costa.
Programação WEB HTML.
A Linguagem HTML.
HTML Básico João Araujo.
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
XQuery (2ª parte) Helena Galhardas DEI IST (baseado nos slides de Ioana Manolescu, acessíveis em:
Linguagens de interrogação de dados XML XPath
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.
Programação WEB HTML.
HTML Programação Web.
Ambientes de Desenvolvimento XML-XHTML Paulo Sousa ISEP/IPP Portugal.
Treinamento em HTML & CSS
Profº Cláudio Barbosa XHTML – Introdução  XHTML (eXtensible HyperText Markup Language) – linguagem baseada na XML para.
Professor: Márcio Amador
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
Carlos Pinheiro, Aceda a Clique em Join Diigo.
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.
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.
HTML HyperText Markup Language. 2 Origem O HTML foi criado, juntamente com o HTTP nos laboratórios do CERN, na europa para permitir a consulta de documentos.
XML Prof. Dr. Fernando Gauthier INE/UFSC. XML XML (Extensible Markup Language) é uma linguagem para marcar documentos que contêm informações estruturadas.
XML: Conceitos, Tecnologias e Aplicações Vânia Maria Ponte Vidal
XSLT e recursividade estrutural Helena Galhardas DEI IST.
Modelo de dados semi-estruturado e tipificação em XML
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.
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.
Profº Cláudio Barbosa HTML - Introdução  HTML – Hypertext Markup Language – Linguagem de Marcação de Hipertexto;  Linguagem.
HTML Estrutura e Sintaxe.
HTML - HyperText Markup Language Professora: Fabrícia F. de Souza.
Prof. Wolley Profa. Érika
Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro
Design para Web 3 XHTML.
Rhizome. Roteiro Definição Metas Características Arquitetura Tecnologias envolvidas Referências.
Transcrição da apresentação:

Recapitular XML... Gestão e Tratamento de Informação DEI IST

Agenda Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces

Agenda Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces

Revolução da Web HTML é 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 mas, cada vez mais, também às aplicações

Aplicações sobre dados distribuídos sobre a Web HTML não está adaptado a aplicações do tipo: 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) Modelo de dados relacional: 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 explícita vs implícita

Modelo BD relacional vs Modelo dados Web (2) Esquema de dados Web: pode ser deduzido a posteriori pode ser complexo e grande pode ser ignorado pelas interrogações pode evoluir muito rapidamente. Alguns dados podem não ter estrutura Texto, imagens Alguns dados podem não ser conforme a estrutura

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 – 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 ficha nometrab lnEnder. cidadeCPGalhardas Porto Salvo ISTEnsinar bem… missão tipo ensino fn tipo Helena Elementos Atributos Dados Helena Galhardas IST Porto Salvo Ensinar bem

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

Observações XML fornece uma sintaxe, não fornece semântica apriori As tags não têm significado definido pela linguagem, mas podem fazer sentido para as aplicações XML define apenas a estrutura e conteúdo de um documento, não o seu comportamento nem o seu tratamento Desenvolvida e promovida pelo W3C Indústria: Oracle, IBM, Microsoft, CompaQ, Xerox,... Laboratórios de investigação: MIT, INRIA, etc

Alguns standards importantes DOM (Document Object Model): interface de programação que permite aceder à estrutura e conteúdo dos documentos [DTD], XML Schema: tipos Os documentos devem ser bem formados, mas os tipos não são obrigatórios 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)

Dialectos de XML Para uma determinada aplicação, define-se uma sintaxe (um dialecto XML) e define-se a sua semântica. XHTML: Reformulação de HTML como sendo uma aplicação XML sintaxe mais rigorosa, por ex., fecha-se o que se abriu Importação de fragmentos de documentos de outros domínios Possibilidade de utilizar aplicações XML standard MathML: 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

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 5 Janeiro

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

Acesso a fontes de informação heterógeneas A interrogação e a troca de dados entre sistemas de informação heterogéneos é muitas 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.

Exemplos de documentos XML o Bom dia! Bom dia! Bom dia!

XML 1.0: estrutura de um elemento Um elemento tem a forma: conteúdo é a tag de abertura é a tag de fecho [ elementos vazios: ou ] «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 atributo que é um par (nome, valor). Um elemento só pode ter um atributo com um determinado nome.

Exemplos de elementos Olá, bom dia … … … … Olá … Bom dia 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 primeiro 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 correctosincorrectos _ nome Nome_sociedade xsl:rule X 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): a ordem não tem importância O valor de um atributo é uma cadeia delimitada por aspas ( " ) ou ( ' ). Não deve conter os caracteres ^, % e &.

Referências XML XML permite associar identificadores únicos a elementos, como sendo o valor de um determinado atributo. NE Nevada CCN Carson City

Referências Serge Abiteboul, Slides of the course: Données Semistructurées, Master Recherche Informatique Paris Sud, SSD/index.html 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.

Agenda Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces

Modelo de dados semi-estruturado Dados semi-estruturados são muitas vezes conotados como sem-esquema (schemaless) ou explicáveis por si próprios (self-describing) Dados são descritos através de uma sintaxe simples: {nome: {primeiro: Bruno, ultimo: Martins}, tel: ,

Representação gráfica nome tel primeiroultimo BrunoMartins

Variações na estrutura {pessoa: {nome: {primeiro: Bruno, ultimo: Martins}, tel: , pessoa: {nome: Pável, tel: , pessoa: {nome: Helena, tel: , altura: 1,60} }

Representação de dados relacionais { r1: {linha: {a: a1, b: b1, c: c1}, linha: {a: a2, b: b2, c: c2} }, r2: {linha: {c: c2, d: d2}, linha: {c: c3, d: d3}, linha: {c: c4, d: d4} }

Modelo de dados semi-estruturado &o1 &o12&o24&o29 &o43 &96 &243 &206 &25 Serge Abiteboul 1997 Victor Vianu paper book paper references author title year http author title publisher author title page firstname lastname firstnamelastnamefirst last Bib Object Exchange Model (OEM) complex object atomic object

Terminologia de grafos para descrever dados semi-estruturados Grafo (N, E) consiste num conjunto N de nós e um conjunto E de arcos (edges) Associado a cada e E, existe um par ordenado de nós, o nó fonte s(e) e o nó destino t(e). Um caminho (path) é uma sequência e1, e2,..., ek de arcos tal que: t(ei) = s(ei+1), 1<=i<=k-1, K: tamanho do caminho Um nó r é a raíz do grafo se existir um caminho de r para n, para qualquer n N Um ciclo num grafo é um caminho entre um nó e ele mesmo. Um grafo sem ciclos é aciclico.

Terminologia de grafos para descrever dados semi-estruturados (2) Um grafo com raíz é uma árvore se existir um caminho único de r para n, para qualquer n N Um nó é terminal ou folha se não é a fonte de nenhum arco em E. DAG: Directed Acyclic graph Modelo de dados semi-estruturados: grafo com arcos etiquetados (edge-labeled graph) Também pode incluir etiquetas nos nós

XML e dados semi-estruturados Alan 42 Alan 42 Expressão de dados semi-estruturados: {person: {name: Alan, age: 43, Função de tradução T: T(valoratomico) = valoratomico T({l1:v1,..., ln:vn} = T[v1]... T[vn]

Semelhanças e diferenças Alan 42 Alan 42 { person: &o123 { name: Alan, age: 42, } } { person: &o123 { name: Alan, age: 42, } } person nameage person name age father … { person: { father: &o123 …} } Semelhante em árvores, diferente em grafos

Ordem em XML Em XML, existe a noção de ordem, em ssd não. Person:{fn:John, ln:Smith} igual a Person:{ln:Smith, fn:John} Mas John Smith Diferente de: Smith John Atributos em XML não têm noção de ordem

Mistura de elementos e texto XML pode misturar texto e elementos Making Java easier to type and easier to type Phil Wadler Além disto, XML tem uma panóplia de outras construções como entidades, instruções de processamento, comentários, etc. Todas estas diferenças fazem com que a gestão de dados XML seja mais complexa

Referências Serge Abiteboul, Slides of the course: Données Semistructurées, Master Recherche Informatique Paris Sud, SSD/index.html Dan Suciu, Slides on The semistructured data model, CSE 590ds: Management of XML and Semistructured Data, e590ds/01sp/ S. Abiteboul, P. Buneman, D. Suciu, Data on the Web, From Relations to Semistructured Data and XML, Morgan Kaufmann, 2000, (caps 2, 3 e 7)

Agenda Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces

Tipificação em XML Não é imposta Mas: Melhora o armazenamento Facilita a navegação nos dados Facilita a interrogação Facilita a descrição e explicação dos dados Ajuda à optimização Permite a interoperabilidade entre programas Permite proteger os dados

XML DTD (Document Type Definition) Define uma classe de documentos Um documento XML pode ter uma DTD Terminologia para XML: Bem formado: se as tags estão correctamente fechadas Válido: se tem uma DTD e é conforme essa DTD Validação é útil em transferência de dados

Define: Nomes de elementos Estrutura do conteúdo dos elementos Nomes dos atributos Valores dos atributos por omissão Entidades

Exemplo: Uma DTD muito simples <!DOCTYPE company [ ]> <!DOCTYPE company [ ]>

Desvantagens das DTDs Sintaxe não XML Não tem tipos de dados, em particular para o conteúdo dos elementos Só é marginalmente compatível com namespaces Não consegue usar conteúdo misto e obrigar ordem e número de elementos filhos Nomes dos elementos são globais

XML Schema Generaliza DTDs Utiliza a sintaxe XML Descreve o conteúdo possível para documentos XML É uma W3C Recommendation XML Schema Part 0: Primer XML Schema Part 1: Structures XML Schema Part 2: Datatypes Também referida como XSDL: XML Schema Definition Language, ou XSD: XML Schema Document

DTD vs XML Schema DTD XML Schema declaration xsd:element element declaration xsd:attribute element declaration n/a #PCDATA content xsd:string type n/a other data types

Tipos de dados simples e complexos XML Schema suporta a definição de tipos de dados e a declaração de elementos e de atributos Tipos: simples (inteiros, strings,...) complexos (expressões regulares, como nas DTDs) Alternância element-type-element: elemento raiz tem um tipo complexo que é uma expressão regular de elementos esses elementos têm os seus tipos complexos... nas folhas, temos tipos simples

Estrutura da declaração de elementos xsd:sequence Obriga a que os elementos ocorrem na ordem dada análogo a, em DTDs xsd:choice Permite que um dos elementos dados ocorra Análogo a | em DTDs xsd:all Permite que os elementos ocorram numa ordem qualquer

Definição do número de ocorrências dos elementos Os atributos minOccurs e maxOccurs controlam o número de ocorrências de um elemento, sequence ou choice minOccurs tem que ser um inteiro não negativo maxOccurs tem que ser um inteiro não negativo ou sem limite O valor por omissão para ambos é 1

Expressões regulares - resumo Alternância element-type-element: [construção de elementos] Construção de Elementos: A B C..

Exemplo DTD:

Elementos versus Tipos DTD:

Tipos locais e globais Tipo local: [define localmente o tipo da pessoa] Tipo global: [define aqui o tipo ttt] Tipos globais podem ser reutilizados noutros elementos

Elementos locais versus elementos globais Elemento local:... Elemento global:... Elementos globais como nas DTDs

Atributos Utilizar o elemento xsd:attribute dentro de um xsd:complexType Tem atributos name, type Atributo use é opcional Se omitido, então atributo é opcional Use = required para atributos obrigatórios Use = fixed para constantes Use = default value =... para valor por omissão Para enumeração, usar xsd:SimpleType Atributos têm que ser declarados no fim de um xsd:complexType

Exemplo

Conteúdo Mixed, Tipo Any Melhor do que nas DTDs: pode assegurar o tipo, mas pode existir texto entre quaisquer elementos Significa que qualquer coisa é permitida....

Tipos de dados simples String Token Byte unsignedByte Integer positiveInteger Int (larger than integer) unsignedInt Long Short... Time dateTime Duration Date ID IDREF IDREFS

Tipos de dados simples derivados (pelo utilizador) Tipos de dados complexos podem ser criados de raiz Novos tipos de dados simples podem ser derivados a partir de outros tipos de dados simples já existentes Derivação pode ser: Extensão: Lista: uma lista de valores de um determinado tipo União: permite valores de dois ou mais tipos de dados Restrição: limita os valores permitidos usando: Valor máximo, valor mínimo, tamanho, número de dígitos, enumeração, padrões (facetas)

Referências Peter Wood, Slides on Representing and Querying Data on the Web, web.html. Dan Suciu, Slides on The semistructured data model, CSE 590ds: Management of XML and Semistructured Data, S. Abiteboul, P. Buneman, D. Suciu, Data on the Web, From Relations to Semistructured Data and XML, Morgan Kaufmann, 2000, (cap 3) W3C's XML Schema Recommendation, Part 0: Primer W3C's XML Schema Recommendation, Part 1: Structures W3C's XML Schema Recommendation, Part 2: Datatypes

Agenda Introdução ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces

Tópicos próxima aula XPath XSLT