Re: Logical Groups

On Tue, 29 Jul 2003 Doug Schepers wrote:
> After some dialog, we thought up a possible mechanism that would 
> satisfy both these use cases: the declaration of a logical grouping of 
> elements, similar to <use>, that would "logically render" in the same 
> painter's model fashion, without changing the graphical rendering. In 
> the case of text, this might look like:
>
> <logicalGroup id='myParagraph'>
>    <member xlink:href='#foo'/>
>    <member xlink:href='#bar'/>
>    <member xlink:href='#buh'/>
> </logicalGroup>
>
> <text id='buh' x='0' y='13'>One</text>
> <text id='foo' x='0' y='15'>Two</text>
> <text id='bar' x='0' y='18'>Three</text>
>
> (<member> could also simply be <use>, since the logicalGroup would not 
> visibly render.)

To ensure I understand this proposal properly: this only provides an 
internal (DOM) grouping of elements, correct? Or does it affect the 
rendering order/layering also? (I understand that one of its features 
is the ability to apply styles to multiple elements, such as hiding 
them.)

I assume that in the above you purposefully placed the member/use order 
as "foo, bar, buh", differing from the source code order of "buh, foo, 
bar". Does this change the way the three are displayed at all, or does 
it simply provide a means of imposing a semantic order on the content, 
in a code-accessible way?


How would you resolve the sort of dual-tree inheritance conflicts which 
might arise, e.g.:

<logicalGroup style="fill:red">
	<member xlink:href='#foo'/>
	<member xlink:href='#bar'/>
</logicalGroup>

<g style="fill:blue">
	<text id="bar" x="20" y="5">World</text>
</g>
<g style="fill:green">
	<text id="foo" x="0" y="10">Hello</text>
</g>


If logicalGroups only provide an XML way of grouping elements for 
stylistic changes, how do they differ from CSS classes?

[Hrm, I suppose it's annoying with code to select all elements with a 
certain class, without xpath.]

--
Gavin Kistner @ Refinery, Inc.
gavin@refinery.com
work: +1.303.444.1777

Received on Friday, 14 November 2003 15:32:00 UTC