Sumário. XML (extensible Markup Language)

Documentos relacionados
XML (extensible Markup Language)

Sumário. 1 Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto- Relacional 3 BD Temporal 4 BD Geográfico 5 BDs XML

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Esquemas para Dados XML

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc.

XML. Prof. Júlio Machado

XML (extensible Markup Language)

INE BDNC. Bancos de Dados XML

XML & Banco de Dados

Formas de Gerência de Dados XML

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

DOM (Document Object Model)

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XPATH. Prof. Angelo Augusto Frozza, M.Sc.

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Uma Abordagem Alternativa para o Armazenamento Electrónico de Dados: O Papel da Norma XML

Bases de dados semi-estruturadas, XML

XML XML. Motivação. Mário Meireles Teixeira DEINF-UFMA

XML. Prof. Júlio Machado

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

DTD. Vanessa Braganholo.

XML: uma introdução prática X100. Helder da Rocha

Estrutura Lógica DTD

Módulo III Introdução a XML

Introdução. Definição. Validação. Universo XML. Apresentação. Processamento. Prof. Enzo Seraphim. Banco de Dados

Dados Semi-Estruturados e XML

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

Dados na Web integrar irregular ausente não conhecida completamente evoluem Fernando Fonseca Ana Carolina Robson Fidalgo

introdução principais componentes

Grupo: Rodrigo Pescador Lucas Silveira Renê Rodrigues Eduardo Dellandrea Thiago Bonetti. BANCOS DE DADOS II Bancos de Dados Semi-Estruturados e XML

5a. Aula - XML

Desenvolvimento de Aplicações XML. Wamberg Oliveira, Msc, PMP, COBIT-F Instrutor

CONTEÚDO PROGRAMÁTICO

Programação para Internet I Aulas 10 e 11

Linguagem XML. Linguagem XML

Dados na Web. Gerenciamento de Dados e Informação. Web X Banco de Dados. Representação de Dados para Web/BD. Estrutura dos Dados. Web X Banco de Dados

Ricardo Couto Antunes da Rocha 2005 Ricardo Couto Antunes da Rocha

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Introdução XML. Vanessa Braganholo

Informática Parte 22 Prof. Márcio Hunecke

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

XML Schema. Vanessa Braganholo. Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Banco de Dados. Gerenciamento de Dados e Informação Fernando Fonseca, Ana Carolina Salgado & Robson Fidalgo

Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás

Armazenamento e Gestão de dados XML

Modelagem de Dados XML

L A C Laboratory for Advanced Collaboration

Capítulo 9: XML! Database System Concepts! Silberschatz, Korth and Sudarshan (modificado)!

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

O TESTE DE DOCUMENTOS MUTANTES PARA REALIZAR UTILIZANDO ANÁLISE DE. Orientadora: Silvia Regina Vergilio XML SCHEMA. Ledyvânia Franzotte

Guia de Bolso HTML e XHTML

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

Gerenciamento de Dados XML

XML: uma introdução prática X100. Helder da Rocha

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

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

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

Introdução a XML. Saulo Popov Zambiasi. 10/07/07 Saulo Popov Zambiasi GSIGM 1. DAS5316 Integração de Sistemas Corporativos. Prof. Ricardo J.

Documentos XML 1/20. Exemplo de documento XML:

XML Schema. Vanessa de Paula Braganholo ftp://metropole/pub/curso/xml/index.html. Janeiro de XML Schema

XML - Extensible Markup Language

PROCESSAMENTO ESTRUTURADO DE DOCUMENTOS. Departamento de Documentação Curso de Arquivologia

XTHML. 2. A finalidade do XHTML é substituir o HTML; 3. Vantagens de se usar XHTML (Compatibilidade com futuras aplicações);

Definição da Sintaxe Abstrata de Potigol em XML

Notas sobre XSLT. O modo correcto para declarar um documento xsl é:

XML: uma introdução prática X100. Helder da Rocha

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML

XML Schema (Parte. Vanessa de Paula Braganholo

José Carlos Ramalho Alda Reis Lopes Pedro Rangel Henriques

Noções de XML. Henrique Silva Direção-Geral do Território FCUL, 12 e 19 de Outubro de 2017

XML: Esquema e DTD. Revisão: Conceitos Básicos. Revisão: Modelo de Dados. 3. Modelagem de Dados XML Exemplo: Livrarias online. Mirella M.

Dados Semi-Estruturados e XML. Alberto Laender - DCC/UFMG

Sintaxe XML. César Vittori Outubro de Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos

Teste em Esquemas de Dados

Notas sobre TinyXML (TP2)

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Sérgio Koch Van-Dall

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

Keli Cristina Manini Susane Schmidt. Uma Ferramenta para Geração de Esquemas XML a partir de Documentos XML

Introdução ao XML. Charles Alex Rockenbach, Lucas Moreno de Araujo, Moisés Lima dos Anjos, Roneylson de Alencar Neiva

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

XML e XSL. Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB. Claudinei Dias prof.claudinei.dias@gmail.com

XML E DOM no desenvolvimento de um Sistema de Armazenamento e Manipulação de Documentos Jurídicos

Especificação Técnica ACSS

ATIVIDADES PRÁTICAS SUPERVISIONADAS

< > a m l. b x. helder.da.rocha. inding. argonavis.com.br

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

DOSSIER DA DISCIPLINA

Referência Básica. X3D (Extensible 3D) X3D Browser X3D.

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E

Transcrição:

Sumário 1 Introdução Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto-Relacional 3 BD Temporal 4 BD Geográfico 5 XML e Bancos de Dados XML (extensible Markup Language) Tecnologia desenvolvida pela W3C W3C: WorldWide Web Consortium definição de padrões para a Web consórcio formado por acadêmicos e empresários Padrão para representação e transferência de dados protocolos XML vêm sendo definidos em diversos domínios de aplicação comércio eletrônico, SIGs, domínios bibliográficos, Motivação: aplicações Web extração, manipulação, integração e publicação de dados através da Web 1

Uso Extensivo de XML Necessidades projeto de uma estrutura p/ dados em XML métodos de acesso a dados XML estratégias para armazenamento e indexação de dados XML A tecnologia de BD é útil neste contexto nova linha de pesquisa: BD XML Nativos definem um modelo lógico para dados XML definem um esquema de armazenamento proprietário ou utilizam um esquema de armazenamento de um BD convencional O que é XML? XML é uma meta-linguagem de marcação meta-linguagem XML é um padrão aberto cada aplicação define o protocolo (linguagem) para a representação dos seus dados linguagem de marcação semelhante à linguagem HTML utiliza tags para descrição os dados HTML x XML tags em HTML: são predefinidas e voltadas para a formatação da apresentação de dados em browsers Web tags em XML: não são predefinidas (dependem da intenção da aplicação); indicam a intenção do dado e delimitam o seu conteúdo 2

Exemplo de Dado XML <livro> <titulo>tecnologia XML</titulo> <nome>joão da Silva</nome> <email>js@hotmail.com</email> <endereco> <comercial>rua A, 34 Fpolis - SC</comercial> <residencial>rua B, 5 Fpolis SC</residencial> </endereco> <capitulo nome= Introdução >Este capítulo apresenta <secao> <nome>linguagens de Marcação</nome> </secao> </capitulo> </livro> conteúdo do dado tag (intenção do dado) estrutura hierárquica, ordenada e complexa Sintaxe XML Dados XML são definidos em um documento XML Um documento XML contém cabeçalho dados elementos simples ou compostos atributos de elementos referências a entidades comentários instruções de processamento 3

Exemplo de Documento XML <?xml version = 1.0 encoding ="ISO-8859-1 > <! - documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml extensible Markup Language > ]> <listalivros> <livro ISBN= 112 > <título>tecnologia &xml</título> <nome>joão da Silva</nome> <email>js@hotmail.com</email> <capítulo nome= Introdução >A &xml foi <seção> <nome>linguagens de Marcação</nome> </seção> </capítulo> </livro> </listalivros> Exemplo de Documento XML <?xml version = 1.0 encoding ="ISO-8859-1 > <! - documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml extensible Markup Language > cabeçalho ]> <listalivros> <livro ISBN= 112 > <título>tecnologia &xml</título> <nome>joão da Silva</nome> <email>js@hotmail.com</email> <capítulo nome= Introdução >A &xml foi <seção> <nome>linguagens de Marcação</nome> </seção> </capítulo> </livro> </listalivros> 4

Exemplo de Documento XML <?xml version = 1.0 encoding ="ISO-8859-1 > <! - documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml extensible Markup Language > ]> <listalivros> <livro ISBN= 112 > <título>tecnologia &xml</título> <nome>joão da Silva</nome> <email>js@hotmail.com</email> <capítulo nome= Introdução >A &xml foi <seção> <nome>linguagens de Marcação</nome> </seção> </capítulo> </livro> </listalivros> comentário Exemplo de Documento XML <?xml version = 1.0 encoding ="ISO-8859-1 > <! - documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml extensible Markup Language > ]> <listalivros> <livro ISBN= 112 > <título>tecnologia &xml</título> <nome>joão da Silva</nome> <email>js@hotmail.com</email> <capítulo nome= Introdução >A &xml foi <seção> <nome>linguagens de Marcação</nome> </seção> </capítulo> </livro> </listalivros> instrução de processamento 5

Exemplo de Documento XML <?xml version = 1.0 encoding ="ISO-8859-1 > <! - documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml extensible Markup Language > elemento raiz ]> <listalivros> <livro ISBN= 112 > <título>tecnologia &xml</título> <nome>joão da Silva</nome> <email>js@hotmail.com</email> elemento misto <capítulo nome= Introdução >A &xml foi <seção> <nome>linguagens de Marcação</nome> </seção> </capítulo> </livro> </listalivros> elemento simples (#PCDATA) elemento complexo Exemplo de Documento XML <?xml version = 1.0 encoding ="ISO-8859-1 > <! - documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml extensible Markup Language > ]> atributo <listalivros> <livro ISBN= 112 > <título>tecnologia &xml</título> <nome>joão da Silva</nome> <email>js@hotmail.com</email> <capítulo nome= Introdução >A &xml foi <seção> <nome>linguagens de Marcação</nome> </seção> </capítulo> </livro> </listalivros> 6

Exemplo de Documento XML <?xml version = 1.0 encoding ="ISO-8859-1 > <! - documento XML sobre livros --> <!DOCTYPE listalivros [ <!ENTITY xml extensible Markup Language > ]> <listalivros> <livro ISBN= 112 > <título>tecnologia &xml</título> <nome>joão da Silva</nome> <email>js@hotmail.com</email> <capítulo nome= Introdução >A &xml foi <seção> <nome>linguagens de Marcação</nome> </seção> </capítulo> </livro> </listalivros> declaração de entidade referência a uma entidade Natureza de um Dado XML Um dado XML é um dado não-convencional é um dado semi-estruturado Dado semi-estruturado estrutura heterogênea estrutura auto-descritiva estrutura parcial estrutura dinâmica 7

Estrutura heterogênea Cada ocorrência de dado pode ter um esquema particular <nome>ronaldo Mello</nome> <endereço>rua B, 23</endereço> <email>ronaldo@inf.ufsc.br</email> <nome>patrícia Vilain</nome> <endereço> <rua>beira-mar</rua> <numero>767</numero> <cidade>fpolis</cidade> </endereço> <fone>3313333</fone> <fone>3313332</fone> Estrutura auto-descritiva Cada ocorrência de dado carrega o seu esquema <nome>patrícia Vilain</nome> <endereco> <rua>beira-mar</rua> <numero>767</numero> <cidade>fpolis</cidade> </endereco> <fone>3313333</fone> <fone>3313332</fone> 8

Estrutura parcial Apenas parte da descrição de um dado pode ser estruturada <capítulo numero = 2 titulo = Tecnologia XML > Este capítulo descreve XML<ref>(Mel03)</ref>. XML é um padrão <seção número = 1> <título>dtd</título> Esta seção descreve </seção> </capítulo> Estrutura dinâmica Esquema para os dados deve suficientemente flexível para contemplar a heterogeneidade das ocorrências conseqüências esquemas extensos esquemas com suporte a representações alternativas 9

Dado XML & Dado Convencional Dados XML não são naturalmente adequados para armazenamento em BDs Dado Convencional representação homogênea esquema independente dos dados totalmente estruturado esquema enxuto esquema fixo Dado XML representação heterogênea representação auto-descritiva estrutura parcial esquema extenso esquema dinâmico DTD e XSD Tecnologia XML definição do esquema de um doc XML XPath e XQuery linguagens de navegação/consulta a docs XML XSL e XSLT linguagens para apresentação e transformação de docs XML SAX e DOM APIs para acesso a dados XML 10

DTD (Document Type Definition) Conjunto de regras (gramática) para a organização de elementos em um documento XML Documento XML bem-formado tags bem definidas; existe um elemento raiz; valores de atributos entre ou Documento XML válido documento correto de acordo com uma DTD Parser programa que verifica se um documento XML é bem-formado e/ou válido Definição de Elementos Elementos compostos - seqüência <!ELEMENT livro(titulo,autor+,imagem?,capitulo+)> elementos compostos seqüência de definição (sub-elementos) cardinalidade do sub-elemento <!ELEMENT autor(nome, email*, endereço?)> <livro> <titulo>xml companion</titulo> <nome>neil Bradley</nome> <endereco> </endereco> <capitulo> </capitulo> <capitulo> </capitulo> </livro> 11

Definição de Elementos Elementos compostos - escolhas <!ELEMENT endereco(residencial comercial)> Elementos simples sub-elementos alternativos <!ELEMENT title(#pcdata)> Elementos especiais <!ELEMENT image EMPTY)> texto (string) não possui conteúdo <!ELEMENT comment ANY> admite qualquer elemento do esquema como conteúdo Definição de Elementos e Atributos Elementos mistos <!ELEMENT capitulo(#pcdata secao)+> Atributos misto de texto e sub-elementos <!ATTLIST imagem arquivo CDATA #REQUIRED tamanho CDATA)> <!ATTLIST book tipo (technical fiction) atributos ISBN ID #IMPLIED referencias IDREFS> <!ATTLIST chapter name CDATA #REQUIRED> restrições para atributos tipos de atributos 12

Definição de Entidades <!ENTITY xml extensible Markup Language )> <!ENTITY estrutura (paragrafo lista tabela) > <!ELEMENT secao (nome, (%estrutura;)*> <!ELEMENT appendix (number, name, (%estrutura;)*> DTD Documento XML <capitulo> A linguagem XML (&xml;) eh um padrao <secao><nome>tecnologias</name> <paragrafo>a tecnologia da &xml; inclui </paragrafo> </secao> </capitulo> DTD (esquema) <!ENTITY estrutura (paragrafo lista tabela) > <!ELEMENT listalivros(livro+)> <!ELEMENT livro(titulo, autor+, capitulo+)> <!ATTLIST livro tipo (tecnico ficcao) ISBN ID referencias IDREFS #IMPLIED> <!ELEMENT titulo(#pcdata)> <!ELEMENT autor(nome, email*, endereco?)> <!ELEMENT nome(#pcdata)> <!ELEMENT email(#pcdata)> <!ELEMENT endereco(residencial comercial)> <!ELEMENT residencial(#pcdata)> <!ELEMENT comercial(#pcdata)> <!ELEMENT capitulo(#pcdata seção)+> <!ATTLIST capitulo nome CDATA #REQUIRED> <!ELEMENT secao(nome, (%estrutura;)*> <listalivros> <livro tipo= tecnico ISBN= 120 > <titulo>xml Companion</titulo> <nome>neil Bradley</nome> <email>neil@bradley.co.uk</email> <endereco> <comercial> 34 Main street London </comercial> </endereco> <capitulo nome= Introduction > XML raises as a standard <secao> <nome>xml Technology</nome> </secao> </capitulo> </livro> </listalivros> Documento XML 13

XSD (XML Schema Definition) Sintaxe XML Extensão da funcionalidade de um DTD definição de hierarquias de tipos de elementos derivação (herança) de novos tipos a partir de outros definição de tipos de dados simples (string, integer, boolean, ) complexos (list, union) facilidades adicionais para definição de restrições intervalos de valores permitidos, padrões de conteúdo via expressões regulares,... XSD - Exemplo <?xml version= 1.0 encoding= UTF-8 > <xsd:schema xmlns:xsd= http://www.w3.org/2001/xmlschema > <!- Declaração de Tipos --> <xsd:simpletype name= Tisbn > <xsd:restriction base= xsd:string > <xsd:pattern value= [0-9]{2}-[0-9]{3}-[0-9]{4}-[0-9] /> </xsd:restriction> </xsd:simpetype> <xsd:complextype name= Tlivro > <xsd:sequence> <xsd:element name= titulo type= xsd:string /> <xsd:element name= autor type= Tautor minoccurs= 1 maxoccurs= unbounded /> <xsd:element name= preço type= xsd:float /> </xsd:sequence> <xsd:attribute name= isbn type= Tisbn /> </xsd:complextype> 14

XSD Exemplo (cont.) <xsd:complextype name= TlivroTécnico base= Tlivro derivedby= extension > <xsd:element name= area" type= xsd:string" minoccurs= 1 maxoccurs= 1 /> </complextype> <!- Declaração de Elementos --> <xsd:element name= listalivros > <xsd:complextype> <xsd:element name= livro type= Tlivro /> minoccurs= 1 maxoccurs= unbounded /> </xsd:complextype> </xsd:element> </xsd:schema> XPath (XML Path Language) Linguagem para navegação na estrutura de um documento XML semelhante a navegação em diretórios Características pode-se consultar sem conhecer o esquema busca por padrões em texto predicados de seleção algumas funções similares à SQL resultado: conjunto de dados XML conjunto de estruturas aninhadas 15

XPath - Exemplos Expressões de caminho / (raiz - todo o doc XML) /livros/livro/titulo (titulos de livros) /livros/livro/autor/*/residencial (substitui 1 elem) /livros/livro//secao (elementos seção descendentes de livro) /livros/livro/capitulo[1] (1 0 cap. livros) /livros/livro/autor/*/residencial /livros/livro/autor/*/comercial (união de caminhos) /livros/livro/@isbn (consulta a atributo) //capitulo (qq elemento capítulo) Predicados XPath - Exemplos /livros/livro[@tipo = ficcao ] (livros de ficção) /livros/livro[@isbn < 1000]/titulo /livros/livro/autor[email] (autores com e- mail) /livros/livro//secao[../@nome = XML ] /livros/livro[capitulo/@nome = XML or //secao = XML ] /livros/livro[not(@referencias)] (livros que não tenham o atributo referências) 16

XPath - Exemplos Funções /livros/livro[count(capitulo) < 10] /livros/livro[id( 112 )] /livros/livro/capitulo[last()] /livros/livro[title contains(text(), "XML")] /livros/livro/round(preco)(supõe-se um elemento preço) /livros/livro/capitulo[position() mod 2 = 0] XQuery (XML Query Language) Limitações da XPath recupera somente porções de um documento XML incapaz de produzir resultados mais elaborados de consulta combinação (junção) de dados XML geração de novas estruturas de dados XQuery recomendação recente da W3C maior poder de expressão que a XPath 17

Estrutura Básica de uma Consulta Expressões FLWR ( flower ) for variável in expressão XPath [let associação de novas variáveis] [where condição] return estrutura de resultado Exemplo for $liv in /livros/livro where $liv/autor/nome = Maria Souza return <livrosmariasouza> { $liv/@isbn, $liv/titulo } </livrosmariasouza> Resultado da Consulta for $liv in /livros/livro where $liv/autor/nome = Maria Souza return <livrosmariasouza> { $liv/@isbn, $liv/titulo } </livrosmariasouza> <livrosmariasouza> <livro @ISBN = 114 > <titulo>viagem à Serra</titulo> <livro @ISBN = 417 > <titulo>tempo de Mudança</titulo> <livro @ISBN = 993 > <titulo>auto-biografia</titulo> </livrosmariasouza> 18

Exemplos em XQuery Uso da cláusula let for $liv in /livros/livro let $pdesc := $liv/preco - $liv/preco * 0.1 where $liv/@tipo = ficcao return {$liv/titulo, $pdesc} Junções e ordenação do resultado for $liv1 in /livros/livro[@isbn = 562 ] for $liv2 in /livros/livro where $liv2/@isbn!= $liv1/@isbn and $liv2/autor/nome = $liv1/autor/nome return $liv2/titulo sort by (. ascending) 19