xml namespaces

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

Upload: zia

Post on 18-Mar-2016

37 views

Category:

Documents


0 download

DESCRIPTION

XML Namespaces. XML Namespaces provê um método para evitar conflito de nomes de elementos. Conflito de Nomes. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XML Namespaces

XML Namespaces

XML Namespaces provê um método para evitar conflito de nomes de

elementos.

Page 2: XML Namespaces

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.

Page 3: XML Namespaces

Este documento portainformação em uma tabela

<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>

Page 4: XML Namespaces

Este documento porta informação sobre uma tabela

<table> <name>African Coffee

Table</name> <width>80</width> <length>120</length> </table>

Page 5: XML Namespaces

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 <table> com definição e conteúdo diferente

Page 6: XML Namespaces

<table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table><table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>

Page 7: XML Namespaces

Resolvendo Conflito de Nomes usando Prefixo

• Este documento XML contém informações de uma tabela:

<h:table> <h:tr> <h:td>Apples</h:td>

<h:td>Bananas</h:td> </h:tr> </h:table>

Page 8: XML Namespaces

Resolvendo Conflito de Nomes usando Prefixo

• Este documento contém informações sobre uma parte da tabela:

<f:table> <f:name>African Coffee

Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>

Page 9: XML Namespaces

• Agora não haverá conflito de nomes porque os dois elementos usam diferentes nomes para as tabelas<table>

(<h:table> e <f:table>).

• Usando prefixo foi criado dois diferentes tipos de elementos <table>.

Page 10: XML Namespaces

Usando Namespaces

• Este documento contém informações de uma tabela:

<h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr>

<h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr></h:table>

Page 11: XML Namespaces

Usando Namespaces

• Este documento contém informações sobre uma parte da tabela:

<f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> Ao invés de usar somente prefixos, foi adicionado um

atributo xmlns ao tag <table> para dar ao elemento prefixo um nome qualificado associado com um namespace

Page 12: XML Namespaces

Atributo Namespace• O atributo namespace é colocado no início da tag

como um elemento, conforme a sintaxe seguinte: xmlns:namespace-prefix="namespace“

• No exemplo abaixo, o namespace é definido usando um endereço na Internet:

xmlns:f="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).

Page 13: XML Namespaces

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.

Page 14: XML Namespaces

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).

Page 15: XML Namespaces

Default Namespace

• Definindo um default namespace para nos poupar de usar prefixos em todos os elementos filhos.Como mostra a seguinte sintaxe:

<element xmlns="namespace">

Page 16: XML Namespaces

Default Namespace

• Este elemento contém informações de uma tabela:

<table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>

Page 17: XML Namespaces

Default Namespace

• Este documento XML contém informações sobre uma parte da tabela:

<table xmlns="http://www.w3schools.com/furniture">

<name>African Coffee Table</name> <width>80</width> <length>120</length> </table>

Page 18: XML Namespaces

XML Schemas

Page 19: XML Namespaces

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

Page 20: XML Namespaces

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

Page 21: XML Namespaces

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

Page 22: XML Namespaces

XML SchemasXML 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

Page 23: XML Namespaces

XML Schemas

XML Schemas-Comunicação Segura de DadosWhen 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:

• <date type="date">1999-03-11</date>• ensures a mutual understanding of the content because

the XML data type date requires the format CCYY-MM-DD.

Page 24: XML Namespaces