From: "Doug Schepers" To: Subject: Logical Groups Date: Tuesday, July 29, 2003 4:20 PM At the SVG-Open WG panel discussion, a question regarding roads was put to the WG, wishing to somehow allow variable z-index to simulate, for instance, a road passing over and under another road at different points. A possible solution was floated by a WG member (maybe Jon?), that called for the virtual linking of separate path elements, so that they could be logically linked while retaining the painter's model rendering. This idea seemed to satisfy people, though it was only speculative. In a recent discussion with Jim Ley about text in SVG, he brought up the idea of "linking separate elements into something that can be selected as a whole, which would need some kind of read-index attribute." This struck me as an opportunity for two-birds-with-one-stone elegance. 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 , 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: One Two Three ( could also simply be , since the logicalGroup would not visibly render.) This would allow for some very interesting possibilities: * selection of members of the logical group for certain DOM manipulations, such as toggling visibility, and possibly transformations * reading order control by virtual group, for accessibility issues * selection of text within virtual group as a whole, rather than just individual text elements * obviation of need for metadata, in many cases Regards- -Doug =========================================================================== From: "Gavin Kistner" To: Subject: Re: Logical Groups Date: Friday, November 14, 2003 3:32 PM 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 , 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: > > > > > > > > One > Two > Three > > ( could also simply be , 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.: World Hello 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