Para que serve os NameSpace dos arquivos XML?

Estou desenvolvendo recentemente uma aplicação que gera um xml NF-e a partir do banco de uma aplicação desktop para ser validado e enviado para a Receita…ja fiz varios projetos com xml mas nunca precisei usar os namespaces, estou utilizando JDOM e SAX para manipular os arquivos e gostaria de entender melhor para que serve os namespace por exemplo

<?xml version="1.0" encoding="UTF-8" ?> 
- <nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" versao="1.10">
- <NFe xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe/enviNFe_v1.12.xsd">
- <infNFe Id="NFe00000000000000000000000" versao="1.10">

gostaria de saber a necessidade dos namespaces para que server, e aproveitando o post como eu insiro namespace em uma tag filha por exemplo ali na tag NFe? :smiley:

Obrigado.

O namespace em XML é mais ou menos como se fosse um nome de um pacote em Java. Ou seja, serve para diferenciar coisas com o mesmo nome, mas que são diferentes porque pertencem a contextos diferentes (namespace = “espaço de nomes”).

http://www.w3schools.com/XML/xml_namespaces.asp

certo agora entendi mas não entendi a funcionalidade desses namespaces de um modelo NFe que postei a cima…

[code]#

- [/code]

o nó pai nfeProc com o mesmo namespace do nó filho NFe

e agora partindo mais para a programação, eu consegui inserir os namespaces no nó nfeProc mas não consigo inserir na filha NFe e tambem não sei como inserir esse namespace xsi:schemaLocation.

Estou usando JDOM

valew