A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 1 Namespaces

2 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 dos elementos, atributos e tipos. Pode haver uma mesma tag com semântica diferenciada em diferentes organizações, dificultando a troca de informação. Ex.: Documento1: Palio Documento2: Jornal da Tarde Usa PI para associar nomes exclusivos a URI Permitem que seja usado um esquema de atribuição de nomes ao longo de um conjunto de documentos

3 3 Solução Primeira tentativa Palio Segunda tentativa Palio Solução final (uso de namespaces) Palio

4 4 Examplo de Namespace George Soros Counting

5 5 Namespace default George Soros Contabilidade

6 6 Nome de Atributo com Namespace Atributos podem ter namespace Exemplo:

7 7 Exemplo de Namespace para Banco …http://www.FirstBank.com Centro Maceió …

8 8 XML Schema

9 9 Visa remediar as limitações dos DTDs Schemas são documentos XML Schemas ainda usam um DTD para serem validados Declaração default:

10 10 Propósito de XML Schemas Especificar: a estrutura de documentos o elemento estudante contém os elementos matrícula, endereço, curso, nome,... os tipos de dados de cada elemento/atributo o elemento idade deve ser inteiro entre 0 e 130

11 11 Motivação para XML Schemas Existe insastifação em usar DTDs: sintaxe diferente você escreve seu documento XML usando uma sintaxe e o DTD usando outra sintaxe capacidade limitada de tipos de dados DTDs suportam um conjunto muito limitado de tipos de dados. Não podemos dizer o elemento deve ser entre 240 e 3000,00 Desejo de se ter um conjunto de tipos de dados compatíveis com aqueles encontrados nos banco de dados

12 12 Vantagens de XML Schemas XML Schemas são mais poderosos que DTDs: Tipos de dados melhor especificado +41 tipos e a capacidade de se criar tipos de dados definidos pelo usuário Escritos em XML (mesma linguagem dos documentos) Podem expressar conjuntos (sets): um elemento filho pode estar em qualquer ordem Podem especificar unicidade (chaves) Uso de técnicas de orientação a objetos

13 13 W3C XML Schema Recom. define 3 namespaces: Vocabulário básico: element, attribute, complexType, etc. Contém tipos de dados pré-definidos (ex.date, time, etc.) Contém atributos a serem usados nas instâncias de documentos

14 14 Basicamente... Todos os elementos devem ser associados a tipos Os elementos atômicos (folhas da árvore XML) e atributos Tipos Básicos Definição de tipos primitivos - data, número, string, etc Tipos Simples Uso de simpleType Definição de estruturas simples a partir dos tipos básicos Os elementos compostos Tipos Complexos Uso de complexType Definição de estruturas complexas

15 15 Exemplo: Conversão do DTD CatalogoLivros.dtd para XML Schema

16 16

17 17

18 18

19 19

20 20 indica que os elementos declarados neste schema (CatalogoLivros, livro, titulo, autor, data, ISBN, editora) vão para este namespace

21 21 Este está referenciando uma declaração de um elemento livro. livro em qual namespace? Uma vez que não há um qualificador de namespace, é uma referência ao elemento livro no namespace default, que é o targetNamespace! O namespace default é que é o targetNamespace!

22 22 Como ligar uma instância XML a um XML Schema? No elemento raiz do documento XML, adicionar os atributos schemaLocation – necessário quando estamos usando um namespace associado ao nosso esquema – valor do atributo é o nome do namespace, um espaço em branco e o caminho para o arquivo XSD Neste caso, é necessário também declarar o namespace OU noNamespaceSchemaLocation – quando não usamos namespace – valor do atributo é o caminho para o arquivo XSD

23 23 Como ligar uma instância XML a um XML Schema? (exemplo) schemaLocation ...

24 24 Referenciando um schema numa instância de um documento XML Meninos de Rua Jorge Amado julho, Nossos Livros...

25 25 Valores Default para minOccurs e maxOccurs O valor default para minOccurs é "1" O valor default para maxOccurs é "1" Equivalentes!

26 26 Esquema alternativo...

27 27 Um tipo pode ser nomeado

28 28 Observação é equivalente a Elemento A referencia o complexType ttt. Elemento A tem a definição complexType embutida na declaração do elemento.

29 29 Observação 2 Uma declaração de elemento pode ter um atributo type, ou um complexType elemento filho, mas não pode ter ambos. …

30 30 Sumário de declaração de Elementos (2 formas) Um tipos simples (ex.., xs:string) ou o nome de um complexType … 1 2 Um inteiro não negativo Um inteiro não negativo ou "unbounded" Obs: minOccurs e maxOccurs podem ser usados apenas em declaração de elementos.

31 31 Problema: Como restringir os tipos? Suponha que queremos restringir o elemento ISBN da seguinte forma: ddddd-ddddd-ddddd ou d-ddd-ddddd-d ou d-dd-dddddd-d, onde 'd' significa 'digit'

32 32

33 33 ou ? Use o elemento complexType quando quiser definir elementos filhos e/ou atributos de um elemento Use o elemento simpleType quando precisar criar um novo tipo que é um refinamento de um tipo embutido (string, integer, etc)

34 34 Criando seus próprios Datatypes Um novo datatype pode ser definido de um datatype existente (chamado tipo "base" ) através da especificação de valores para uma ou mais das facetas opcionais para o tipo base. Exemplo. O tipo primitivo string tem seis facetas opcionais: pattern enumeration length minLength maxlength whitespace (valores: preserve, replace, collapse)

35 35 Exemplo de criação de um novo Datatype através da especificação de valores de facetas

36 36 Outro Exemplo Cria um novo tipo chamado Cores-Brasil. Um elemento declarado deste tipo deve ter o valor verde, amarelo, azul ou branco.

37 37 Facetas do tipo Integer Facets: pattern enumeration whitespace maxInclusive maxExclusive minInclusive minExclusive precision

38 38 Exemplo Exemplo. Definindo um elemento elevation: 5240

39 39 Tipos Derivados Podemos ter uma forma de especializar definições complexType. Conhecido como "tipos derivados" derivar por extensão: estender o complexType pai com mais elementos derivar por restrição: restringir o complexType pai através da restrição de alguns elementos para ter uma faixa de valores mais restrita, ou um número de ocorrências mais restrito.

40 40

41 41 Derivação por Restrição

42 42 Proibindo Derivações Publicação não pode ser extendida or restringida Publicacao não pode ser restringida Publicação não pode ser extendida

43 43 Atributos Seja o DTD

44 44 EmEstoque (true | false) "false" Revisor CDATA " " Categoria (autobiography | non-fiction | fiction) #REQUIRED

45 45 Alternativamente...

46 46 Sumário de Declaração de Atributos (2 formas) required default fixed optional prohibited This attribute is only used with use="default" and use="fixed" xs:string xs:integer xs:boolean …

47 47 Observação sobre Atributos A declaração de atributos sempre vem após as declarações de elementos. Os atributos estão sempre com relação ao elemento que eles estão definidos (nested). … aa e ab são atributos de A"

48 48 Elementos com Simple Content e Atributos Exemplo. Considere: 5440 O elemento elevation tem duas restrições: - um simples (integer) conteúdo - um atributo chamado units Como declarar elevation?

49 49 Solução

50 50 Solução mais completa (constraints)

51 51 Expressando Alternativas DTD: XML Schema:

52 52 Expressando Repetições

53 53 Expressando Ordem Qualquer

54 54 Elemento Vazio

55 55 Exemplo de XMLSchema para Banco ….. Definições de cliente e deposito

56 56 Exercício 3: Dado o documento XML crie um XMLSchema para o mesmo XML e Java João Silva Introdução DTD Elementos SAX DOM bla bla bla &ufcgCopyright;

57 57 Exercício 4 Compare o DTD do exercício 2 com o XMLSchema do exercício 3 e escreva suas conclusões.


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google