XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
-
Upload
maria-da-assuncao-bras-de-carvalho -
Category
Documents
-
view
226 -
download
0
Transcript of XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
![Page 1: XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/1.jpg)
XML Namespaces
XML Namespaces provê um método para evitar conflito de nomes de
elementos.
![Page 2: XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/2.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/3.jpg)
Este documento portainformação em uma tabela
<table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
![Page 4: XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/4.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/5.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/6.jpg)
<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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/7.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/8.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/9.jpg)
• 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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/10.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/11.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/12.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/13.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/14.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/15.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/16.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/17.jpg)
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 Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/18.jpg)
XML Schemas
![Page 19: XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/19.jpg)
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 Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/20.jpg)
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 Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/21.jpg)
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 Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/22.jpg)
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 Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/23.jpg)
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 XML Namespaces provê um método para evitar conflito de nomes de elementos.](https://reader036.fdocument.pub/reader036/viewer/2022062502/5706384b1a28abb8238f5c3b/html5/thumbnails/24.jpg)