OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] linking, 80/20

[ 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 ;-)





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS