Lists Home |
Date Index |
Uche Ogbuji wrote:
> > [Joe English]
> > [Re: http://www.w3.org/TR/hlink/ ]
> > Initial impression: This looks OK. It finally reinvents
> > architectural forms in a way that's usable in XML.
> I'm surprised to hear you say this. HLink looks more about annotating
> attributes for presentation semantics than any form of remapping or
> vocabulary-level adaptation.
That's not surprising, since most of the semantics
added by HLink _are_ presentation-oriented.
But there is a small kernel, sort of a design pattern,
that could be reused in other architectural vocabularies.
The key pieces are the declaration element (hlink:hlink),
and the 'namespace' and 'element' attributes; all the
other hlink:hlink attributes are treated uniformly by
the remapping process.
Other vocabularies could reuse this technique by specifying
their own declaration elements, which would work the same
> Can this then fairly be called a reinvention of
> architectural forms?
It's a step in the right direction. There are some problems
with the technique -- there's no way to specify a default value
that begins with "@" for instance, which is OK for HLink but
may cause problems in other architectures. Also, it only
works for what the AFDR calls "attribute forms", which again
is OK for HLink since it only supports a single a element
(roughly, an XLink "simple" link) but would not be sufficient
for architectures with more than one element type.
> > (XLink started to do this, but the omission of any kind
> > of attribute renaming facility and the lack of a reliable
> > attribute value defaulting scheme made XLink inflexible
> > and difficult to use, as Steve Pemberton's message convincingly
> > described. The 'hlink' declaration scheme solves both those
> > problems.)
> Ah. I don't see any attribute renaming in HLink.
<hlink:hlink element="img" locator="@src"/>
means, roughly, that the 'src' attribute of an 'img' element
is to be treated as the 'locator' attribute of an 'xlink:simple'
element. It's basically the same as the AFDR declaration:
XLinkNames #FIXED "src locator"
(where XLinkNames is the "Architectural attribute renamer" attribute.)