Re: Data attributes (was: Stylesheets considered limiting)

John Cowan (cowan@locke.ccil.org)
Mon, 16 Nov 1998 09:43:21 -0500


W. Eliot Kimber wrote:

> Not necessarily. What if I have this situation:
>
> <!NOTATION MyQuery PUBLIC "">
> <!NOTATION GIF PUBLIC "" >
> <!ENTITY mygif SYSTEM [ width="640" height="480" ]>

Presumably the above should include "NDATA GIF"?

> <Query notation="MyQuery" icon="mygif">find something</Query>

Supposing that MyQuery notation uses the attributes "table, select,
where" then your element above would map to:

<Query notation="MyQuery" icon="mygif" GIF.width="640"
GIF.height="480" MyQuery.table="this" MyQuery.select="that"
MyQuery.where="foo=32">find something</Query>

Since notation names must be unique in a document, they can be used
uniquely to qualify data attribute names and make them into element
attributes (modulo the obvious trick of renaming attributes that
contain dots in their names).

Now of course if you have two different attributes of type ENTITY
referring to unparsed entities with the same notation, or two
different attributes of type NOTATION with the same value, or
one of each, then you need to extend the convention further.
Nevertheless, it *can* be done. The effective attribute tree
gets flattened into an attribute space, with the tree information
stored in the attribute names.

> You can only specify one notation per element
> instance (which might be a design bug now that I think about it--I can
> thing of cases where the same element might be reasonably governed by
> different notations relevant to different processing domains).

Not true in XML anyway.

-- 
John Cowan	http://www.ccil.org/~cowan		cowan@ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)