UnidadDidactica5Namespaces-curso2011-12.pdf
Transcript of UnidadDidactica5Namespaces-curso2011-12.pdf
![Page 1: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/1.jpg)
JJ Taboada León IES San Sebastián, Departamento de Informática
LENGUAJE DE MARCAS Y SGI Curso 2011 / 2012
Unidad 5:
Namespaces
……
<país nombre=“España”>
<capital>Madrid</capital>
</país>
<inversión>
<capital>2000€</capital>
</inversión>
…..
![Page 2: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/2.jpg)
Guíon del tema
Contenidos
¿Qué es Namespace?
¿Cómo resolver el
conflicto de nombres?
Espacio de nombres con
XSLT
Actividades
Añadir namespaces a un
documento
Buscar en internet
documentos que utilicen
namespaces
![Page 3: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/3.jpg)
¿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 método 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á cómo manejar estas diferencias.
<país nombre=“España”>
<capital>Madrid</capital>
</país>
<inversión>
<capital>2000€</capital>
</inversión>
![Page 4: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/4.jpg)
¿Cómo resolver el Conflicto de
nombre ?
Utilizando un prefijo de nombre
Problema:
¿Quién controla el uso de prefijos?
¿Y si dos empresas eligen los mismos prefijos?
……
<h:país nombre=“España”>
<h:capital>Madrid</h:capital>
</h:país>
<f:inversión>
<f:capital>2000€</f:capital>
</f:inversión>
…..
![Page 5: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/5.jpg)
Solución 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 más común es el Uniform Resource Locator (URL) que identifica una dirección
de dominio de Internet. Otro tipo, no tan común de la URI es el nombre universal de
recursos (URN).
En nuestro ejemplo sólo utilizaremos las direcciones URL.
La URL sería el espacio de nombres al que
pertenece el elemento
En XML se declara como:
xmlns: prefijo = " URI “
Ejemplo
<h:país xmlns:h=“http://www.geograf.com“>
![Page 6: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/6.jpg)
Solución al conflicto de nombres(II)
Los espacios de nombres se pueden declarar en los elementos
que se utilizan o en el elemento raíz de XML:
…..
<bolsa:inversiones
xmlns:h=" http://www.geograf.com /"
xmlns:f=" http://www.bolsa.es ">
……
<h:país nombre=“España”>
<h:capital>Madrid</h:capital>
</h:país>
<f:inversión>
<f:capital>2000€</f:capital>
</f:inversión>
</bolsa:inversiones>
…..
![Page 7: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/7.jpg)
Actividad: Añadir Namespaces a un
documento
1. Abrir Notepad++ y teclear el siguiente código 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:país geog:nombre="Francia"> <geog:capital>París</geog:capital> <bolsa:capital>1200€</bolsa:capital> </geog:país> </bolsa:inversiones>
![Page 8: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/8.jpg)
Los espacios de nombres por defecto
La definición 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 ">
……
<país nombre=“España”>
<capital>Madrid</capital>
</país>
<f:inversión>
<f:capital>2000€</f:capital>
</f:inversión>
</bolsa:inversiones>
…..
![Page 9: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/9.jpg)
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 Colección 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
![Page 10: UnidadDidactica5Namespaces-curso2011-12.pdf](https://reader031.fdocuments.es/reader031/viewer/2022030313/577ccd591a28ab9e788c1716/html5/thumbnails/10.jpg)
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 página html con:
El capital referido al término geográfico
El capital referido al término bursátil
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