Tutorial de XLink
Versión: 1.1, Enero, 2001

Autor: Victor Manuel Rivas Santos
Web: http://wwwdi.ujaen.es/~vrivas, Mail: vrivas@ujaen.es
inicioGeNeuracursos

(C) GeNeura Team
Web: http://www.geneura.org, Mail: todos@geneura.ugr.es

1. Introducción

Qué es y para qué sirve

XLink es el lenguaje, definido en términos de marcas XML, que nos va a permitir introducir enlaces en nuestros ficheros XML, de modo que podamos relacionar unos ficheros con otros.

Sería un grave error pensar en los enlaces como sólo los que conocemos del mundo HTML. En un enlace HTML solo hay DOS elementos relacionados. El primero es el origen, que se encuentra físicamente en la página de la persona que crea el enlace y que mantiene información de cómo actúa el enlace y hacia dónde apunta. El segundo elemento es el destino, que puede ser cualquier documento del mundo, apuntado sin que posiblemente tenga conocimiento de que está siendo enlazado desde una página.

Un XLink permite establecer una relación entre dos o más recursos en la Web, sin que necesariamente estos recursos sepan que están enlazados. Otra cosa es cómo se nota eso al navegar por páginas XML. Aún está por ver, pero ya existen algunas herramientas que nos permiten hacernos una idea.

¿Qué elementos pueden ser enlaces XLINK?

Pues el elemento que puede ser enlace de un XLink es... CUALQUIERA.

En efecto, un elemento será un enlace XLink por el mero hecho de incorporarle una serie de atributos que existen dentro del espacio de nombres xlink:, definido por la norma "http://www.w3.org/XML/XLink/1.0" o superior. Dichos atributos son los que veremos a continuación

Antes de empezar hemos de saber que hay dos tipos de enlaces. Los primeros son los enlaces simples, que son básicamente como los que conocemos de HTML: un enlace desde un recurso local a uno remoto. Los otros son los enlaces extendidos, mucho más complejos pues permiten enlazar muchos recursos entre sí.


Ejemplo de enlace simple


<mi_documento xmlns:xlink="http://www.w3.org/XML/XLink/1.0"> ... <ver xlink:type="simple" xlink:href="http://www.mi_colega.com/"> En este enlace puedes ver la página de un colega mío </ver> ... </mi_documento>

2. Atributos

Show

Con este atributo podemos describir cómo se verá el resultado del hecho de seguir el enlace. Sus posibles valores son: replace (reemplaza el documento actual por aquel al que apunta el enlace), new (abre un nuevo navegador con el documento destino) y parsed (el contenido del texto apuntado se incluye en lugar del enlace y se procesa como si fuera parte del mismo documento de origen).


uso del atributo show


<mi_documento xmlns:xlink="http://www.w3.org/XML/XLink/1.0"> ... <ver xlink:type="simple" xlink:href="http://www.seat.com/" xlink:show="replace"> Carga la página de SEAT </ver> ... <nueva-ventana xlink:type="simple" xlink:href="http://wwwdi.ujaen.es/" xlink:show="new"> Abre una nueva ventana de la Univ. de Jaén </nueva-ventana> ... <incluye xlink:type="simple" xlink:href="mis_datos.xml" xlink:show="parsed"> Incluye mis datos personales </incluye> ... </mi_documento>

Actuate

Permite indicar cúando se debe proceder a buscar el destino apuntado por un enlace. Los posibles valores son user (es decir, cuando el usario pulse o dé alguna orden para seguir el enlace) y auto (el enlace se sigue automáticamente; por ejemplo para redireccionar una página, cargar una imagen o un fichero que debe ser incluido).

3. Enlaces Extendidos

Locator

Un enlace extendido puede tener más de dos recursos que enlazar. Dichos recursos se especifican con el elemento locator.


Ejemplo de Enlace extendido


<mi_documento xmlns:xlink="http://www.w3.org/XML/XLink/1.0"> ... <direcciones xlink:type="extended"> <locator xlink:type="locator" xlink:href="http://realmadrid.com" xlink:show="replace" xlink:actuate="user"/> <locator xlink:type="locator" xlink:href="http://fcbarcelona.com" xlink:show="new" xlink:actuate="user"/> <locator xlink:type="locator" xlink:href="http://rcrecreativo.com" xlink:show="new" xlink:actuate="auto"/> <locator xlink:type="locator" xlink:href="http://athmadrid.com" xlink:show="replace" xlink:actuate="auto"/> Los clubes de fútbol de hoy en día... </direcciones> ... </mi_documento>

La verdad es que todavía no tiene nadie muy claro cómo va a ir el tema éste d elos recursos extendidos. Me explico. Ante el ejemplo anterior, ¿qué va a pasar cuando el usuario seleccione el enlace? ¿Cómo va a elegir el enlace que desea seguir?

Para mayor confusión del público presente, se desea que cualquier persona pueda añadir sus propios enlaces a cualquier página. Por ejemplo, si una persona está visitando una páginas sobre coches se desea que pueda poner notas aclaratorias. La idea es que haya un enlace que apunte a la nota. Aunque junto con la nota puede poner enlaces a otras páginas sobre el mismo tema, etc, etc. La pregunta es: ¿dónde se guardan esos enlaces? ¿cómo se gestiona quién los ve y quién no? ¿como puede limitar el creador de la página original el número de "notas" que pueden poner en su página?

Todas estas preguntas están abiertas aún y pasará algún tiempo antes de que se les dé una solución viable.

4. Referencias

Libros

Este breve tutorial está sacado del capítulo 62 del siguiente libro:

- Charles F. Goldbarg, Paul Prescod. The XML handbook. Ed. Prentice Hall PTR, 2000. (ISBN: 0-13-014714-1) (En Inglés)

Direcciones WEB

Las siguientes direcciones también pueden ser de gran ayuda:

* Utilidades para XLink en el sitio de XMLSoftware: http://www.xmlsoftware.com/xlink/

* Recomendaciones del W3C sobre XLink. En su sitio original: http://www.w3.org/TR/xlink/, Copia Local: referencias/XLINK-recomendations.html

* Amaya, un browser y editor que soporta XLink simples. Su ubicación original es: http://www.w3.org/Amaya/User/BinDist.html. Auí puedes encontrar los binarios para Windows y para Linux.