Como ya hemos comentado, además de elementos para definir la presentación de los documentos, el HTML incluye herramientas para expresar hiperenlaces, es decir, relaciones entre dos anclajes, que se denominan cabeza y cola del hiperenlace. El anclaje de cola es el que "apunta" a la cabeza, es decir, el que empleamos para acceder a ella.
Hasta ahora hemos visto anclajes a partes del propio documento o en otro documento de la misma dirección, pero en general, los anclajes se identifican mediante una dirección mucho más completa. En el caso del HTML esta dirección es un
URI (
Uniform Resource Identifier) absoluto, seguido opcionalmente por una almohadilla (
#) y una secuencia de caracteres, denominada
identificador de fragmento.
En la dirección de un anclaje, el URI se refiere a un recurso; este recurso puede ser cualquier tipo de entidad (como páginas HTML) y ser obtenido usando distintos protocolos (HTTP para páginas HTML). El
identificador de fragmento se referirá a alguna vista o porción del recurso (por ejemplo, una sección dentro de una página HTML).
Los siguientes marcados del HTML indican el anclaje de cola de un hiperenlace (o conjunto de ellos):
- <A> (si usan HREF)
- <LINK>
- <IMG>
- <INPUT> (si tienen el atributo SRC)
- <ISINDEX>
- <FORM> (con método GET)
Todos ellos hacen referencia a anclados cabeza mediante un
URI, ya sea absoluto o relativo, con o sin identificador de fragmento.
En el caso de tener un
URI relativo, el
URI absoluto se obtiene combinando el
URI base absoluto del documento con el relativo. El
URI base es el identificado en el elemento
<BASE>, o sino existe el del documento actual.
Una vez calculada la dirección del recurso, el visor debe obtenerlo para presentárselo al usuario. Por ejemplo, si el
URI base es
http://www/alice/## y el documento contiene la marca <img src="../img/logo.gif">
, el visor emplea el URI http://www/img/logo.gif## para obtener la imagen.
El visor de HTML permite al usuario "navegar" por el contenido del documento y solicitar la activación de hiperenlaces representados con elementos de tipo
<A> y, opcionalmente, los de tipo
<LINK>.
Para activar un enlace, el cliente obtiene una representación del recurso identificado por la dirección del anclaje, si lo que obtenemos es otro documento HTML, la posibilidad de navegar comienza de nuevo con él.
Los hiperenlaces de elementos del tipo
<IMG> e
<INPUT> se suelen obtener a la vez que se procesa el documento, es decir, los enlaces a imágenes se procesan sin necesidad de que el usuario lo solicite, de modo que se pueden mostrar dentro de la representación del documento
HTML, en el lugar en el que aparecen referenciados, es decir, donde esté el elemento
<IMG> o
<INPUT>.
Los hiperenlaces de tipo
<LINK> también pueden ser procesados sin la intervención del usuario; si, por ejemplo, se refieren a hojas de estilo, pueden ser procesados antes o durante el proceso del documento.
Cuando en un elemento
<IMG> aparece el atributo
ISMAP, el elemento
<IMG> debe estar dentro de un anclaje de tipo
HREF. Esta estructura representa un conjunto de hiperenlaces.
Por ejemplo:
||
<a href="http://www/cgi-bin/imagemap"><img ismap src="menu.gif"></a> ||
Si el usuario selecciona alguno de los enlaces marcando un píxel de la imagen, el visor calcula la dirección del recurso añadiendo al
URI dado en el elemento
<A> un interrogante
? y las coordenadas
x e
y del pixel.
En el ejemplo anterior, si el usuario selecciona la esquina superior izquierda, el URI seleccionado será
http://www/cgi-bin/imagemap?0,0.##
En un hipertexto cualquier palabra precedida del carácter # es un identificador de fragmento. En particular, una dirección de la forma #sec
se refiere a un anclaje dentro del mismo documento.
El significado de los identificadores de fragmento depende del tipo de documento. Para documentos del tipo text/html
, se refiere a un elemento <A>
con un atributo NAME
cuyo valor es igual al del identificador de fragmento (sin la almohadilla), como hemos visto en algún ejemplo anterior. Los nombres deben ser exactamente iguales, ya que se distingue entre mayúsculas y minúsculas y los nombres dentro de los documentos deben ser únicos (no podemos nombrar dos secciones con el mismo identificador). El visor indica dónde está el nombre desplazándose hasta el anclaje y/o resaltándolo.
El elemento <ISINDEX>
representa un conjunto de hiperenlaces. El usuario puede elegir entre ellos proporcionando palabras clave al visor. El visor compone el URI del recurso añadiendo un interrogante ?
y las palabras al URI base. los caracteres especiales se sustituyen por secuencias de escape y si hay varias palabras se unen empleando el símbolo +
. Por ejemplo, si un documento contiene:
|| <BASE HREF="http://www/indice"> <ISINDEX>
||
y el usuario introduce las palabras niño
y libro
, entonces el visor accederá al recurso http://www/indice?ni%F1o+libro.##
La forma de introducir los datos depende del tipo de visor, algunos presentan un cuadro especial y otros muestran en la página un mensaje y un recuadro para rellenar.
Los elementos
<FORM> que emplean el atributo
METHOD=GET también se refieren a conjuntos de atributos, como veremos más adelante.