Latest web development tutorials

Namespaces XML

Namespaces XML fornecem um método para evitar conflitos de nome do elemento.


conflitos de nomenclatura

Em XML, os nomes dos elementos são definidos pelo desenvolvedor, quando dois documentos diferentes usam o mesmo nome do elemento, um conflito de nomes irá ocorrer.

Este XML carrega informações da tabela de HTML:

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

Este XML contém informação sobre uma mesa (uma peça de mobiliário):

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

Se estes dois documentos XML são utilizados em conjunto, uma vez que os dois documentos são fornecidos com diferentes conteúdos e definição do elemento <table>, conflitos de nomes ocorrer.

parser XML não pode determinar como lidar com tais conflitos.


Use prefixos para evitar conflitos de nomes

Conflitos de nomes em XML pode ser obtida usando o prefixo do nome tão facilmente evitado.

Este XML carrega tabela HTML e uma peça de mobiliário em uma mensagem:

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

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

No exemplo acima, não há conflito porque os dois <table> elementos têm nomes diferentes.


namespace XML - atributo xmlns

Quando se utiliza os prefixos em XML, deve ser definido um assim chamadoespaço de nomespara o prefixo.

xmlns atributo namespace é definido na marca de início do elemento.

sintaxe de declaração de namespace é a seguinte. xmlns:prefix= "URI".

<root>

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

<f:table xmlns:f="http://www.w3cschool.cc/furniture" >
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>

No exemplo acima, o atributo xmlns tag <table> define h: namespace prefix qualificada; e f.

Quando um namespace é definido na marca de início do elemento, todos os elementos filho com o mesmo prefixo e estão associadas a um namespace.

Namespace, você pode declarar ou eles são usados ​​no elemento no elemento raiz XML:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3cschool.cc/furniture"
>

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

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

</root>

Nota: A URI parser namespace não será usado para encontrar informações.

Sua finalidade é dar ao namespace um nome único. No entanto, muitas empresas usam frequentemente o namespace como um ponteiro para apontar para a existência real de uma página, esta página contém informações sobre o namespace.

Visite http://www.w3.org/TR/html4/ .


Uniform Resource Identifier (URI, significa Uniform Resource Identifier)

Uniform Resource Identifier (URI) é uma cadeia de caracteres que podem identificar recursos da Internet.

O URI mais comum é oUniform Resource Locator usado para identificar um endereço de domínio da Internet (URL).A URI menos comum é oUniform Resource Name (URN).

No nosso exemplo, nós usamos somente URL.


namespace padrão

Elemento define o namespace padrão nos permite omitir o prefixo em todos os sub-elementos no trabalho. Sua sintaxe é a seguinte:

xmlns="namespaceURI"

Este XML carrega informações da tabela de HTML:

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

Este XML contém informação sobre uma peça de mobiliário:

<table xmlns="http://www.w3schools.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>


O uso efetivo do espaço de nomes

XSLT é um processo para os documentos XML em outro formato de linguagem XML, como HTML.

No documento XSLT abaixo, você pode ver que a maioria das tags são tags HTML.

tags não HTML têm a xsl prefixo, e, portanto, identifica o 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>My CD Collection</h2>
<table border="1">
<tr>
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

Se você quiser saber mais sobre XSLT, por favor, a nossa home page para encontrar XSLT tutorial.