XML Namespaces - PowerPoint PPT Presentation

About This Presentation
Title:

XML Namespaces

Description:

XML Namespaces XML Namespaces prov um m todo para evitar conflito de nomes de elementos. – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 25
Provided by: Bosc97
Category:

less

Transcript and Presenter's Notes

Title: XML Namespaces


1
XML Namespaces
  • XML Namespaces provê um método para evitar
    conflito de nomes de elementos.

2
Conflito de Nomes
  • Desde que nomes de elementos em XML não são
    fixados, frequentemente, há um conflito de nomes
    quando dois diferentes documentos usam os mesmos
    nomes descrevendo dois diferentes tipos de
    elementos.

3
Este documento portainformação em uma tabela
  • lttablegt
  • lttrgt
  • lttdgtAppleslt/tdgt
  • lttdgtBananaslt/tdgt
  • lt/trgt
  • lt/tablegt

4
Este documento porta informação sobre uma tabela
  • lttablegt
  • ltnamegtAfrican Coffee Tablelt/namegt
  • ltwidthgt80lt/widthgt
  • ltlengthgt120lt/lengthgt
  • lt/tablegt

5
Conflito de Nomes
  • Se estes dois documentos XML forem colocados
    juntos num mesmo documento, existirá um conflito
    de nomes porque em ambos os documentos existe o
    elemento lttablegt com definição e conteúdo
    diferente

6
  • lttablegt
  • ltnamegtAfrican Coffee Tablelt/namegt
  • ltwidthgt80lt/widthgt
  • ltlengthgt120lt/lengthgt
  • lt/tablegt
  • lttablegt
  • lttrgt
  • lttdgtAppleslt/tdgt
  • lttdgtBananaslt/tdgt
  • lt/trgt
  • lt/tablegt

7
Resolvendo Conflito de Nomes usando Prefixo
  • Este documento XML contém informações de uma
    tabela
  • lthtablegt
  • lthtrgt
  • lthtdgtAppleslt/htdgt
    lthtdgtBananaslt/htdgt
  • lt/htrgt
  • lt/htablegt

8
Resolvendo Conflito de Nomes usando Prefixo
  • Este documento contém informações sobre uma parte
    da tabela
  • ltftablegt
  • ltfnamegtAfrican Coffee Tablelt/fnamegt
  • ltfwidthgt80lt/fwidthgt
  • ltflengthgt120lt/flengthgt
  • lt/ftablegt

9
  • Agora não haverá conflito de nomes porque os dois
    elementos usam diferentes nomes para as
    tabelaslttablegt
  • (lthtablegt e ltftablegt).
  • Usando prefixo foi criado dois diferentes tipos
    de elementos lttablegt.

10
Usando Namespaces
  • Este documento contém informações de uma tabela
  • lthtable xmlnsh"http//www.w3.org/TR/html4/"gt
    lthtrgt
  • lthtdgtAppleslt/htdgt
  • lthtdgtBananaslt/htdgt
  • lt/htrgt
  • lt/htablegt

11
Usando Namespaces
  • Este documento contém informações sobre uma parte
    da tabela
  • ltftable xmlnsf"http//www.w3schools.com/furnitu
    re"gt
  • ltfnamegtAfrican Coffee Tablelt/fnamegt
  • ltfwidthgt80lt/fwidthgt
  • ltflengthgt120lt/flengthgt
  • lt/ftablegt
  • Ao invés de usar somente prefixos, foi
    adicionado um atributo xmlns ao tag lttablegt para
    dar ao elemento prefixo um nome qualificado
    associado com um namespace

12
Atributo Namespace
  • O atributo namespace é colocado no início da tag
    como um elemento, conforme a sintaxe seguinte
  • xmlnsnamespace-prefix"namespace
  • No exemplo abaixo, o namespace é definido usando
    um endereço na Internet
  • xmlnsf"http//www.w3schools.com/furniture
  • O W3C é uma especificação de namespace que
    estabelece que o próprio namespace deve ser uma
    Uniform Resource Identifier (URI).

13
Atributo Namespace
  • Quando um namespace é definido no início da tag
    como um elemento, todos os elementos filhos com o
    mesmo prefixo são associados com o mesmo
    namespace.
  • Note que o endereço usado para identificar o
    namespace, não é o usado pelo analisador
    sintático para obter informação. O único
    propósito é dar ao namespace um único
    nome.Contudo, frequentemente usa-se o namespace
    como ponteiro para uma página Web contendo
    informação sobre o namespace.

14
Uniform Resource Identifiers
  • Um Uniform Resource Identifier (URI) é uma string
    de caracteres a qual identifica um recurso da
    Internet.O mais comum é o Uniform Resource
    Locator (URL) que identifica um endereço de
    domínio.Outro, não comum tipo de URI é Universal
    Resource Name (URN).

15
Default Namespace
  • Definindo um default namespace para nos poupar de
    usar prefixos em todos os elementos filhos.Como
    mostra a seguinte sintaxe
  • ltelement xmlns"namespace"gt

16
Default Namespace
  • Este elemento contém informações de uma tabela
  • lttable xmlns"http//www.w3.org/TR/html4/"gt
  • lttrgt
  • lttdgtAppleslt/tdgt
  • lttdgtBananaslt/tdgt
  • lt/trgt
  • lt/tablegt

17
Default Namespace
  • Este documento XML contém informações sobre uma
    parte da tabela
  • lttable xmlns"http//www.w3schools.com/furniture"gt
  • ltnamegtAfrican Coffee Tablelt/namegt
  • ltwidthgt80lt/widthgt
  • ltlengthgt120lt/lengthgt
  • lt/tablegt

18
XML Schemas
19
O que é um XML Schema
  • O propósito de um XML Schema é definir a
    construção de blocos válidos como um DTD.
  • define elementos que aparecerão no documento
  • define atributos que poderão aparecer em um
    documento
  • define quais elementos terão elementos filhos
  • define qual a ordem dos elementos filhos
  • define o número de elementos filhos
  • define se um elemento é vazio ou pode incluir
    texto.
  • define tipos de dados para elementos e atributos
  • define padrões e fixa valores para elementos e
    atributos

20
XML Schemas
  • XML Schemas são usados na maior parte das
    aplicações Web como substituição para DTDs.
  • Aqui estão algumas razões
  • XML Schemas são extensíveis para futuras adições
  • XML Schemas são mais ricos e mais utéis que
  • XML Schemas são escritos em XML
  • XML Schemas suportam typos de dados data types
  • XML Schemas suportam namespaces

21
XML Schemas
  • Algumas razões porque XML Schema é melhor que DTD
  • XML Schema tem suporte para Data Types e com este
    suportes é possível
  • Descrever permissões contendo documentos
  • Validar a correção de dados
  • Trabalhar com dados de um Banco de Dados
  • Definir restrições de dados
  • Definir formatos de dados
  • Converter dados entre diferentes data types

22
XML Schemas
  • XML Schemas usa sintaxe XML
  • Outra grande vantagem em se utilizar XML Schemas
    é que eles são escritos em XML.
  • Com isso não é necessário aprender outra
    linguagem
  • É possível você usar um editor XML para editar
    seus arquivos Schemas
  • You can use your XML editor to edit your Schema
    files
  • É possível utilizar seu analisador sintático
    (parser) para o parser no seu arquivo de Schemas
  • É possível manipular seu Schema com o XML DOM
    (Document Object Model)
  • É possível transformar seu Schema com XSLT

23
XML Schemas
  • XML Schemas-Comunicação Segura de Dados
  • When data is sent from a sender to a receiver it
    is essential that both parts have the same
    "expectations" about the content.
  • With XML Schemas, the sender can describe the
    data in a way that the receiver will understand.
  • A date like 1999-03-11 might (in some countries)
    be interpreted as 3. November or (in some other
    countries) as 11. March, but an XML element with
    a data type like this
  • ltdate type"date"gt1999-03-11lt/dategt
  • ensures a mutual understanding of the content
    because the XML data type date requires the
    format CCYY-MM-DD.

24
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com