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

  • View
    102

  • Download
    0

Embed Size (px)

Text of 1 Namespaces. 2 Dados XML s£o usados para interc¢mbio entre organiza§µes XML...

  • Slide 1
  • 1 Namespaces
  • Slide 2
  • 2 Dados XML so usados para intercmbio entre organizaes XML permite autores de documentos criarem suas prprias tags, definindo a origem dos elementos, atributos e tipos. Pode haver uma mesma tag com semntica diferenciada em diferentes organizaes, dificultando a troca de informao. Ex.: Documento1: Palio Documento2: Jornal da Tarde Usa PI para associar nomes exclusivos a URI Permitem que seja usado um esquema de atribuio de nomes ao longo de um conjunto de documentos
  • Slide 3
  • 3 Soluo Primeira tentativa Palio Segunda tentativa Palio Soluo final (uso de namespaces) Palio
  • Slide 4
  • 4 Examplo de Namespace George Soros Counting........
  • Slide 5
  • 5 Namespace default George Soros Contabilidade........
  • Slide 6
  • 6 Nome de Atributo com Namespace Atributos podem ter namespace Exemplo:
  • 15 Exemplo: Converso do DTD CatalogoLivros.dtd para XML Schema
  • Slide 16 "> "> " title="16 ">
  • 16
  • Slide 17
  • 17
  • Slide 18 Todos XML Sche"> Todos XML Schemas tm "schema" como elemento raiz.."> Todos XML Sche" title="18
  • 18
  • Slide 19 Os elementos q"> Os elementos que so usados para criar um XML Schema vm do XMLSchema namespace"> Os elementos q" title="19
  • 19
  • Slide 20 indica que o"> indica que os elementos declarados neste schema (CatalogoLivros, livro, titulo, autor, data, ISBN, editora) vo para este namespace"> indica que o" title="20 indica que o">
  • 20 indica que os elementos declarados neste schema (CatalogoLivros, livro, titulo, autor, data, ISBN, editora) vo para este namespace
  • Slide 21 Este est re"> Este est referenciando uma declarao de um elemento livro. livro em qual namespace? Uma vez que no h um qualificador de namespace, uma referncia ao elemento livro no namespace default, que o targetNamespace! O namespace default http://www.publishing.org que o targetNamespace!"> Este est re" title="21 Este est re">
  • 21 Este est referenciando uma declarao de um elemento livro. livro em qual namespace? Uma vez que no h um qualificador de namespace, uma referncia ao elemento livro no namespace default, que o targetNamespace! O namespace default http://www.publishing.org que o targetNamespace!
  • Slide 22
  • 22 Como ligar uma instncia XML a um XML Schema? No elemento raiz do documento XML, adicionar os atributos schemaLocation necessrio quando estamos usando um namespace associado ao nosso esquema valor do atributo o nome do namespace, um espao em branco e o caminho para o arquivo XSD Neste caso, necessrio tambm declarar o namespace OU noNamespaceSchemaLocation quando no usamos namespace valor do atributo o caminho para o arquivo XSD
  • Slide 23 ... noNamespaceSchemaLocation ...">
  • 23 Como ligar uma instncia XML a um XML Schema? (exemplo) schemaLocation ...
  • Slide 24 Meninos de Rua Jorge Amado julho,1976 94303-12021-43892 Nossos Livros...">
  • 24 Referenciando um schema numa instncia de um documento XML Meninos de Rua Jorge Amado julho,1976 94303-12021-43892 Nossos Livros...
  • Slide 25
  • 25 Valores Default para minOccurs e maxOccurs O valor default para minOccurs "1" O valor default para maxOccurs "1" Equivalentes!
  • Slide 26 ">
  • 26 Esquema alternativo...
  • Slide 27 Tipo nomeado">
  • 27 Um tipo pode ser nomeado
  • Slide 28
  • 28 Observao equivalente a Elemento A referencia o complexType ttt. Elemento A tem a definio complexType embutida na declarao do elemento.
  • Slide 29
  • 29 Observao 2 Uma declarao de elemento pode ter um atributo type, ou um complexType elemento filho, mas no pode ter ambos.
  • Slide 30
  • 30 Sumrio de declarao de Elementos (2 formas) Um tipos simples (ex.., xs:string) ou o nome de um complexType 1 2 Um inteiro no negativo Um inteiro no negativo ou "unbounded" Obs: minOccurs e maxOccurs podem ser usados apenas em declarao de elementos.
  • Slide 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'
  • Slide 32 "> "> " title="32 ">
  • 32
  • Slide 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)
  • Slide 34
  • 34 Criando seus prprios Datatypes Um novo datatype pode ser definido de um datatype existente (chamado tipo "base" ) atravs da especificao 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)
  • Slide 35
  • 35 Exemplo de criao de um novo Datatype atravs da especificao de valores de facetas
  • Slide 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.
  • Slide 37
  • 37 Facetas do tipo Integer Facets: pattern enumeration whitespace maxInclusive maxExclusive minInclusive minExclusive precision
  • Slide 38
  • 38 Exemplo Exemplo. Definindo um elemento elevation: 5240
  • Slide 39
  • 39 Tipos Derivados Podemos ter uma forma de especializar definies complexType. Conhecido como "tipos derivados" derivar por extenso: estender o complexType pai com mais elementos derivar por restrio: restringir o complexType pai atravs da restrio de alguns elementos para ter uma faixa de valores mais restrita, ou um nmero de ocorrncias mais restrito.
  • Slide 40 "> "> " title="40 ">
  • 40
  • Slide 41
  • 41 Derivao por Restrio
  • Slide 42
  • 42 Proibindo Derivaes Publicao no pode ser extendida or restringida Publicacao no pode ser restringida Publicao no pode ser extendida
  • Slide 43 "> "> " title="43 Atributos Seja o DTD ">
  • 43 Atributos Seja o DTD
  • Slide 44
  • 44 EmEstoque (true | false) "false" Revisor CDATA " " Categoria (autobiography | non-fiction | fiction) #REQUIRED
  • Slide 45
  • 45 Alternativamente...
  • Slide 46
  • 46 Sumrio de Declarao 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... 1 2
  • Slide 47
  • 47 Observao sobre Atributos A declarao de atributos sempre vem aps as declaraes de elementos. Os atributos esto sempre com relao ao elemento que eles esto definidos (nested). aa e ab so atributos de A"
  • Slide 48
  • 48 Elementos com Simple Content e Atributos Exemplo. Considere: 5440 O elemento elevation tem duas restries: - um simples (integer) contedo - um atributo chamado units Como declarar elevation?
  • Slide 49
  • 49 Soluo
  • Slide 50
  • 50 Soluo mais completa (constraints)
  • Slide 51 ">
  • 51 Expressando Alternativas DTD: XML Schema:
  • Slide 52 DTD: XML Schema:">
  • 52 Expressando Repeties
  • Slide 53 XML Schema: Problema: criar um elemento livro, que contenha autor, titulo, data, ISBN, e editora, em qualquer ordem.">
  • 53 Expressando Ordem Qualquer
  • Slide 54 Schema: DTD:">
  • 54 Elemento Vazio
  • Slide 55
  • 55 Exemplo de XMLSchema para Banco http://www.w3.org/2001/XMLSchema .. Definies de cliente e deposito
  • Slide 56
  • 56 Exerccio 3: Dado o documento XML crie um XMLSchema para o mesmo XML e Java Joo Silva Introduo DTD Elementos SAX DOM bla bla bla &ufcgCopyright;
  • Slide 57
  • 57 Exerccio 4 Compare o DTD do exerccio 2 com o XMLSchema do exerccio 3 e escreva suas concluses.