Las habilidades de enlazado de los sistemas XML son mayores que las de HTML. Los enlaces tipo HREF existentes seguirán utilizándose, pero una nueva tecnología de enlazado basada en las lecciones aprendidas en el desarrollo de otros estándares que utilizan hipertexto, como TEI y HyTime, que permiten manejar enlaces bidireccionales y multi-caminos, así como enlaces a un fragmento de texto (en tus propios documentos) y no sólo a un único punto.
Un enlace XML puede ser bien un URL (enlaces tradicionales, conocidos como XLink), un Puntero Extendido (XPointer o Xptr), o ambos. Un URL en sí misma se asume que tiene que ser un recurso (como en HTML). Si le sigue un XPointer, se asume que es un subrecurso de ese URL. Un XPointer en sí mismo se asume que se aplica al documento actual.
Un Xptr siempre está precedido de uno o más #, ?, ó |. Los símbolos # y ? significan lo mismo que en las aplicaciones HTML; el símbolo | significa que el subrecurso puede ser encontrado aplicando el Xptr al recurso, pero el método de hacer esto se deja a cargo de la aplicación.
La notación de Punteros Extendidos tiene más funcionalidad que la 'fragmento de dirección' al final de algunos URLs, ya que permite, no solo referencias absolutas sino también referencias relativas dentro de un documento a partir de frases u objetos textuales, por ejemplo:
<ULINK URL="http://www.ucc.ie/faq.sgml#ID(faq-hypertext)CHILD(2,*)(4,*)">
Enlace al "cuarto objeto hijo" del "segundo objeto hijo" después del
elemento cuyo ID sea faq-hypertext
</ULINK>