Latest web development tutorials

Los espacios de nombres XML

Los espacios de nombres XML proporcionan un método para evitar conflictos de nombres de elementos.


conflictos de nombres

En XML, los nombres de elementos se definen por el desarrollador, cuando dos documentos diferentes utilizan el mismo nombre del elemento, se producirá un conflicto de nombres.

Este XML lleva la información de tabla HTML:

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

Este XML lleva información sobre una mesa (un mueble):

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

Si estos dos documentos XML se utilizan juntos, ya que los dos documentos se incluyen con diferentes contenidos y definición del elemento <table>, se producen conflictos de nombres.

analizador XML no puede determinar cómo hacer frente a este tipo de conflictos.


Utilizar prefijos para evitar conflictos de nombres

Conflictos de nombres en XML se pueden obtener mediante el prefijo del nombre de modo evitado fácilmente.

Este XML lleva tabla HTML y un mueble en un mensaje:

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

En el ejemplo anterior, no hay conflicto, porque los dos <table> elementos tienen diferentes nombres.


espacio de nombres XML - atributo xmlns

Al usar prefijos en XML, se debe definir un denominadoespacio de nombres para el prefijo.

nombresxmlns atributo se define en la etiqueta inicial del elemento.

sintaxis de declaración de espacio de nombres es la siguiente. 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>

En el ejemplo anterior, el atributo xmlns <table> define h: prefijo de espacio cualificado; y f.

Cuando un espacio de nombres se define en la etiqueta inicial del elemento, todos los elementos secundarios con el mismo prefijo y están asociados con un espacio de nombres.

Espacio de nombres, se puede declarar o los que se utilizan en el elemento en el elemento raíz 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: El URI de espacio analizador no será utilizado para buscar información.

Su propósito es dar el espacio de nombres un nombre único. Sin embargo, muchas empresas suelen utilizar el espacio de nombres como un puntero para apuntar a la existencia real de una página, esta página contiene información sobre el espacio de nombres.

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


identificador uniforme de recursos (URI, significa Uniform Resource Identifier)

Identificador uniforme de recursos (URI) es una cadena de caracteres que pueden identificar los recursos de Internet.

El URI más común es elUniform Resource Locator utiliza para identificar una dirección de dominio de Internet (URL).Un URI menos común es elUniform Resource Name (URN).

En nuestro ejemplo, sólo utilizamos URL.


espacio de nombres predeterminado

Elemento define el espacio de nombres por defecto nos permite omitir el prefijo en todos los sub-elementos en la obra. Su sintaxis es la siguiente:

xmlns="namespaceURI"

Este XML lleva la información de tabla HTML:

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

Este XML lleva información sobre un mueble:

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


El uso real del espacio de nombres

XSLT es un proceso para los documentos XML en otro formato de lenguaje XML, tales como HTML.

En el documento XSLT a continuación, se puede ver que la mayoría de las etiquetas son etiquetas HTML.

etiquetas HTML no tienen el prefijo xsl, y por lo tanto identifica el espacio de nombres: 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>

Si usted quiere aprender acerca de XSLT, por favor nuestra página de inicio para encontrar tutorial XSLT.