<table><tr><td>Maçãs</td><td>Bananas</td></tr></table>
Este documento XML contém informações sobre uma mesa (um móvel):
<table><name>Mesa de centro africana</name><width>80</width><length>120</length></table>
Se esses dois documentos XML forem usados juntos, ocorrerá um conflito de nomenclatura porque ambos os documentos contêm elementos <table> com conteúdo e definições diferentes.
O analisador XML não pode determinar como lidar com tais conflitos.
Os conflitos de nomenclatura em XML podem ser facilmente evitados usando prefixos de nome.
Este XML carrega informações sobre uma tabela HTML e um móvel:
<h:table><h:tr><h:td>Maçãs</h:td><h:td>Bananas</h:td></h:tr></h:table><f:table ><f:name>Mesa de centro africana</f:name><f:width>80</f:width><f:length>120</f:length></f:table>
No exemplo acima, não há conflito porque os dois elementos <table> têm nomes diferentes.
Ao usar prefixos em XML, um chamado namespace para o prefixo deve ser definido.
O namespace é definido no atributo xmlns da tag de abertura do elemento.
A sintaxe para declaração de namespace é a seguinte. xmlns: prefix =" URI ".
<root><h:table xmlns:h="http://www.w3.org/TR/html4/"><h:tr><h:td>Maçãs</h:td><h:td> Bananas</h:td></h:tr></h:table><f:table xmlns:f="//www.w3cschool.cn/furniture"><f:name>Café Africano Tabela</f:name><f:width>80</f:width><f:length>120</f:length></f:table></root>
No exemplo acima, o atributo xmlns da tag <table> define o namespace qualificado para os prefixos h: e f:.
Quando um namespace é definido na tag de abertura de um elemento, todos os elementos filhos com o mesmo prefixo são associados ao mesmo namespace.
Namespaces podem ser declarados no elemento em que são usados ou no elemento raiz XML:
<root xmlns:h="http://www.w3.org/TR/html4/"xmlns:f="//www.w3cschool.cn/furniture"><h:table><h:tr><h :td>Maçãs</h:td><h:td>Bananas</h:td></h:tr></h:table><f:table><f:name>Café Africano Tabela</f:name><f:width>80</f:width><f:length>120</f:length></f:table></root>
Nota: URIs de namespace não são usados pelo analisador para localizar informações.
Seu objetivo é dar ao namespace um nome exclusivo. No entanto, muitas empresas costumam usar namespaces como ponteiros para páginas da Web existentes que contêm informações sobre o namespace.
Por favor, visite http://www.w3.org/TR/html4/.
Um Uniform Resource Identifier (URI) é uma sequência de caracteres que identifica um recurso da Internet.
O URI mais comumente usado é um Uniform Resource Locator (URL) usado para identificar um endereço de nome de domínio da Internet. Outro URI menos comumente usado é o Uniform Resource Name (URN).
No nosso exemplo usamos apenas URLs.
Definir um namespace padrão para um elemento nos poupa o trabalho de usar um prefixo em todos os elementos filhos. Sua sintaxe é a seguinte:
xmlns="namespaceURI"
Este XML carrega as informações da tabela HTML:
<table xmlns="http://www.w3.org/TR/html4/"><tr><td>Maçãs</td><td>Bananas</td></tr></table>
Este XML contém informações sobre um móvel:
<table xmlns="//www.w3cschool.cn/furniture"><name>Mesa de centro africana</name><width>80</width><length>120</length></table>
XSLT é uma linguagem XML usada para transformar documentos XML em outros formatos, como HTML.
No documento XSLT abaixo, você pode ver que a maioria das tags são tags HTML.
Tags não HTML são prefixadas com xsl e identificadas por este namespace:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform":<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><html><body><h2>Meu CD Coleção</h2><table><tr><th align="left">Título</th><th align="left">Artista</th></tr><xsl:for-each select=" catálogo/cd"><tr><td><xsl:valor-de select="title"/></td><td><xsl:valor-de select="artist"/></td></tr></xsl:for-each></table></body></html></xsl:template></xsl:stylesheet>
Se você quiser aprender sobre XSLT, encontre tutoriais de XSLT em nossa página inicial.