XML (extensible Markup Language)

Documentos relacionados
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

Sumário. XML (extensible Markup Language)

DOM (Document Object Model)

Esquemas para Dados XML

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

XML & Banco de Dados

XML (extensible Markup Language)

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

Formas de Gerência de Dados XML

XML. Prof. Júlio Machado

INE BDNC. Bancos de Dados XML

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. 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

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

XML. Prof. Júlio Machado

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

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

Bases de dados semi-estruturadas, XML

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

Gerenciamento de Dados XML

5a. Aula - XML

Modelagem de Dados XML

Estrutura Lógica DTD

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

DTD. Vanessa Braganholo.

introdução principais componentes

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

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:

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

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

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

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

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

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

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

Informática Parte 22 Prof. Márcio Hunecke

Introdução XML. Vanessa Braganholo

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

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

Ricardo Couto Antunes da Rocha 2005 Ricardo Couto Antunes da Rocha

Dados Semi-Estruturados e XML

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

Guia de Bolso HTML e XHTML

Módulo III Introdução a XML

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

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

Linguagem XML. Linguagem XML

Notas sobre TinyXML (TP2)

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

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

CONTEÚDO PROGRAMÁTICO

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

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

Programação para Internet I Aulas 10 e 11

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

Definição da Sintaxe Abstrata de Potigol em XML

Transformação de Documentos XML em Bases de Dados Relacionais Utilizando ASP.NET

PROGRAMAÇÃO PARA INTERNET RICA DHTML E O DOCUMENT OBJECT MODEL

L A C Laboratory for Advanced Collaboration

Documentos XML 1/20. Exemplo de documento XML:

PROGRAMAÇÃO PARA INTERNET RICA DHTML E O DOCUMENT OBJECT MODEL

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

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

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

PROGRAMAÇÃO PARA INTERNET RICA DHTML E O DOCUMENT OBJECT MODEL

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

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

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

Armazenamento e Gestão de dados XML

JavaScript (Elementos de Programação e Programação Básica)

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

Sérgio Koch Van-Dall

Manipulação de XML JAXP - DOM

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

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

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

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

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

Especificação Técnica ACSS

Tutorial. Introdução ao XML e tecnologias associadas. Aplicações e dialectos XML. Sessão Fevereiro XATA 06

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

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O

XML extensible Markup Language. Prof. Fellipe Aleixo

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

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

- MANUAL DE ORIENTAÇÃO - Módulo Veículos: Transmissão em Lote de Comunicações de Transferência de Propriedade

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

Teste em Esquemas de Dados

José Carlos Ramalho Alda Reis Lopes Pedro Rangel Henriques

Sumário. BD Orientado a Objetos

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

XKEYMATCH: UM ALGORITMO SEMÂNTICO PARA DETECÇÃO DE DIFERENÇAS ENTRE DOCUMENTOS XML

XML Schema (Parte. Vanessa de Paula Braganholo

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Escola de Ciência da Informação ECI/UFMG. Eduardo Ribeiro Felipe

ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML

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

Transcrição:

Sumário 1 Aplicações Não-Convencionais 2 Revisão e Dicas de Modelagem Conceitual 3 BD Orientado a Objetos e Objeto- Relacional 4 BD Temporal 5 BD Geográfico 6 BD XML

XML (extensible Markup Language) Tecnologia desenvolvida pela W3C W3C: World Wide Web Consortium definição de padrões para a Web consórcio formado pela academia e indústria Padrão para representação e transferência de dados Motivações para utilização crescente da XML aplicações sobre a Web extração, manipulação, integração, transferência e publicação de dados aplicações que lidam com dados de natureza semiestruturada exemplos: anúncios classificados, livros,... preferência por docs XML ao invés de dados em BDs relacionais

Protocolos XML Definidos em diversos domínios e tecnologias comércio eletrônico CXML, ebisxml,... referências bibliográficas DBLP, SIGMOD,... sistemas de informação geográfica SVG, GML,... dispositivos móveis WAP, WML,... web services... SOAP, WSDL,...

Uso Extensivo de Protocolos XML... Necessidades métodos de acesso a dados XML pelos programas de aplicação projeto da estrutura dos dados XML facilidades para armazenamento e manipulação de dados XML persistentes... A tecnologia de Banco de Dados (BD) é útil neste contexto

Tecnologia XML x Tecnologia BD Similaridades documentos XML mantém coleções de dados tecnologia XML oferece mecanismos para definição e manipulação de dados DTD e XSD, XPath e XQuery, DOM,... Diferenças dado XML não é um dado convencional dado semi-estruturado tecnologia XML é carente de alguns mecanismos de gerenciamento de dados integridade, visões, gerência adequada transações,...

Dado Semi-Estruturado Principais características estrutura heterogênea estrutura auto-descritiva estrutura parcial

Estrutura heterogênea Cada instância de dado pode ter um esquema particular <autor> <nome>joao Silva</nome> <endereco>rua B,23</endereco> <email>jsilva@inf.ufsc.br</email> </autor> <autor> <nome>ana Ramos</nome> <endereco> <rua>brasil</rua> <numero>767</numero> <cidade>fpolis</cidade> </endereco> <fone>33313333</fone> <fone>33313332</fone> </autor>

Estrutura auto-descritiva Cada instância de dado carrega o seu esquema <autor> <nome>ana Ramos</nome> <endereco> <rua>brasil</rua> <numero>767</numero> <cidade>fpolis</cidade> </endereco> <fone>33313333</fone> <fone>33313332</fone> </autor>

Estrutura parcial Apenas parte da descrição de uma instância pode ser estruturada <capítulo numero = 2 titulo = Tecnologia XML > Este capítulo descreve... XML<ref>(Mel03)</ref>. XML é um padrão... <secao numero = 1> <titulo>dtd</titulo> Esta seção descreve... </secao>... </capítulo>

XML & BD Dados XML não são naturalmente adequados para armazenamento em BDs Dado de BD representação homogênea esquema independente dos dados totalmente estruturado esquema enxuto Dado XML representação heterogênea representação auto-descritiva estrutura parcial esquema extenso

Tecnologia XML x Tecnologia BD Conclusão tecnologia XML não é totalmente equivalente à tecnologia de BD Tópico de pesquisa na comunidade científica de BD gerenciamento de dados XML através de BDs uma linha de pesquisa desenvolvimento de SGBDs específicos para XML

XML definição XML é uma meta-linguagem de marcação linguagem de marcação semelhante à linguagem HTML utiliza tags para descrição os dados tag: indica a intenção do dado e delimita o seu conteúdo meta-linguagem XML é um padrão aberto cada aplicação define o protocolo (linguagem) para a representação dos seus dados Dados no formato XML são descritos em um documento XML

Exemplo de Documento XML <?xml version = 1.0 encoding ="ISO-8859-1 > <! - documento XML sobre livros --> <!DOCTYPE listadelivros [ <!ELEMENT listalivros(livro+)...]> <listalivros> <livro ISBN= 112 > <título>tecnologia XML</título> <autor> <nome>joão da Silva</nome> <email>js@hotmail.com</email> </autor>... <capítulo nome= Introdução >A XML foi... <seção> <nome>linguagens de Marcação</nome>... </seção> </capítulo>... </livro>... </listalivros> informações do documento elemento (raiz) atributo elemento (simples) elemento (complexo) elemento (misto) dado XML: estrutura hierárquica, ordenada e complexa

Documento XML Bem Formado Requisitos contém um elemento raiz define elementos com tags inicial e final define atributos com conteúdo delimitado por aspas simples ( ) ou aspas duplas ( ) Parser XML programa que verifica se um documento XML é bem formado alguns browsers Web são capazes de realizar tal verificação

Tecnologia XML da W3C Principais facilidades similares a SGBDs definição de esquemas DTD e XML Schema linguagens de consulta XPath e XQuery modelo de representação e API de acesso DOM

Definição de Esquemas Esquema XML define restrições para a organização hierárquica e conteúdo dos dados em um doc XML documento válido documento cuja estrutura está de acordo com um esquema validação é feita por um parser Duas recomendações DTD (Document Type Definition) XSD (XML Schema Definition)

DTD Primeira recomendação da W3C Gramática para definição de hierarquia baseada em seqüências ordenadas e escolhas Definição de elementos complexos, textuais (#PCDATA), vazios (EMPTY), mistos ((#PCDATA...)*) ou com conteúdo aberto (ANY) Definição de atributos obrigatórios (#REQUIRED) opcionais (#IMPLIED), fixos (#FIXED), valor default, enumeração, referência (ID, IDREF(S))

DTD - Exemplo <!ELEMENT listalivros (livro+)> <!ELEMENT livro (título, preço, autor+, capítulo+)> <!ATTLIST livro ISBN ID #REQUIRED edicaoanterior IDREF #IMPLIED> <!ELEMENT título (#PCDATA)> <!ELEMENT autor (nome, email?)> <!ELEMENT nome (#PCDATA)> <!ELEMENT preço (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT capítulo (#PCDATA seção)*> <!ATTLIST capítulo nome CDATA #REQUIRED> <!ELEMENT seção (nome, conteúdo)> <!ELEMENT conteúdo (#PCDATA)>

XML Schema (XSD) Recomendação mais recente Sintaxe XML Extensão da funcionalidade de uma DTD definição e especialização de tipos de elementos semelhança com esquemas orientados a objetos 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>...

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:sequence> <xsd:element name= livro type= Tlivro minoccurs= 1 maxoccurs= unbounded /> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:schema>

XPath Primeira recomendação para consulta a dados Linguagem para o acesso a partes de um doc XML sintaxe: expressões de caminho assemelha-se à navegação em diretórios de arquivos exemplo expressão XPath: /listalivros/livro/título resultado: <título>tecnologia XML</título> <título>sistema de Banco de Dados</título>...

XPath - Exemplos /listalivros (elemento raiz todo o doc XML) /listalivros/livro/*/email ( * substitui 1 elem) /listalivros/livro//seção (qq elemento descendente seção) /listalivros/livro/capítulo[1] (primeiro capítulo de livros) /listalivros/livro/capítulo/nome /listalivros/livro/capítulo/seção/nome (união) /listalivros/livro/@isbn (acesso a um atributo) /listalivros/livro[título = XML ] (filtro) /listalivros/livro[capitulo/@nome = XML or //seção/nome = XML ]/título (filtro) /listalivros/livro//seção[last()] (função)

XQuery Recomendação mais recente Recursos adicionais em relação à XPath junções, definição de estruturas de resultado, variáveis de consulta, atributos calculados, funções de agregação,... Sintaxe básica (expressão FLWR ) for variável in expressãoxpath [let associação de novas variáveis] [where condição] return estrutura de resultado

XQuery - Exemplos for $liv in /listalivros/livro where $liv/autor/nome = João Silva return { $liv/@isbn, $liv/titulo } (consulta simples) for $liv in /listalivros/livro let $pdesc := $liv/preço - $liv/preço * 0.1 where $liv/categoria = ficcao return <FiccaoDesc>{$liv/titulo, $pdesc}</ficcaodesc> for $liv1 in /listalivros/livro[@isbn = 562 ] for $liv2 in /listalivros/livro where $liv2/@isbn!= $liv1/@isbn and $liv2/autor/nome = $liv1/autor/nome return $liv2/titulo (nova estrutura de resultado) (junção)

DOM (Document Object Model) Modelo de dados para XML estrutura hierárquica (árvore) métodos de acesso (API DOM) principais classes de objetos document, node, nodelist e element execução de consultas e atualizações de dados Parsers DOM validam um doc XML geram um objeto document

Objetos do Modelo DOM node listalivros document... livro ISBN livro título preço autor autor Tecnologia XML 79.00 nome mail nome element João da Silva js@hotmail.com jsilva@xxx.com Maria Souza nodelist

Principais Métodos document Método documentelement getelementbytagname(string) createtextnode(string) createcomment(string) createelement(string) Resultado Element NodeList String Comment Element

Principais Métodos node Método nodename nodevalue nodetype parentnode childnodes firstchild lastchild previoussibling nextsibling insertbefore(node novo, Node ref) replacechild(node novo, Node antigo) removechild(node) haschildnode String String short Node NodeList Node Node Node Node Node Node Node boolean Resultado

Principais Métodos element Método tagname getattribute(string) setattribute(string nome, String valor) getattributenode(string) removeattributenode(string) getelementsbytagname Resultado String String Attr Attr Attr NodeList nodelist Length item(int) Método int Node Resultado

Exemplo de Navegação em DOM listalivros... livro ISBN livro título preço autor autor Tecnologia XML 79.00 nome mail nome João da Silva js@hotmail.com jsilva@xxx.com Maria Souza doc.documentelement.childnodes.item(0).getelementsbytagname( autor ). item(1).firstchild.firstchild.data objeto DOM nodo raiz lista de livros 1 o livro lista de autores 2 o autor 1 o nodo filho: nome 1 o nodo filho: conteúdo de nome texto

DOM Exemplo (JavaScript) var doc, raiz, livro1, autores, autor2; doc = new ActiveXObject( Microsoft.XMLDOM ); doc.load( livros.xml ); if (doc.parseerror!= 0)...; else { raiz = doc.documentelement; /* busca o primeiro livro (primeiro nodo filho) */ livro1 = raiz.childnodes.item(0); /* busca a lista de autores do primeiro livro */ autores = livro1.getelementsbytagname( autor ); /* busca o segundo autor */ autor2 = autores.item(1); /* escreve o nome do autor primeiro nodo filho */ document.write( Nome do segundo autor: + autor.childnodes.item(0).data); }