[
Lists Home |
Date Index |
Thread Index
]
"Jelks Cabaniss" <jelks@jelks.nu> wrote:
|> Can you think of anything *simpler* than the <MAP> construct
|> for what it does?
|
| No -- for image maps, it's great. I guess I'm having trouble
| extrapolating this "aggregation" to other things. Could you give a
| (non-image map) example?
Some simple examples, minimal and possibly half-baked, but modeled on
<MAP>, and using SGML notation from the WebSGML TC:
<!ELEMENT linkitem (#PCDATA) -- prompt, title, legend, etc. --
>
<!NOTATION Uri
PUBLIC "-//IETF/RFC 2396//NOTATION
Uniform Resource Identifiers (URI): Generic Syntax//EN"
>
<!ATTLIST linkitem
id ID #IMPLIED
url DATA Uri #REQUIRED -- no %Uri; voodoo --
>
<!ELEMENT linklist (linkitem)+
>
<!ATTLIST linklist
id ID #REQUIRED
>
<!ELEMENT linkset (#PCDATA)
>
<!ATTLIST linkset
id ID #REQUIRED
items IDREFS #REQUIRED
>
<!ATTLIST #ALL
uselink IDREF #IMPLIED
-- points to a linklist or linkset, *or* a linkitem! --
>
Each <linkitem> is sort of like an <a> or <img>, with just the locative
information. The <linklist> and <linkset> elements are two different ways
to aggregate <linkitem>s, either directly as subelements, or indirectly
through a set of IDREF "pointers" (which would disengage the locations in
the document of the aggregator and its effective components.)
That's the bare structure, but it has some obvious applications:
1. The favorite of the click-n-drool crowd: mouse rollovers, currently
an opportunity for javascript code-kiddies to flex their programming
muscles. You want to aggregate images as a rollover group. So point
to each image with a <linkitem>, construct the logical aggregate
that relates them, and associate the aggregate with an element that
can carry the rollover semantic.
2. The favorite of screen-stuffers: "drop-down" link menus, currently
faked with <form>s. This is just an aggregation of <a> elements in
essential structure. Have a <linkitem> for each URL, group them
together, and "activate" the multiway link by pointing to the
aggregator.
The key feature is the uselink attribute (just like the usemap attribute).
You can use it to point to an aggregate, or to an individual locator: the
application just has to be smart enough to inspect the target element
type.
For HTML specifically, there are the usual considerations of "fallback"
and KTWSFN. AIUI, <img> is being deprecated, but while it exists, it
could exhibit the uselink attribute to point to a rollover "map". The
dropdown link menu is somewhat harder, but if you can arrange to spread
the <linkitems> over the page unobtrusively, you can swoop them all up
into a dropdown using the <linkset> device.
Actually, this is all basic Xlink stuff, and AFs would work swimmingly
well here, such as interepreting an <img> element as an inplace <linklist>
agrgregator, or treating <a>s in various places as <linkitem>s drawen
together into a <linkset> somewhere.
None of the essential ideas here are "new", btw ;-)
|