XLink é usado para criar hyperlinks em documentos XML.
|
Suporte do navegador XLink
Não há suporte do browser para XLink em documentos XML. No entanto, todos os principais navegadores suportam XLinks em SVG .
XLink Sintaxe
Em HTML, o <a> elemento define um hiperlink. No entanto, isso não é assim que funciona em XML. Em documentos XML, você pode usar qualquer nomes elemento que você quer - portanto, é impossível para os navegadores para prever quais os elementos link será chamado em documentos XML.
Abaixo está um exemplo simples de como usar XLink para criar links em um 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 ter acesso aos recursos XLink devemos declarar o namespace XLink. O namespace XLink é: "http://www.w3.org/1999/xlink" .
O xlink: tipo e do xlink:href atributos na <homepage> elementos vêm do namespace XLink.
O xlink: type = "simples" cria um simples "HTML-like" link (significa "clique aqui para ir lá").
O xlink:href atributo especifica o URL para conectar-se a.
Exemplo XLink
O seguinte documento XML contém recursos 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>
Exemplo explicou:
- O namespace XLink é declarada na parte superior do documento (xmlns:xlink="http://www.w3.org/1999/xlink")
- O xlink: type = "simples" cria um simples "HTML-like" ligação
- O xlink:href atributo especifica o URL para conectar-se a (neste caso - uma imagem)
- O xlink: show = "new" especifica que o link deve abrir em uma nova janela
XLink - indo mais
No exemplo acima, demonstraram XLinks simples. XLink está ficando mais interessante ao acessar locais remotos como recursos, em vez de páginas independentes.
Se definir o valor do xlink:show atribuir a "embed" , o recurso vinculado deve ser processado em linha dentro da página. Quando você considera que este poderia ser um outro documento XML que você poderia, por exemplo, construir uma hierarquia de documentos XML.
Você também pode especificar quando o recurso deve aparecer, com o xlink:actuate atributo.
XLink Atributo Referência
Atributo | Valor | Descrição |
---|---|---|
xlink:actuate | onLoad onRequest other none | Define quando o recurso vinculado é lido e mostrado:
|
xlink:href | URL | Especifica o URL para conectar-se a |
xlink:show | embed new replace other none | Especifica onde para abrir o link. O padrão é "replace" |
xlink:type | simple extended locator arc resource title none | Especifica o tipo de ligação |
XPointer
|
Suporte do navegador XPointer
Não há suporte do browser para XPointer. Mas XPointer é usado em outras linguagens XML.
Exemplo XPointer
Neste exemplo, usaremos XPointer em conjunto com XLink para apontar para uma parte específica de outro documento.
Vamos começar por olhar para o documento XML de destino (o documento que está ligando 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>
Note-se que o documento XML acima utiliza atributos id em cada elemento!
Assim, em vez de ligar para o documento inteiro (as with XLink) , XPointer permite que você conectar-se a partes específicas do documento. Para conectar-se a uma parte específica de uma página, adicionar um sinal de número (#) e uma expressão XPointer após o URL na xlink:href atributo, como este: xlink: href = "http://dog.com/dogbreeds.xml #xpointer (id ( "Rottweiler")) ". A expressão refere-se ao elemento no documento de destino, com o valor id de "Rottweiler" .
XPointer também permite um método de taquigrafia para ligar a um elemento com um id. Você pode usar o valor do id diretamente, como este: xlink: href = "http://dog.com/dogbreeds.xml#Rottweiler".
O seguinte documento XML contém links para obter mais informações da raça do cão para cada um dos meus cães:
<?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>