XML Schema XML schema é um vocabulário XML para expressar regras de negócios (sobre os dados).

Slides:



Advertisements
Apresentações semelhantes
Introdução Marcus Vinícius Carneiro Teixeira.
Advertisements

Tecnologias XML XML Schema
XML Schema Documento XML válido
Prof.: Bruno Rafael de Oliveira Rodrigues
Programação II Estruturas de Dados Aula 01
Helena Galhardas DEI IST
1 FEUPXML Anotação de Documentos Elementos, Atributos, Entidades, Comentários, Declarações e Instruções de Processamento.
SGBD.
Orientação a Objetos: Encapsulamento e Classificação
Programação Orientada a Objetos*
Vânia Maria Ponte Vidal
Gerenciamento de Dados XML
Programação Básica em Java
INF 1366 – Computação Gráfica Interativa X3D
April 05 Prof. Ismael H. F. Santos - 1 Módulo II Introdução a XML DTD Prof. Ismael H F Santos.
Tipos de dados, valores literais e variáveis
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Delphi Disciplina de Programação Visual 2/Linguagem de Banco de dados – QI – Aula1 Prof. Luciano Monteiro.
29 de Outubro de 2001jcr -ped2001 NameSpaces Processamento Estruturado de Documentos 2001 By jcr.
Jcr - ped XML Schema Processamento Estruturado de Documentos 2001 By jcr.
O Portal do Estudante de Computação
Capítulo 10 Strings & File I/O. Strings Strings são um conjunto de Caracteres ASCII. No Controle de Instrumentação pode-se converter valores numéricos.
12 Horas Instrutor: Antonio Itamar Júnior
Linguagem técnica de programação I Java – REVISÃO
O Portal do Estudante de Computação
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
< declaração de variáveis > ( estrutura de dados )
Aula Prática 4 Monitoria IP/CC (~if669).
Terceiro Trabalho Prático de GTI
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 Carlos Oberdan Rolim Ciência da Computação.
PROGRAMAÇÃO ou LINGUAGEM C?
Tipos de Dados Paradigmas de Programação
Numeração.
Operadores e Atribuições Capítulo 3
Introdução à Linguagem Java
Document Type Definition (DTD) Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003.
Mini Curso Java como Programar
Profº Cláudio Barbosa XHTML – Introdução  XHTML (eXtensible HyperText Markup Language) – linguagem baseada na XML para.
Colégio da Imaculada Curso Técnico em Informática
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Definições de Esquemas, Restrições básicas e buscas
Tipos de Dados Operadores
Linguagem XML Criando um documento XML válido
Tipos de dados inteiro caracter real logico
Laboratório I Mateus Raeder. Mateus Raeder – maio de 2010 Arrays  Variável: armazena apenas um valor  Como criar em uma única variável, espaço para.
GESTOR: TIC/TIC-E&P/GIDSEP versão 1 - julho/2013 Tecgraf PUC-Rio Fevereiro de 2014 IDL.
©Silberschatz, Korth and Sudarshan (modificado)10.1.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do.
Trabalho Computacional Mecânica de Fluidos Ambiental Guillaume Riflet, Pedro Pina, Luís Fernandes.
Produção de Sites Unidade 9 – XML Prof.: Henrique Santos.
Tarciana Dias Luciana Oliveira Flávia Falcão
Tecgraf PUC-Rio setembro de 2013 IDL. Interface Definition Language Linguagem neutra Define a interface dos objetos CORBA struct Book { string author;
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 – Extensible Markup Language [Sintaxe] Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa Fumagalli.
Java e XML Eduardo Aranha. Slogans de Java e de XML Java – “Portabilidade de Código” XML – “Portabilidade de Dados” Java e XML – “Portabilidade de Código.
SQL SERVER XML Guia Essencial para Programação com XML no SQL Server.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 IDL.
BPMN automatizando processos
Uma Abordagem Bottom-Up para a Integração Semântica de Esquemas XML Tese de Doutorado por Ronaldo dos Santos Mello Prof. Carlos Alberto Heuser Orientador.
© 2007 IBM Corporation Academic Initiative 07/05/07 Aula 2 – Parte 1: Java Basics Autores: Argemiro José de Juliano Marcos
PROGRAMANDO SEM POO EM JAVA Dilvan Moreira (baseado no livro Big Java)
XML (eXtensible Markup Language) W3C - World Wide Web Consortium Documentos TXT estruturados? Por que XML? XML, ou eXtensible Markup Language, é uma linguagem.
Tecnologias XML XML Schema
Transcrição da apresentação:

XML Schema XML schema é um vocabulário XML para expressar regras de negócios (sobre os dados).

Exemplo ° A localização precisa ser seguida de uma latitude e de uma longitude e do grau de incerteza que envolve as medidas; ° A latitude precisa ser um decimal com um valor entre -90 e 90 ° A longitude precisa ser um decimal com um valor entre -180 e 180

Validando os dados: XML Schema validator checar a latitude checar a longitude etc

Proposta do schema XML Especificar a estrutura das instâncias dos documentos! Definir o tipo de dados (datatype) de cada elemento/atributo! Exemplo de um esquema Schema XML

BookStore.xsd <xsd:schema xmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> xsd = XML Schema Definition

DTD de uma Livraria (BookStore) DTD equivalente ao Schema XML exemplificado

<xsd:schema xmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> <!ELEMENT Book (Title, Author, Date, ISBN, Publisher)>

<xsd:element name=" name " type=" type " minOccurs=" int " maxOccurs="int"/> Declaração de elementos: Tipo simples (xsd:string) ou complexo. Inteiro não negativo. Inteiro não negativo ou unbounded. <xsd:element name=" name" type="xsd:string" /> Alternativa Default: minOccurs=1 e maxOccurs=1

<xsd:schemaxmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> </xsd:schema>

<xsd:element name=" name " type=" type " minOccurs=" int " maxOccurs="int"/> Declaração de elementos: Tipo simples (xsd:string) ou complexo. Inteiro não negativo. Inteiro não negativo ou unbounded. <xsd:element name=" name" minOccurs="int" maxOccurs="int ">... Alternativa

<xsd:schemaxmlns:xsd=" targetNamespace=" xmlns=" </xsd:schema> <xsd:element ref="Book" minOccurs="1" maxOccurs= "unbounded"/>

Book +

<xsd:schemaxmlns:xsd=" targetNamespace=" xmlns=" " elementFormDefault="qualified"> </xsd:schema>

<xsd:schema xmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> Nomes para tipos complexos Sem nome Declaração Inline

<xsd:schema xmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> Nomes para tipos complexos Vantagem: reutilização!

Tipo de dados do usuário <xsd:schema xmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> Declaração de ISBN como do tipo ISBNType Definição de um novo tipo de dados

Outros Exemplos Restringe um tipo string a no máximo 8 caracteres, seguindo um padrão: 3 dígitos seguido por um traço (-) e mais 4 dígitos.

Outros Exemplos Restringe um tipo string aos valores circle, triangle e square.

Outros Exemplos Restringe um tipo integer a um valor mínimo igual a e máximo igual a

<xsd:element name="name " type=" type" minOccurs="int" maxOccurs="int"/> <xsd:element name="name" minOccurs="int" maxOccurs="int "> <xsd:element name="name" minOccurs="int" maxOccurs="int ">... 3 Resumo de declaração de Elementos

Tipos Derivados Formam uma subclasse de tipos complexos 1. Derivados por extensão: estendem o tipo complexo pai com mais elementos 2. Derivados por restrição: criam um tipo que é um subconjunto do tipo base Redefinir um elemento tipo base para ter uma restrição sobre os valores possíveis; 2.2. OU redefinir um elemento tipo base para ter uma restrição sobre o número de ocorrências;

<xsd:schema xmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> <xsd:complexType name="Publication"> <xsd:complexType name="BookPublication"> <xsd:extensionbase="Publication" > <xsd:element name="Book"type="BookPublication"maxOccurs="unbounded"/> Derivando por extensão: BookPublication estende a Publication

O tipo Publication passa a ter 05 elementos!

Title Author Date Publication ISBN Publisher BookPublication

<xsd:element name="Author" type="xsd:string" maxOccurs="unbounded" /> <xsd:restrictionbase="Publication"> Derivando por restrição: Note que SingleAuthorPublication tem apenas três elementos e o elemento Author aparecerá apenas 1 vez!

<!ATTLIST Book Category (autobiography | non fiction | fiction) #REQUIRED - InStock (true | false) "false" Reviewer CDATA " "> BookStore.dtd Declaração de Atributos

xsd:string xsd:integer xsd:boolean... required optional prohibited Obs.:se for usar valor default, não usar a opção "use " <xsd:facetvalue="valor/> Declaração de Atributos

Category (autobiography | non fiction | fiction) #REQUIRED - InStock (true | false) "false" Reviewer CDATA " "

<xsd:enumeration value="non - fiction"/> - Instâncias dos documentos têm que obrigatoriamente ter o atributo Categoria. - Os atributos são sempre simples, ou seja, não podem ter elementos filhos.

<xsd:element name="Author" type="xsd:string" m axOccurs="unbounded"/> <xsd:element name="Publisher" type="xsd:string "/> <xsd:enumeration value="autobiogra phy"/> <xsd:enumeration value="non - fiction"/> <xsd:attribute name="InStock" type="xsd:boolean" default="false"/> <xsd:attribute name="Reviewer" type="xsd:string" default=" "/> Declarando o atributo no próprio elemento

element complexType schema sequence XMLSchema Namespace string integer boolean

<xsd:schema xmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> Indica que os elementos definidos por esse esquema: - BookStore - Book - Title - Author - Date - ISBN - Publisher estarão no namespace

BookStore Book Title Author Date ISBN Publisher (targetNamespace) Book Namespace (targetNamespace)

<xsd:schema xmlns:xsd=" targetNamespace=" xmlns=" elementFormDefault="qualified"> Referência ao elemento Book, declarado no namespace padrão O namespace padrão é que também é o targetNamespace

Tipos de dados primitivos Primitive Datatypes –string –boolean –decimal –float –double –duration –dateTime –time –date –gYearMonth –gYear –gMonthDay –gDay –gMonth –hexBinary –base64Binary –anyURI –QName –NOTATION Atomic, built-in –"Hello World" –{true, false, 1, 0} –7.08 – 12.56E3, 12, 12560, 0, -0, INF, -INF, NAN – P1Y2M3DT10H30M12.3S – format: CCYY-MM-DDThh:mm:ss – format: hh:mm:ss.sss – format: CCYY-MM-DD – format: CCYY-MM – format: CCYY – format: --MM-DD –format: ---DD (note the 3 dashes) – format: --MM-- –a hex string –a base64 string – –a namespace qualified name –a NOTATION from the XML spec Note: 'T' is the date/time separator INF = infinity NAN = not-a-number

Derived types –normalizedString –token –language –IDREFS –ENTITIES –NMTOKEN –NMTOKENS –Name –NCName –ID –IDREF –ENTITY –integer –nonPositiveInteger –negativeInteger –long –int –short –byte –nonNegativeInteger –unsignedLong –unsignedInt –unsignedShort –unsignedByte –positiveInteger Subtype of primitive datatype –A string without tabs, line feeds, or carriage returns –String w/o tabs, l/f, leading/trailing spaces, consecutive spaces –any valid xml:lang value, e.g., EN, FR,... –usado somente com atributos –part (no namespace qualifier) –usado somente com atributos –456 –infinito negativo a 0 –infinito negativo a -1 – to – to – to – -127 to 128 – 0 to infinity – 0 to – 0 to – 0 to –0 to 255 –1 to infinity Tipos de dados primitivos (cont.)

… Facets: - length - minlength - maxlength - pattern - enumeration - totalDigits - minInclusive - maxInclusive - minExclusive - maxExclusive... Sources: - string - boolean - number - float - double - duration - dateTime - time... Forma geral para a especificação de valores de novos tipos