Vânia Maria Ponte Vidal

Slides:



Advertisements
Apresentações semelhantes
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Advertisements

Banco de Dados I Aula 20.
Standard para representar e trocar informação estruturada
Tecnologias XML XML Schema
XML Schema Documento XML válido
O Modelo E-R Definição: Características
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof. Thiago Pereira Rique
Helena Galhardas DEI IST
1 FEUPXML Anotação de Documentos Elementos, Atributos, Entidades, Comentários, Declarações e Instruções de Processamento.
XML (eXtensible Markup Language) W3C - World Wide Web Consortium Documentos TXT estruturados? Por que XML? XML, ou eXtensible Markup Language, é uma linguagem.
XML Schema XML schema é um vocabulário XML para expressar regras de negócios (sobre os dados).
XML - Extensible Markup Language
Java: Pacotes e Modificadores de Visibilidade
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Consultado Documentos XML com XPATH
Gerenciamento de Dados XML
Profa. Aline Vasconcelos
Jcr - ped XML Schema Processamento Estruturado de Documentos 2001 By jcr.
O.O.H.D.M. Modelagem Conceitual
XML DTDs e Schemas Sharp Shooters.NET Universidade Federal de Pernambuco Centro de Informática Recife, 21/10/2002 Autor: Marden Menezes Costa.
Modelagem de Dados Usando o Modelo Entidade-Relacionamento
Prof. Alfredo Parteli Gomes
HTML Básico João Araujo.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
XML Extended Markup Language
1 Namespaces. 2 Dados XML são usados para intercâmbio entre organizações XML permite autores de documentos criarem suas próprias tags, definindo a origem.
JSON Programação de Script.
XML Schema Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa Fumagalli.
Document Type Definition - DTD
Tópicos de Sistemas de Informação A
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
Web Services Uninorte Semana de Tecnologia da Informação
Document Type Definition (DTD) Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003.
Formulários HTML Jobson Ronan
Profº Cláudio Barbosa XHTML – Introdução  XHTML (eXtensible HyperText Markup Language) – linguagem baseada na XML para.
Banco de dados.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
PostGres: Um Banco de Dados Orientado a Objetos
Definições de Esquemas, Restrições básicas e buscas
Banco de Dados Aplicado ao Desenvolvimento de Software
Unidade 6 – Formulários HTML Prof.: Henrique Santos
Linguagem XML Criando um documento XML válido
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Ferramentas para Sistema Web Sistemas de Informação Aula /03/2013.
©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.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Validando Documentos XML Vânia Maria Ponte Vidal
XML Prof. Dr. Fernando Gauthier INE/UFSC. XML XML (Extensible Markup Language) é uma linguagem para marcar documentos que contêm informações estruturadas.
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
XML: Conceitos, Tecnologias e Aplicações Vânia Maria Ponte Vidal
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
Profa. Ana Karina Barbosa Abril/2008
Modelo Relacional Marcelo Mendes Manaus – 2015.
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
Aula 6 1 Análise Lexical Compiladores, Aula Nº 6 João M. P. Cardoso.
Array e ArrayList LPOO – 01/09/14.
Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
SISTEMA DE AUTOMAÇÃO DE BIBLIOTECAS USANDO O SABi CONSULTA AO CATÁLOGO ON-LINE Sistema de Bibliotecas Centro de Processamento de Dados Comissão de Automação.
Apresentação TI Alunos: Isadora Bernardo, Lucas Medeiros, Marcela Muniz e Renata Coutinho.
Design para Web 3 XHTML.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica.
Rhizome. Roteiro Definição Metas Características Arquitetura Tecnologias envolvidas Referências.
Modelagem de Banco de Dados através do ERwin
Tarefa Autor: Skyup Informática. Atividade – Tarefa O módulo atividade tarefa tem como principio básico a interação professor-aluno. Os alunos podem apresentar.
Programação para Internet Rica– Aula 03 Prof. Me. Ronnison Reges Vidal.
XML – Extensible Markup Language (Introdução – Parte II) Prof. Joel
Tecnologias XML XML Schema
Transcrição da apresentação:

Vânia Maria Ponte Vidal vvidal@lia.ufc.br XML SCHEMA Vânia Maria Ponte Vidal vvidal@lia.ufc.br

XML Schema Linguagem de esquemas XML prosposta pela W3C para descrever a estrutura de um documento XML. XML Schema define: Tipo de dados de elementos e atributos Elementos e atributos contidos no documento; elementos filhos de um elemento; A ordem dos elementos filhos; O número de filhos de um elemento; Se um elemento é ou não vazio; Valores fixos e default para elementos e atributos.

XML Schema-Vantagens Esquemas XML Schema são escritos em XML. Não é necessário aprender outra lingagem. Esquemas XML Schema são extensíveis. XML Schema é mais abrangente que DTD. XML Schema suporta namespaces. Pode-se definir vários elementos com mesmo nome, mas com contextos diferentes. Reuso de esquemas em outros esquemas.

XML Schema-Vantagens Pode-se referenciar múltiplos esquemas em um mesmo documento Possuem mais de 44 tipos de dados predefinidos; Suportam criação de tipos definidos pelo usuário; Suportam criação de tipos de dados derivados de tipos padrão; Define restrições e padrões para dados; Pode-se usar os mesmos editores e parsers para XML com XML Schema; Pode-se manipular esquemas com XML DOM

Documento XML - Exemplo <?xml version = “1.0”?> <Livros> <livro categoria =“Informática” > <titulo>INSIDE XML </titulo> <autor> Steven Holzner</autor> <ISBN>0735710201 </ISBN> </livro> <titulo> XML`S GUIDE </titulo> <autor>John Cowan </autor> <ISBN> 0071351248 </ISBN> </Livros>

DTD Este é um simples DTD chamado catalogo.dtd que define os elementos do documento XML DTD <! Catalogo de livros --> <!ELEMENT Livros (Livro)*> <!ELEMENT Livro (Titulo, Autor,ISBN)> <!ELEMENT Titulo (#PCDATA)> <!ELEMENT Autor (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ATTLIST Livro categoria CDATA #REQUIRED)> define o elemento Livros que tem uma coleção de Livro define o elemento livro que tem três elementos: Titulo, Autor, ISBN. Definem os subelementos de Livro

<xs:schema xmlns:xs=http://www.w3.org/2000/10/ XMLSchema/> <?Xml version "1.0"?> <xs:schema xmlns:xs=http://www.w3.org/2000/10/ XMLSchema/> targetNamespace=“http://www.livros.com” xmlns = “http://www.livros.com”> <xs:element name= "Livros“ type= “LivrosType“ /> <complexType name= “LivrosType“ > <xs:element name= "livro" type= “LivroType“ maxOccurs="*"> </ complexType > <complexType name= “LivroType“ > < xs:sequence> <xs:element name="titulo" type="xs:string"/> <xs:element name="autor" type="xs:string"/> <xs:element name="ISBN" type="xs:string"/> <xs:attribute name= "categoria" type="xs:string"> < /xs:sequence> </complexType> </schema> Declaração do elemento raiz Definição do tipo LivrosType Falta colocar os indicadores de ordem. Definição do tipo LivroType XML Schema - Exemplo

XML Schema – Tipos Tipo Simples ( Simple Type ): : Não podem conter elementos ou atributos São os tipos básicos como string, date, float...Como também podem ser tipos definidos pelo usuário. Tipo Complexo ( Complex Type ): Descrevem estruturas complexas, podendo conter subelementos e atributos

XML Schema - Tipos Simples XML Schema possui 44 tipos predefinidos. string boolean decimal float double duration dateTime time date gYearMonth gYear gMonthDay gDay gMonth hexBinary base64Binary anyURI NOTATION

Definindo Tipos Simples Um novo tipo simples pode ser definido a partir de um tipo simples já existente(tipo base) especificando restrições (“facetas”) no tipo base. <simpleType name= “telefone_Ty” base= “string”> <length value= “8”/> <pattern value= “\d{3} -\d{4}”/}> <simpleType> Elementos do tipo telefone são strings de tamanho 8 que devem ter o padrão ddd-dddd, onde d reresenta um dígito.

Definindo Tipos Simples Exemplos de restrições que podem ser usadas para definir tipos simples: enumeration: define uma lista de valores aceitáveis. <simpleType name=“faseLua_ty” base=“string”> <enumeration value=“nova"/> <enumeration value=“crescente"/> <enumeration value=“cheia"/> <enumeration value=“minguante"/> </simpleType> Os valores aceitáveis para um elemento do tipo faseLua são: nova, crescente, cheia, minguante.

Definindo Tipos Simples minExclusive, maxExclusive: especificam os limites inferior e superior para valores numéricos. <simpleType name=“idade_ty” base=“integer”> <minExclusive value="0"/> <maxExclusive value="100"/> </simpleType> O valor dos elementos do tipo idade devem ser maior que zero e menor que cem.

Definindo Tipos Simples minInclusive e maxInclusive: especificam os limites inferior e superior para valores numéricos. <simpleType name=“idade_ty” base=“integer”> <minInclusive value="0"/> <maxInclusive value="100"/> </simpleType> O valor dos elementos do tipo idade devem ser maior ou igual a zero e menor ou igual a cem.

Declarando Elementos de Tipos Simples Um elemento de tipo simples pode ser declarado usando um tipo predefinido ou tipo já definido anteriormente <element name=“idade" type=“idade_ty"/> Se o tipo não for básico, ele deve ser anteriormente definido.

Declarando Elementos de Tipos Simples Um elemento de tipo simples pode ser declarado usando um tipo anônimo . Um tipo anônimo é definido na declaração do elemento e só poderá ser usados na declaração deste elemento. <element name = “senha ”> <simpleType> <restriction base=“string”> <minLength value=“6"/> <maxLength value=“8"/> </restriction> </simpleType> </element> tipos anônimos não podem ser reusado.

Declarando Atributos Todos os atributos são de tipos simples. (atributos não possuem estrutura) Atributos podem ser decLarados especificando o nome do atributo e o seu tipo. <attribute name=“nome" type=“string"/>

Declarando Atributos Atributos também podem ser declarados definindo tipos anônimos: <attribute name = “senha ”> <simpleType> <restriction base=“string”> <minLength value=“6"/> <maxLength value=“8"/> </restriction> </simpleType> </attribute>

Declarando Atributos Restrições podem ser definidas usando o atributo use: required: o atributo é obrigatório e pode ter qualquer valor. <attribute name=“cor” type=“string” use=“required”/> optional: o atributo é opcional e pode ter qualquer valor. <attribute name=“cor” type=“string” use=“optional”/> fixed: o valor do atributo é fixo. <attribute name=“cor” type=“string” use=“fixed” value=“azul”/> default: define um valor default. <attribute name=“cor” type=“string” use=“default” value=“azul”/> prohibited: o atributo não deve aparecer. <attribute name=“cor” type=“string” use=“prohibited”/>

Definindo Tipos Complexos Tipos complexos são tipos que possuem estrutura, podendo conter elementos e atributos. A declaração de um tipo complexo define os sub-elementos e atributos que compõem a estrutura do tipo. <complexType name= “Tendereco” > <element name=“rua“ type=” string“> <element name=“cidade “ type=”string “> <element name=“ estado“ type=”string “> <attribute name = “ telefone“ type= “ string“> </complexType> Tipos simples podem ser tipos básicos predefinidos da XML Schema ou tipos definidos pelo usuário baseados em tipos simples já existentes. Um novo tipo simples pode ser definido a partir de um tipo simples já existente(chamado tipo base) especificando restrições(“facetas”) no tipo base.

Declarando Elemento de Tipo Complexo <element name=“endereco" type=“Tendereco"/> O tipo definido anteriormente. <element name=“endereco" > <complexType > <element name=“rua“ type=” string“/> <element name=“cidade “ type=”string “/> <element name=“ estado“ type=”string “/> <attribute name = “ telefone“ type= “ string“/> </complexType> <element /> Tipo anônimo

Atributo content O atributo content define o tipo do conteúdo. Os possíveis valores do atributo content são: Empty, mixed, elementOnly, textOnly empty: <complexType name=“Timagem” content= “empty”> <attribute name=“largura” type = “decimal”/> <attribute name=“altura” type = “decimal”/> </complexType > <imagem largura=“10” altura=“20”/>

Atributo content mixed: os elementos podem conter atributos, sub-elementos e textos <complexType name=“Tpedido" content = “mixed“ > <element name=“cliente“ type=” string“/> <element name= “codigoPedido” type=“string”> <element name=“produto “ type=”string “/> </complexType> <pedido>Sr. <cliente>Fernado Costa</cliente> seu pedido de número <codigoPedido>1027</codigoPedido>do produto <produto>Livro de XMl </produto> será enviado do o mais breve possível. </pedido>

Atributo content elementOnly: os elementos podem conter apenas sub-elementos e atributos ( é o default ) <complexType name=“Tendereço“ content=“elemntOnly” > <element name=“rua“ type=” string“/> <element name=“cidade “ type=”string “/> <element name=“ estado“ type=”string “/> <attribute name = “ telefone“ type= “ string“/> </complexType> <endereco telefone= “2672159”> <rua>Av. Santos Dumont </rua> <cidade> Fortaleza </cidade> <estado>CE</estado> </endereco>

Atributo content textOnly: o elemento pode conter atributos e texto, mas não sub-elementos. <complexType name= “Tcodigo > <simpleContent> <extension base = “integer”> <attribute name = “pais” type=“string”> </extension> </simpleContent> </complexType> <codigo pais = “Brasil”>51</codigo>1

Restrições de Ocorrência O número máximo e mínimo de ocorrências de um elemento é especificado através dos atributos minOccurs e maxOccurs. Os atributos minOccurs e maxOccurs podem ser usados tanto em tipos simples e complexos. Através do atributo minOccurs podemos determinar se um elemento é obrigatório ou não: minOccurs=0: elemento opcional. minOccurs>0: elemento obrigatório. <element name= “telenofe” type=“string” minOccurs=“1” maxOccurs=“2”>

Restrições de Ordem <all>: especifica que os sub-elementos podem aparecer em qualquer ordem e que cada um deve ocorrer única vez <element name= “pessoa”> <complexType> <all> <element name=“nome” type = “string”/> <element name=“sobrenome” type= “string”/> </all> </complexType> </element>

Restrições de Ordem <choice>: especifica que apenas um dos sub-elementos pode ocorrer. <element name= “pessoa”> <complexType> <choice> <element name=“empregado” type = “tempregado”/> <element name=“estudante” type= “testudante”/> </choice> </complexType> </element> Também é possível especificar restrição de ocorrência : <choice minOcurrs= “0” maxOccurs= “unbounded”>

Restrições de Ordem <sequence>: especifica que os subelementos devem aparecer na mesma ordem em que são declarados e nenhum elemento pode ser omitido. <element name= “pessoa”> <complexType> <sequence> <element name=“nome” type = “string”/> <element name=“sobrenome” type= “string”/> </sequence> </complexType> </element>

Derivando Tipos Complexos Derivação por extensão: estende um tipo complexo adicionando elementos ou atributos. <complexType name= “Tendereco” > <element name=“rua“ type=” string“/> <element name=“cidade “ type=”string “/> <element name=“ estado“ type=”string “/> <attribute name = “ telefone“ type= “ string“/> </complexType> <complexType name= “TenderecoCompleto”> <extension base = “ endereco”> <element name=“cep” type= “string”/> </extension base > </complexType>

Derivando Tipos Complexos Derivação por restrição: restringe o tipo base <complexType name= “Tendereco” > <element name=“rua“ type=” string“/> <element name=“cidade “ type=”string “/> <element name=“ estado“ type=”string “ minOccurs =“ 0“ maxOccurs= “1 ”/> <attribute name = “ telefone“ type= “ string”/> </complexType> <complexType name= “TenderecoObrigatorio” > <restriction base = “ endereco”> <element name=“rua“ type=” string“/> <element name=“cidade “ type=”string “/> <element name=“ estado“ type=”string “ minOccurs =“ 1“ maxOccurs= “1 ”/> <attribute name = “ telefone“ type= “ string“/> </restriction> </complexType>

Derivando Tipos Complexos Na derivação por restrição todos os atributos e elementos do tipo base devem ser declarados no tipo derivado. A vantagem de derivação por restrição é que o conteúdo de um elemento do tipo derivado pode substituir o conteúdo de um elemento do tipo base. Por exemplo, um elemento do tipo enderecoObrigatorio pode ser uma instância de um elemento do tipo endereço.

Restrições de Integridade XML tem se tornado um formato universal para representação e troca de informações na WEB. Em muitas aplicações, os dados XML são gerados de fontes já existentes ( isto é, relacional, orientada a objeto, sistemas de arquivos, etc). XML deve especificar algumas restrições de integridade sobre os dados para manter as restrições especificadas nas fontes de origem. Restrições de integridade são muito importantes para a especificação da semântica, controle de consistência, preservação da informação e integração de fontes de informação.

Restrições de Integridade- DTDs As restrições de integridade são definidas pelos atributos ID(identificadores), IDREF e IDREFS(referenciais). Os valores de todos os atributos identificadores têm que ser distintos em todo o documento. Não permite especificar o tipo do elemento referenciado.

Restrições de Integridade – XML Schema Mecanismos de restrições de integridade: Unique Key- keyref vantagens: Podem ser aplicadas tanto em elementos como em atributos. Podem ser aplicadas a mais de um elemento ou atributo. Permitem limitar o escopo, no qual o valor do elemento ou do atributo deve ser único, ou o qual o escopo dos elementos referenciados.

Restrições de Integridade Unique XML Schema permite especificar que o valor de qualquer elemento ou atributo deve ser único dentro de um determinado escopo (restrição de unicidade). Key XML Schema permite especificar que o valor de qualquer elemento ou atributo deve ser único e pode ser referênciado dentro de um determinado escopo (restrição de unicidade).

Restrições de Integridade Exemplo: Identifica unicamente a restrição expressão de caminho especifica o escopo <key name=“chave_livro”> <selector xpath=“livaria/livro”/> <field xpath=“titulo”/> <field xpath=“autor”/> </key> expressões de caminho (relativas a cada elemento selecionado pelo selector) a qual especifica um elemento mono ocorrência ou atributo monovalorado, do tipo simples

Restrições de Integridade Restrição referencial (KEYREF) nome da restrição de chave referenciada Nome da restrição <keyref name=“autor refer=“chave_livro”> <selector xpath=“livaria/autor”/> <field xpath=“nome”/> <field xpath=“autor”/> </keyref> expressão de caminho especifica o escopo dos elementos em que a restrição se aplica. Expressões de caminho relativas aos elemento selecionado pelo selector. Cada expressão deve identificar um elemento mono ocorrência ou atributo monovalorado do tipo simples.