XLink se utiliza para crear hipervínculos en documentos XML.
|
Soporte para el navegador XLink
No hay soporte para el navegador XLink en los documentos XML. Sin embargo, todos los navegadores soportan XLinks en SVG .
XLink sintaxis
En HTML, el <a> elemento define un hipervínculo. Sin embargo, esto no es cómo funciona en XML. En los documentos XML, se puede utilizar cualquier elemento que desee nombres - por lo que es imposible para los navegadores para predecir cuáles son los elementos de enlace se denomina en los documentos XML.
A continuación se muestra un ejemplo sencillo de cómo utilizar XLink para crear enlaces en un documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
<homepage xlink:type="simple"
xlink:href="http://www.w3ii.com">Visit w3ii</homepage>
<homepage xlink:type="simple"
xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>
Para obtener acceso a las funciones XLink debemos declarar el espacio de nombres XLink. El espacio de nombres XLink es: "http://www.w3.org/1999/xlink" .
El XLink: tipo y la xlink:href atributos en el <homepage> elementos provienen del espacio de nombres XLink.
El XLink: type = "simple" crea un simple "HTML-like" enlace (significa "clic aquí para ir allí").
El xlink:href atributo especifica el URL para enlazar.
Ejemplo XLink
El siguiente documento XML contiene características XLink:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="Harry Potter">
<description
xlink:type="simple"
xlink:href="/images/HPotter.gif"
xlink:show="new">
As his fifth year at Hogwarts School of Witchcraft and
Wizardry approaches, 15-year-old Harry Potter is.......
</description>
</book>
<book title="XQuery Kick Start">
<description
xlink:type="simple"
xlink:href="/images/XQuery.gif"
xlink:show="new">
XQuery Kick Start delivers a concise introduction
to the XQuery standard.......
</description>
</book>
</bookstore>
Ejemplo explicó:
- El espacio de nombres XLink se declara en la parte superior de los documentos (xmlns:xlink="http://www.w3.org/1999/xlink")
- El XLink: type = "simple" crea un simple "HTML-like" enlace
- El xlink:href atributo especifica el URL para enlazar a (en este caso - una imagen)
- El XLink: mostrar = "nueva" especifica que el vínculo debe abrir en una nueva ventana
XLink - Yendo más lejos
En el ejemplo anterior hemos demostrado XLinks simples. XLink es cada vez más interesante cuando se accede a lugares remotos como los recursos, en lugar de páginas independientes.
Si nos fijamos el valor de la xlink:show atributo de "embed" , el recurso vinculado debe ser procesado en línea dentro de la página. Cuando se considera que esto podría ser otro documento XML que podría, por ejemplo, construir una jerarquía de documentos XML.
También puede especificar cuándo debe aparecer el recurso, con el xlink:actuate atributo.
XLink Atributo de referencia
Atributo | Valor | Descripción |
---|---|---|
xlink:actuate | onLoad onRequest other none | Define cuando el recurso vinculado se lee y se muestra a continuación:
|
xlink:href | URL | Especifica la dirección URL para enlazar a |
xlink:show | embed new replace other none | Especifica dónde abrir el enlace. El valor predeterminado es "replace" |
xlink:type | simple extended locator arc resource title none | Especifica el tipo de enlace |
XPointer
|
Soporte para el navegador XPointer
No hay soporte para el navegador XPointer. Pero XPointer se utiliza en otros idiomas XML.
Ejemplo XPointer
En este ejemplo, vamos a utilizar XPointer en conjunción con XLink para que apunte a una parte específica de otro documento.
Vamos a empezar por mirar el documento XML de destino (el documento que estás enlazando a):
<?xml version="1.0" encoding="UTF-8"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
<picture url="http://dog.com/rottweiler.gif" />
<history>The Rottweiler's ancestors were probably Roman
drover dogs.....</history>
<temperament>Confident, bold, alert and imposing, the Rottweiler
is a popular choice for its ability to protect....</temperament>
</dog>
<dog breed="FCRetriever" id="FCRetriever">
<picture url="http://dog.com/fcretriever.gif" />
<history>One of the earliest uses of retrieving dogs was to
help fishermen retrieve fish from the water....</history>
<temperament>The flat-coated retriever is a sweet, exuberant,
lively dog that loves to play and retrieve....</temperament>
</dog>
</dogbreeds>
Tenga en cuenta que el documento XML anterior utiliza atributos id en cada elemento!
Así, en lugar de vincular a todo el documento (as with XLink) , XPointer permite enlazar a partes específicas del documento. Para enlazar a una parte específica de una página, añadir un signo de número (#) y una expresión XPointer después de la URL en el xlink:href atributo, como esto: xlink: href = "http://dog.com/dogbreeds.xml #xpointer (id ( 'Rottweiler')) ". La expresión se refiere al elemento en el documento de destino, con el valor id de "Rottweiler" .
XPointer también permite un método abreviado para ligarse a un elemento con un id. Se puede utilizar el valor de la ID directamente como aquí: xlink: href = "http://dog.com/dogbreeds.xml#Rottweiler".
El siguiente documento XML contiene enlaces a más información de la raza del perro para cada uno de mis perros:
<?xml version="1.0" encoding="UTF-8"?>
<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">
<mydog>
<description>
Anton is my favorite dog. He has won a lot of.....
</description>
<fact xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#Rottweiler">
Fact about Rottweiler
</fact>
</mydog>
<mydog>
<description>
Pluto is the sweetest dog on earth......
</description>
<fact xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#FCRetriever">
Fact about flat-coated Retriever
</fact>
</mydog>
</mydogs>