Esquemas para Dados XML

Documentos relacionados
Sumário. XML (extensible Markup Language)

introdução principais componentes

XML (extensible Markup Language)

XML Schema (Parte. Vanessa de Paula Braganholo

XML. Prof. Júlio Machado

XML Schema (Parte 2) Vanessa Braganholo

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

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

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

Estrutura Lógica DTD

Documentos XML 1/20. Exemplo de documento XML:

DTD. Vanessa Braganholo.

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 Schema. Um XML schema descreve a estrutura de um documento XML.

Dados Semi-Estruturados e XML Vanessa Braganholo. Lista de Exercícios 3 XML Schema

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

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

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

Linguagens e Programação XML / XShema. Paulo Proença

DOM (Document Object Model)

Namespaces e Esquemas XML. Namespaces - Motivação

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

Ficheiro de Reporte Periódico de Pagamentos

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

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

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

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

XML (extensible Markup Language)

Manual Técnico de Reporte Financeiro em XML

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

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

Crislane Spricigo da Silva

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

Formas de Gerência de Dados XML

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

Informática Parte 22 Prof. Márcio Hunecke

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

Linguagem XML. Linguagem XML

Manual para Integração XML

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

INE BDNC. Bancos de Dados XML

Projeto Nota Fiscal Eletrônica

<xs:complextype> <xs:sequence> "unbounded"/> </xs:sequence> </xs:complextype>

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

Controle de Restrições de Integridade de Domínio em Documentos XML

XML & Banco de Dados

Fabiana Frata Furlan Peres. Uma Proposta de Mapeamento do Modelo de Banco de Dados Orientado a Objetos para o Modelo XML Schema

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

Série Desenvolvimento de Sistemas. Curso de XML. Conceito básicos, XML Schema, Namespaces, DOM/SAX, XPath, XSLT, XLink e XPointer.

Manual Técnico de Relato Financeiro em XML

Especificação de Integração Linx Microvix WebApi v1.2

extensible Markup Language <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

Divulga PL_CTe_103 Pacote de Liberação versão 1.03, com mudanças no manual de integração e schemas

extensible Markup Language <XML/> XML XML XML vs. HTML Evolução

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

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

Módulo III Introdução a XML

Ricardo Couto Antunes da Rocha 2005 Ricardo Couto Antunes da Rocha

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

L A C Laboratory for Advanced Collaboration

CONTEÚDO PROGRAMÁTICO

4 Uma Linguagem para Workflows de Sistemas de Gerência de Análises em Biossequências 4.1 Introdução

Gerência de Dados da Web - DCC922 -

Guia de Bolso HTML e XHTML

Sumário. BD Orientado a Objetos

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

Modelagem de Dados XML

5a. Aula - XML

Manual Técnico XML. Ficheiros de Reporte Periódico de Informação Económico-Financeira.

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

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Informática PowerCenter (Versão 9.0.1) Guia XML

Bases de dados semi-estruturadas, XML

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

Introdução XML. Vanessa Braganholo

Programação para Internet I Aulas 10 e 11

Histórico de Revisões

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

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

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:

CAP. VI ANÁLISE SEMÂNTICA

Gestão e Tratamento de Informação

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

Histórico de Revisões

Número: Nome: Página 1 de 7

Armazenamento e Gestão de dados XML

Roteiro para Transmissão Ambiente de Testes da Guias Online

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

Banco de Dados. Aula 6 - Prof. Bruno Moreno 09/09/2011

XML extensible Markup Language. Prof. Fellipe Aleixo

XML (extensible Markup Language) por. Rafael Port da Rocha. (Notas de Aula)

Mapeamento de Definições XML Schema para SQL:1999

Definição da Sintaxe Abstrata de Potigol em XML

Projeto Nota Fiscal Eletrônica

Transcrição:

Esquemas para Dados XML Definição da Organização hierárquica do documento XML Conteúdo de elementos simples e atributos Cardinalidade de sub-elementos Documento XML válido Respeita as regras de um esquema XML Validado por um programa (parser de validação) Recomendações da W3C DTD (Document Type Definition) - 1998 XML Schema - 2001

DTD (Document Type Definition) Gramática Regular Proprietária Definição recursiva do modelo de conteúdo de elementos XML E1(E2+,...)... E2(E3,...)... E3(conteúdoTexto) Modelo de conteúdo de um elemento XML pode ser formado por Seqüência ordenada de sub-elementos Alternativas de sub-elementos e/ou conteúdo (Escolha) Algumas restrições de valor para elementos simples e atributos

DTD - Definição Sintaxe de Declaração <!...> Declaração de Elemento <!ELEMENT...> Declaração de Atributos de um Elemento <!ATTLIST...>

DTD Definição de Elementos Elemento complexo Modelo de conteúdo Seqüência (sequence) <!ELEMENT autor(nome, email)> Modelo de conteúdo Escolha (choice) <!ELEMENT sexo(m F)> Seqüência e escolha podem ser combinados <!ELEMENT pessoa (nome, (empresa universidade))> Elemento simples <!ELEMENT titulo(#pcdata)> Parsable Character DATA conteúdo textual validado pelo Parser (caracteres válidos: pertencem ao Encoding definido; não inclui caracteres reservados)

DTD Definição de Elementos Restrições de Cardinalidade no Modelo de Conteúdo de Elementos Complexos 0:1 (?) <!ELEMENT endereco(..., complemento?)> 1:1 (default) <!ELEMENT livro(titulo,...)> 1:N (+) <!ELEMENT livro(..., capitulo+)> 0:N (*) <!ELEMENT autor(..., email*)>

DTD Elementos Especiais Elemento Vazio <!ELEMENT figura EMPTY> Elemento Misto <!ELEMENT capitulo(#pcdata secao figura)*> Regra de definição deste elemento #PCDATA deve ser obrigatoriamente o primeiro token no modelo o modelo de conteúdo deve ser uma escolha, opcional e com repetição Elemento do tipo ANY <!ELEMENT observacao ANY> Admite conteúdo livre (com ou sem tags) Pouco utilizado, devido à ausência de restrições

DTD Definição de Atributos Definição: <!ATTLIST nome_elem def_at(s)> Principais tipos de dados CDATA conteúdo textual não validado pelo parser ID identificador do elemento no documento XML IDREF(S) referência(s) a atributo(s) do tipo ID Exemplo <!ATTLIST livro ISBN ID ano CDATA>

DTD Definição de Atributos Restrições de Integridade e Conteúdo Conteúdo obrigatório/opcional #REQUIRED/#IMPLIED Enumeração (valor 1,..., valor n) valor_default Valor fixo #FIXED Valor default Define uma string como valor default Exemplo <!ATTLIST autor codigo ID sexo CDATA (M,F) M #IMPLIED nacionalidade CDATA #FIXED brasileira >

DTD Definição de Entidades <!ENTITY fln Florianópolis > Exemplo de Utilização no Documento XML... <Endereço>rua X, 111 &fln CEP 88000-000</Endereço>... <Cidade>&fln</Cidade>...

Vinculação DTD Documento XML Definição Interna DTD definida dentro do documento XML DTD Doc XML Definição Externa DTD armazenada em um arquivo próprio (.dtd) Documento XML faz referência a este arquivo Arquivo DTD (xxx.dtd) xxx.dtd Doc XML

Vinculação DTD Documento XML Exemplo de Definição Interna <?xml version= 1.0?> arquivo.xml <!DOCTYPE artigo [ <!ELEMENT artigo (titulo, autor)> <!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (nome)> <!ELEMENT nome (#PCDATA)> ]> <artigo> <titulo>...... </titulo> <autor> <nome>...... </nome> </autor> </artigo> Exemplo de Definição Externa <?xml version= 1.0?> <!DOCTYPE artigo SYSTEM artigo.dtd > <artigo>... </artigo> artigo.dtd <!ELEMENT artigo (titulo, autor)> <!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (nome)> <!ELEMENT nome (#PCDATA)>

<?xml version ="1.0" encoding="utf-8"?> <listalivros> <livro ISBN="112"> <titulo>tecnologia XML</titulo> <preco>79.00</preco> <autor> <nome>joao da Silva</nome> <mail>js@hotmail.com</mail> <mail>jsilva@xxx.com</mail> </autor> <autor> <nome>maria Souza</nome> </autor> <editora>campus</editora> </livro> <livro ISBN="72"> <titulo>banco de Dados</titulo> <preco>129.00</preco> <autor> <nome>pedro Santos</nome> </autor> <editora>makron Books</editora> </livro> <livro ISBN="239"> <titulo>sistemas de Informacao</titulo> <preco>208.50</preco> <autor> <nome>ana Pereira</nome> <editora>campus</editora> </livro> <livro ISBN="243"> <titulo>erbd 2010</titulo> <preco>38.50</preco> <evento> <local> <mail>anap@zzz.com</mail> </evento> <editora>editora da UCS</editora> </livro>... </listalivros> </autor> <cidade>joinville</cidade> <estado>sc</estado> </local> <datainicio>09-04-2007</datainicio> <datatermino>11-04-2007</datatermino> Exercício Definir uma DTD para este doc XML

Conceitos da OO XML Schema Sintaxe XML para definição de esquemas Esquema pode ser validado por um parser Maior número de recursos que a DTD Definição de tipos de dados Vantagem: reusabilidade! simples (integer, boolean, string,...) especiais (list, union) Definição de tipos abstratos simples e complexos Especialização de tipos abstratos e elementos Outras formas de definição de restrições de integridade intervalos de valores permitidos, expressões regulares,... Suporte a namespaces vocabulários específicos para certos domínios

Declaração de Tipos Abstratos Definem a estrutura de elementos e atributos Podem ser reutilizados, ou seja, podem servir para a definição de outros tipos e de vários elementos ou atributos Classificam-se em Complexos definem a estrutura de elementos complexos Simples definem a estrutura de elementos simples e atributos

Definição de Tipo Complexo Sintaxe: <complextype>...</complextype> elementos complexos só podem ser definidos através de tipos complexos! Exemplo de Sintaxe1 definição de tipo e sua vinculação c/ elementos <xs:complextype name="tpessoa"> <xs:sequence> <xs:element name= nome" type= xs:string /> <xs:element name= fone" type="xs:integer"/> <xs:element name= email" type="xs:string"/> </xs:sequence> </xs:complextype>... <xs:element name= funcionario type= tpessoa /> <xs:element name= cliente type= tpessoa />

Definição de Tipo Complexo Exemplo de Sintaxe2 Definição direta de elemento complexo <xs:element name= funcionario > <xs:complextype> <xs:sequence> <xs:element name= nome" type="xs:string /> <xs:element name= fone" type="xs:integer"/> <xs:element name= email" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> Obs.: Principais tipos de dados simples pré-definidos da XML Schema xs:string xs:byte xs:integer xs:boolean xs:float xs:double xs:datetime xs:time xs:date xs:anyuri xs:hexbinary

Definição de Tipo Complexo Modelo de conteúdo de um complextype Construtores de grupo sequence, choice e all Exemplo de uso do construtor choice <xs:complextype name="tpublic"> <xs:sequence> <xs:element name= nome type= xs:string /> <xs:choice> <xs:element name= ISBN" type= xs:integer"/> <xs:element name= volume" type= xs:integer /> </xs:choice> </xs:sequence> </xs:complextype> <xs:element name= publicacao type= tpublic />

Definição de Tipo Complexo Restrições de Cardinalidade Cláusulas minoccurs e maxoccurs minoccurs Número mínimo de ocorrências de um sub-elemento Mínimo: 0 Default: 1 maxoccurs Número máximo de ocorrências de um sub-elemento Mínimo: 1 Máximo: unbounded ( N ) Default: 1

Definição de Tipo Complexo Restrições de Cardinalidade Exemplo <xs:complextype name="tpessoa"> <xs:sequence> <xs:element name= nome" type="xs:string"/> <xs:element name= fone" type="xs:integer maxoccurs= Unbounded /> <xs:element name= email" type="xs:string minoccurs= 0 maxoccurs= Unbounded /> </xs:sequence> </xs:complextype>

Definição de Tipo Complexo Definição de Atributo(s) de um tipo complexo Sintaxe: <attribute>...</attribute> Especificado(s) após o construtor (sequence, choice ou all) de mais alto nível Exemplo <xs:complextype name="tpublic"> <xs:sequence> <xs:element name= nome type= xs:string /> <xs:choice> <xs:element name= ISBN" type= xs:integer"/> <xs:element name= volume" type= xs:integer /> </xs:choice> </xs:sequence> <xs:attribute name= ano" type="xs:integer /> <xs:attribute name= edicao" type="xs:integer /> </xs:complextype>

Definição de Tipo Complexo Restrições de Cardinalidade p/ Atributos Definido no atributo use Valores: required e optional Default: optional Exemplo <xs:complextype name="tpublic">... <xs:attribute name= ano" type="xs:integer use= required /> <xs:attribute name= edicao" type="xs:integer use= optional /> </xs:complextype>

Definição de Tipo Complexo Restrições de Integridade p/ Atributos Atributo default define um default se nenhum valor for informado Atributo fixed define um valor constante para o atributo se valor do atributo for diferente do valor fixo estipulado ou sem valor então o doc. XML é inválido default e fixed não podem ser declarados juntos Exemplo <xs:complextype name= tpublic">... <xs:attribute name= pais type= xs:string fixed= Brasil /> <xs:attribute name= lingua type= xs:string use= optional default= Portugues /> </xs:complextype>

Definição de Tipo Complexo Atributo identificador e de referência ID e IDREF Funcionalidades semelhantes às apresentadas para uma DTD Exemplo <xs:complextype name= tfuncionario">... <xs:attribute name= codigo type= xs:id use= required /> <xs:attribute name= chefe type= xs:idref /> </xs:complextype>

Definição de Tipo Complexo Elemento Misto Atributo mixed definido como true Exemplo <xs:complextype name="tanuncio mixed= true > <xs:sequence> <xs:element name= transacao type= xs:string /> <xs:element name= produto type= xs:string"/> <xs:element name= fonecontato" type= xs:integer maxoccurs= Unbounded /> </xs:sequence> </xs:complextype> <xs:element name= anuncio type= tanuncio />

Definição de Tipo Complexo Elemento Vazio Conteúdo do complextype é vazio ou define apenas atributos Exemplo <xs:complextype name="timagem > <xs:attribute name= arquivo type= xs:string use= required /> <xs:attribute name= tamanho type= xs:integer /> </xs:complextype> <xs:element name= imagem type= timagem />

Definição de Tipo Complexo Elemento ANYTYPE Funcionalidade semelhante ao elemento do tipo ANY apresentado para uma DTD Exemplo <xs:complextype name="tcomentario > <xs:sequence> <xs:element name= autor type= xs:string /> <xs:element name= data type= xs:data /> <xs:element name= texto type= xs:anytype"/> </xs:sequence> </xs:complextype>

Exercício 2 Defina em XML Schema o esquema abaixo definido em DTD para dados de livros: <!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)>

Derivação Conceito similar à Especialização em OO herança de propriedades, com possibilidade de redefinição e definição de novas propriedades Tipos de derivação na XML Schema Extensão (para tipos complexos) Herança com definição de novas propriedades Restrição (para tipos simples) Herança com redefinição mais restritiva de propriedades

Derivação por Extensão - Exemplo <xsd:complextype name= Tlivro > <xsd:sequence> <xsd:element name= titulo type= xsd:string /> <xsd:element name= autor type= Tautor maxoccurs= unbounded /> <xsd:element name= preco type= xsd:float />... </xsd:sequence> <xsd:attribute name= ISBN type= Tisbn /> </xsd:complextype>... <xsd:complextype name= TlivroTécnico base= Tlivro derivedby= extension > <xsd:element name= area" type= xsd:string"/> </xsd:complextype>

Definição de Tipo Simples Sintaxe: <simpletype>...</simpletype> Definido através de derivação por restrição aplicação de uma restrição de integridade (faceta) exemplos: enumeração, intervalo de valores permitidos, padrão Definido através de um tipo de dado especial Tipo lista (list) define um conteúdo multivalorado todos os valores devem ser de um mesmo tipo Tipo união (union) define alternativas (uma união de) de tipos de dados para o tipo sendo criado

Definição de Tipo Simples - Facetas Maioria se aplica a qq tipo de dado simples exemplos: lenght, enumeration, pattern Algumas se aplicam apenas a tipos de dados que possuem noção de ordem exemplos: mininclusive, maxinclusive <xs:simpletype name= Nota > <xs:restriction base="xs:float"> <xs:mininclusive value= 0 /> <xs:maxinclusive value= 10 /> </xs:restriction> </xs:simpletype>

Definição de Tipo Simples - Facetas Faceta lenght Define o tamanho (nro. caracteres) do dado Exemplos <xs:simpletype name= TipoUF"> <xs:restriction base="xs:string"> <xs:lenght value = 2"/> </xs:restriction> </xs:simpletype>... <xs:element name= UF" type= TipoUF /> <xs:simpletype name= TipoIdade"> <xs:restriction base="xs:integer"> <xs:minlenght value = 1"/> <xs:maxlenght value = 3"/> </xs:restriction> </xs:simpletype>... <xs:element name= idade" type= TipoIdade />

Definição de Tipo Simples - Facetas Faceta enumeration Define um conjunto finito de valores permitidos Exemplo <xs:simpletype name= CategoriaAlunoPG"> <xs:restriction base="xs:string"> <xs:enumeration value = especializacao"/> <xs:enumeration value = mestrado"/> <xs:enumeration value = doutorado"/> <xs:enumeration value = especial"/> </xs:restriction> </xs:simpletype>... <xs:attribute name= categoria" type="categoriaalunopg />

Definição de Tipo Simples - Facetas Faceta pattern Define expressões regulares Exemplos <xs:simpletype name= TnomePessoa > <xs:restriction base= xs:string > <xs:pattern value= [A-Z]{1}[a-zA-Z]{2,} /> </xs:restriction> </xs:simpletype> <xs:simpletype name= Tisbn > <xs:restriction base= xs:string > <xs:pattern value= [0-9]{2}-[0-9]{3}-[0-9]{4}-[0-9] /> </xs:restriction> </xs:simpletype>

Definição de Tipo Simples Definição de um tipo multivalorado <xs:simpletype name= data > <xs:union membertypes= xs:date xs:string /> </xs:simpletype> <xs:simpletype name= ISBNs > <xs:list itemtype= ISBN /> </xs:simpletype> List e union só definem tipos simples, admitindo apenas componentes de tipo simples