| home / programming / xml_24 / 2 | [previous] [next] |
|
|
You’re now finally ready to put all of your XPointer and XLink knowledge to work
and create some links that would never be possible in HTML. As an example,
consider an element named employees that is used to identify a group of employees
for a company. Following is an example of how you might create a simple link for
the employees element:

This example is the simplest possible link you can create using XLink, and
it actually carries out the same functionality as an HTML anchor link, which
is known as a simple link in XML. Notice in the code that the XLink
namespace is declared and assigned to the xlink prefix, which is
then used to reference the href attribute; this is the standard
approach used to access all of the XLink attributes. What you may not realize
is that this link takes advantage of some default attribute values. The following
is another way to express the exact same link by spelling all of the pertinent
XLink attribute values:

In this code, you can more clearly see how the XLink attributes are specified in order
to fully describe the link. The type attribute is set to simple, which indicates that
this is a simple link. The show attribute has the value replace, which indicates that
the target resource is to replace the current document when the link is traversed. The
actuate attribute has the value user, which indicates that the link must be activated
by the user for traversal to take place. And finally, the role and title
attributes are set to indicate the meaning of the link and its name.
The previous example demonstrated how to create a link that imitates the familiar HTML anchor link. You can dramatically change a simple link just by altering the manner in which it is shown and activated. For example, take a look at the following link:

This code shows how to effectively embed another XML document into the current
document at the position where the link is located. This is accomplished by simply
setting the show attribute to parsed and the actuate attribute to auto. When a web
browser or XML application encounters this link, it will automatically load the
resume_e1.xml document and insert it into the current document in place of the
link. When you think about it, the img element in HTML works very much like this
link except that it is geared solely toward images; the link in this example can be
used with any kind of XML content.

Although simple links such as the previous example are certainly important,
they barely scratch the surface in terms of what XLink is really capable of
doing. Links get much more interesting when you venture into extended links.
A powerful use of extended links is the linkset, which allows you to link to a set
of target resources via a single source resource. For example, you could use an
extended link to establish a link to each individual employee in a company.
To create an extended link, you must create child elements of the linking
element that are set to type locator; these elements are where you set each
individual target resource via the href attribute. Following is an example of
an extended link, which should help clarify how they work:

This example creates an extended link out of the employees element, but the most
interesting thing about the link is that it has multiple target resources that are identified
in the child employee elements. This is evident by the fact that each of the employee
elements has an href attribute that is set to their respective target resources.

Of course, you might be wondering exactly how a link like the extended link shown here is used. In web pages, links are usually identified by colored, underlined text, and are activated simply by clicking them with the mouse. When there are multiple targets associated with a link, as in the example, it somehow becomes necessary to specify which target you want when you traverse the link. Because extended links currently aren’t supported in any web browsers, it’s hard to say exactly how this target resource selection will be carried out. My hunch is that you will be able to select from multiple targets that are displayed in a pop-up menu after you click a link. So, when you first click on a source resource for an extended link with multiple targets, a pop-up menu could appear with the available target links. To visit one of the links, you simply select the target from the menu. This is a reasonably intuitive way to implement the user interface portion of extended links with multiple targets, but it still isn’t clear yet if browser vendors will employ this approach.
Another type of extended link is the arc, which is essentially a two-way link that connects two resources in such a way that the link can be traversed in either direction (forward or reverse). When you create an arc, you must first create locators for each resource involved in the link, and then you create the arc connections that connect the resources together. A web ring is a good example of how arcs work—each web page in a web ring has a Forward and Back button that allows you to view more pages in the ring. The URI of a web page in a web ring would be identified in a locator, whereas the connections between each page in the ring would be established with arcs.
I’ve mentioned a few times throughout this lesson how XLink has unfortunately yet to garner much support in major web browsers. That’s the bad news. The good news is that the Firefox browser does include support for simple XLink links. You can create links in Firefox using XLink that approximate the same links supported in HTML. In other words, you can’t create extended links or embedded links, which is somewhat of a bummer. Listing 22.2 contains the code for a Top Five movie list XML document that makes use of simple XLink links.

| home / programming / xml_24 / 2 | [previous] [next] |
Created: March 27, 2003
Revised: December 19, 2005
URL: http://webreference.com/programming/xml_24/2