Sunteți pe pagina 1din 10

JJ Taboada Len

IES San Sebastin, Departamento de Informtica


LENGUAJE DE MARCAS Y SGI
Curso 2011 / 2012

Unidad 5:
Namespaces

<pas nombre=Espaa>
<capital>Madrid</capital>
</pas>
<inversin>
<capital>2000</capital>
</inversin>
..

Guon del tema
Contenidos
Qu es Namespace?
Cmo resolver el
conflicto de nombres?
Espacio de nombres con
XSLT

Actividades
Aadir namespaces a un
documento
Buscar en internet
documentos que utilicen
namespaces
Qu es el espacio de nombres?
Es el medio por el que podemos diferenciar elementos de
distintos tipos de documentos XML cuando los combinamos
en otros documentos.(son como sacos de nombres)
Los espacios de nombres XML proporcionan un mtodo para
evitar conflictos de nombre de elemento.


Ambos contienen un elemento <capital>, pero los
elementos tienen diferente contenido y significado.
Un analizador XML no sabr cmo manejar estas diferencias.


<pas nombre=Espaa>
<capital>Madrid</capital>
</pas>
<inversin>
<capital>2000</capital>
</inversin>
Cmo resolver el Conflicto de
nombre ?
Utilizando un prefijo de nombre






Problema:
Quin controla el uso de prefijos?
Y si dos empresas eligen los mismos prefijos?

<h:pas nombre=Espaa>
<h:capital>Madrid</h:capital>
</h:pas>
<f:inversin>
<f:capital>2000</f:capital>
</f:inversin>
..

Solucin al conflicto de nombres (I)
Aprovechar los dominios de internet que son nicos
Asignamos la URI a los nombres de prefijos

Identificador uniforme de recursos (URI)
Uniform Resource Identifier (URI) es una cadena de caracteres que identifica un
recurso de Internet.
El URI ms comn es el Uniform Resource Locator (URL) que identifica una direccin
de dominio de Internet. Otro tipo, no tan comn de la URI es el nombre universal de
recursos (URN).
En nuestro ejemplo slo utilizaremos las direcciones URL.
La URL sera el espacio de nombres al que
pertenece el elemento
En XML se declara como:
xmlns: prefijo = " URI
Ejemplo
<h:pas xmlns:h=http://www.geograf.com>
Solucin al conflicto de nombres(II)
Los espacios de nombres se pueden declarar en los elementos
que se utilizan o en el elemento raz de XML:

..
<bolsa:inversiones
xmlns:h=" http://www.geograf.com /"
xmlns:f=" http://www.bolsa.es ">


<h:pas nombre=Espaa>
<h:capital>Madrid</h:capital>
</h:pas>
<f:inversin>
<f:capital>2000</f:capital>
</f:inversin>
</bolsa:inversiones>
..
Actividad: Aadir Namespaces a un
documento
1. Abrir Notepad++ y teclear el siguiente cdigo XML







2. Guardar el documento como namespace.xml
3. Abrir en el navegador. Se debe obtener una vista normal
Cambiar la url del espacio de nombre bolsa por la vuestra
personal y probar el resultado
<?xml version="1.0" encoding="ISO-8859-1"?>

<bolsa:inversiones
xmlns:bolsa="http://www.bolsa.com"
xmlns:geog="http://www.geog.es">
<geog:pas geog:nombre="Francia">
<geog:capital>Pars</geog:capital>
<bolsa:capital>1200</bolsa:capital>
</geog:pas>
</bolsa:inversiones>
Los espacios de nombres por defecto
La definicin de un espacio de nombres por defecto de un
elemento nos evita usar prefijos de todos los elementos
secundarios. Se tiene la siguiente sintaxis:
..
<bolsa:inversiones
xmlns =" http://www.geograf.com /"
xmlns:f =" http://www.bolsa.es ">


<pas nombre=Espaa>
<capital>Madrid</capital>
</pas>
<f:inversin>
<f:capital>2000</f:capital>
</f:inversin>
</bolsa:inversiones>
..
Ejemplo real de Espacios de nombres

<?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>Mi Coleccin de CD</h2>
<table border="1">
<tr>
<th align="left">Titulo</th>
</tr>
<xsl:for-each select="catalogo/cd">
<tr>
<td> <xsl:value-of select="titulo"/> </td>
</tr>
</xsl:for-each>
</table>
.
Las etiquetas que no son las etiquetas HTML
tienen el prefijo xsl, identificado por el espacio de
nombres xmlns: xsl =
"http://www.w3.org/1999/XSL/Transform"
Ejercicio: Buscar en internet dos
documentos que utilicen namespaces
Uso de Espacios de Nombres en
XSLT
Actividad: Crear una hoja de estilos llamada
namespaces.xsl para el documento de la actividad anterior
que obtenga una pgina html con:
El capital referido al trmino geogrfico
El capital referido al trmino burstil
Cambiar la url del espacio de nombre de la hoja de estilos
xmlns:xsl="http://www.w3.org/1999/XSL/Transform
por otra cualquiera y probar

S-ar putea să vă placă și