Recapitular XML... Helena Galhardas DEI IST. Agenda Introdu§£o ao XML Modelo de dados semi-estruturado XML Schema XML Namespaces

  • View
    216

  • Download
    2

Embed Size (px)

Text of Recapitular XML... Helena Galhardas DEI IST. Agenda Introdu§£o ao XML Modelo de dados...

  • Recapitular XML ...Helena GalhardasDEI IST

  • AgendaIntroduo ao XMLModelo de dados semi-estruturadoXML SchemaXML Namespaces

  • AgendaIntroduo ao XMLModelo de dados semi-estruturadoXML SchemaXML Namespaces

  • Revoluo da WebHTML era a linguagem da WebMesmo se existe uma grande quantidade de ficheiros .doc, .ps, .pdf, .jpg, .gif, som, vdeoExistem milhares de pginas Pblicas/privadas, estticas/dinmicas, vsiveis/escondidasSuporte natural para a informao distribuda Destinada a seres humanos e, cada vez mais, para as aplicaes

  • Aplicaes sobre dados distribudos sobre a Web HTML no est adaptado a aplicaes do tipo:B2C, B2B, bibliotecas on-line, ...No chega aceder a um conjunto de pginas HTML como nos motores de buscaEstas aplicaes necessitam de tipos para representar a estrutura dos dadosQue modelo de dados ento adoptar?Base de Dados?

  • Modelo BD relacional vs Modelo dados Web (1)Modelo de dados relacional:Conhece-se a estrutura das tabelas e a semntica das colunas; no sobre a WebEstrutura dos dados fixa vs irregularFalta de dadosEstrutura explcita vs implcita

  • Modelo BD relacional vs Modelo dados Web (2)Esquema de dados Web:pode ser deduzido a posterioripode ser complexo e grandepode ser ignorado pelas interrogaespode evoluir mto rapidamente. Alguns dados podem no ter estruturaTexto, imagensAlguns dados podem no ser conforme a estrutura

  • Juno de dois modelos resulta ....

  • XML eXtensible Markup Language

    Formato universal para os documentos e dados semi-estruturados na WebVerso simplificada de SGMLEsperanto da Web que vai substituir o HTMLFamlia de standards: XLink, XPath, XSL, XQuery, SOAP, DOM, ....Modelo de dados baseado em rvores e uma linguagem de representao baseada em tags (etiquetas)

  • Exemplo

    fichanometrablnEnder.emailcidadeCPGalhardasPorto Salvo2790-380hig@inesc-id.ptISTEnsinar bemmissotipoensinofnfntipo2790-380HelenaElementosAtributosDados

    HelenaGalhardas

  • Acesso a dados XMLCaractersticas das interrogaes:Bases de dados (estilo SQL/OQL)NavegaoPalavras chaves (estilo motor de pesquisa Web) e pattern matching (estilo comando grep)Interrogao de dados e estrutura ao mesmo tempo a estrutura no totalmente conhecida previamenteInterrogaes tem em conta o factor tempo, sobre verses, arquivos, mudanas nos dadosApoio lingustico: sinnimos, correces de erros ortogrficos

  • Observaes XML fornece uma sintaxe, no fornece semntica aprioriAs tags no tm significado definido pela linguagem, mas podem fazer sentido para as aplicaesXML define apenas a estrutura e contedo de um documento, no o seu comportamento nem o seu tratamentoDesenvolvida e promovida pelo W3CIndstria: Oracle, IBM, Microsoft, CompaQ, Xerox,...Laboratrios de investigao: MIT, INRIA, etc

  • Alguns standards importantesDOM (Document Object Model): interface de programao que permite aceder estrutura e contedo dos documentos [DTD],Xschema, XSD: tiposOs documentos devem ser bem formados, mas os tipos no so obrigatriosXPath: linguagem de expresses de caminho para aceder a partes do documentoXLink (XML Linking Language): XSLT: linguagem de transformaoXQuery: linguagem de interrogao (o SQL do XML)

  • Dialectos de XMLPara uma determinada aplicao, define-se uma sintaxe (um dialecto XML) e define-se a sua semntica.XHTML: Reformulao de HTML como sendo uma aplicao XMLsintaxe mais rigorosa, por ex., fecha-se o que se abriuImportao de fragmentos de documentos de outros domnios Possibilidade de utilizar aplicaes XML standard MathXML:Permite a troca e tratamento de expresses matemticas sobre a WebFacilita a insero de expresses matemticas em docs HTML ou XML

  • Vantagens do XML

  • Transferncia e partilha de informaoUma comunidade de utilizadores (ex: indstria da biotecnologia) inventa livremente as tags que lhe parecem teis para representar as informaes que pretendem trocar ou partilharExemplo: diferentes maneiras de representar uma data 5 Janeiro 2000

    20000105 2000-01-05

  • Interoperabilidade das ferramentas de tratamentoFerramentas para dados XMLParsers, editores, browsers,...Consequncias:Um servidor de documentos XML consegue responder a um conjunto de necessidades de uma organizaoUm nico editor permite tratar o conjunto de dados de uma organizao

  • Acesso a fontes de informao hetergeneasA interrogao e a troca de dados entre sistemas de informao hetergeneos mtas vezes complexaXML pretende colmatar esse problemaFormato de transferncia de informao normalizado independente da plataformaA indexao e interrogao de bases de dados documentais grandes baseada em informaes estruturais e textuais.

  • Exemplos de documentos XML o Bom dia!

    Bom dia!

    Bom dia!

  • XML 1.0: estrutura de um elementoUm elemento tem a forma: contedo a tag de abertura a tag de fecho[ elementos vazios: ou ]contedo o contedo de um elemento! Composto por uma lista (pode ser vazia) de texto, de outros elementos, de instrues de tratamento, de comentrios 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 diaOlBom dia

    Contedo de um elemento = floresta de elementos ou de textoText UNICODE: pode representar qualquer alfabeto

  • XML 1.0: Restries sobre os nomesO nome de um elemento ou atributo uma cadeia no vazia de caracteres, escolhidos entre: Caracteres alfa-numricos, sublinhado (undescore), sinal menos, o ponto, caracter dois pontos (:) Que deve satisfazer as seguintes condies: O primeiros caracter deve ser alfabtico ou sublinhadoOs trs primeiros caracteres no devem formar uma cadeia cuja representao em minsculas "xml".

  • XML 1.0: Sintaxe dos atributosUm atributo um par nome='valor' que caracteriza um elemento Um elemento pode ter vrios atributos (separados por espao):
  • RefernciasSerge Abiteboul, Slides of the course: Donnes Semistructures, Master Recherche Informatique Paris Sud, http://www-rocq.inria.fr/~abitebou/Master-SSD/index.htmlErik 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-RECXML 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.

  • AgendaIntroduo ao XMLModelo de dados semi-estruturadoXML SchemaXML Namespaces

  • Modelo de dados semi-estruturadoDados semi-estruturados so muitas vezes conotados como sem-esquema (schemaless) ou explicveis por si prprios (self-describing)Dados so descritos atravs de uma sintaxe simples:{nome: {primeiro: Bruno, ultimo: Martins}, tel: 21 4233290, email: bruno@tagus.ist.utl.pt}

  • Representao grficanometelemailprimeiroultimoBrunoMartins214233290bruno@tagus.ist.utl.pt

  • Variaes na estrutura{pessoa:{nome: {primeiro: Bruno, ultimo: Martins}, tel: 21 4233290, email: bruno@tagus.ist.utl.pt}, pessoa: {nome: Pvel, tel: 21 4233267, email: pavel@tagus.ist.utl.pt}, pessoa:{nome: Helena, tel: 21 4233246, altura: 1,60}}

  • Representao 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&25SergeAbiteboul1997VictorVianu122133paperbookpaperreferencesreferencesreferencesauthortitleyearhttpauthorauthorauthortitlepublisherauthorauthortitlepagefirstnamelastnamefirstnamelastnamefirstlastBibObject Exchange Model (OEM) complex objectatomic object

  • Terminologia de grafos para descrever dados semi-estruturadosGrafo (N, E) consiste num conjunto N de ns e um conjunto E de arcos (edges) Associado a cada e E, existe um par ordenado de ns, o n fonte s(e) e o n destino t(e).Um caminho (path) uma sequncia e1, e2, ..., ek de arcos tal que:t(ei) = s(ei+1), 1
  • Terminologia de grafos para descrever dados semi-estruturados (2)Um grafo com raz uma rvore se existir um caminho nico de r para n, para qualquer n NUm n terminal ou folha se no a fonte de nenhum arco em E.DAG: Directed Acyclic graphModelo de dados semi-estruturados: grafo com arcos etiquetados (edge-labeled graph)Tb pode incluir etiquetas nos ns

  • XML e dados semi-estruturados

    Alan 42 ab@com

    Expresso de dados semi-estruturados: {person: {name: Alan, age: 43, email: agb@abc.com}}

    Funo de traduo T:T(valoratomico) = valoratomicoT({l1:v1, ..., ln:vn} = T[v1] ... T[vn]

  • Referncias XMLXML permite associar identificadores nicos a elementos, como sendo o valor de um determinado atributo.

    NE Nevada

    CCN Carson City

  • Semelhanas e diferenas

    Alan 42 ab@com

    { person: &o123 { name: Alan, age: 42, email: ab@com }}

    { person: { father: &o123 }}Semelhante em rvores, diferente em grafos

  • Ordem em XMLEm XML, existe a noo de ordem, em ssd no.Person:{fn:John, ln:Smith} igual aPerson:{ln:Smith, fn:John}MasJohn SmithDiferente de:Smith JohnAtributos em XML no tm noo de ordem

  • Mistura de elementos e textoXML pode misturar texto e elementos Making Java easier to type and easier to type Phil Wadler Alm disto, XML tem uma panplia de outras construes como entidades, instrues de processamento, comentrios, etc.

    Todas estas diferenas fazem com que a gesto de dados XML seja mais complexa

  • Tipificao em XMLNo imposta Mas:Melhora o armazenamentoFacilita a navegao nos dados Facilita a interrogaoFacilita a descrio e explicao d