Re: [svg-developers] Re: English Please--help understanding SVG 1.1 section 1.1.2

On Tue, 13 Aug 2002, Ronan Oger wrote:

> I think it's time to stop for a minute and ask the w3c people what they mean
> by this...

I'm the guilty party here. I wrote that paragraph (more than once).

Here is a potentially worse explanation in a variation of en-AU:

[[[

The idea is that when you want to build a profile of SVG 1.1, such
as SVG Basic, you list the modules that you include in the
profile (this is a slight simplification, but we'll continue anyway).

Modules can be collections of elements and the (subset of) attributes
that are on those elements. An example is Text, where you have
Text Module with a normal <text> element and all the normal attributes
on that element, as well as a Tiny Text Module with a <text> element
and a restricted set of attributes (dx is missing for example).
I hope this is pretty obvious for these type of modules.

Presentation Attributes (such as "fill") are slightly different. 
They don't belong to any element, so must be grouped together into
modules. If a profile wants a particular set of presentation
attributes, then it includes the module that contains those attributes.

Now, the problem is that there are a lot of relationships between
elements and attributes (particularly presentation attributes).
For example, in SVG 1.0 a <rect> element can have a "filter" attribute,
while in SVG 1.1 Tiny, the <rect> element does not have a "filter"
attribute (no filters in Tiny). Both full/desktop SVG 1.1 and Tiny
SVG use the same <rect> element (and module), so how do we specify
this without going crazy?

The answer is to declare attribute collections as empty by default.
That way, the <rect> element can say that PresentationAttrsFilters
are allowed. Since SVG Tiny doesn't include the Filters Module, that
attribute collection remains empty, and the "filter" attribute
is not supported (on anything). In the normal profile of SVG,
PresentationAttrsFilters is redefined to include the "filter" 
attribute.

Note that the same principle applies to sets of elements. This
way, we can describe the allowed child conten of an element, without
knowing if all the possible children elements have been included 
in the profile.

A lot of elements allow all presentation attributes (this makes
sense, since the attributes all come from CSS, which allows you
to style any element with any property).

For convenience, there is a attribute collection called
PresentationAttrsAll, which is the union of every other collection of
presentation attributes (whose names always start with
"PresentationAttr"). It's not part of any module, it's always there.
In fact, all attribute collections and element collections are
always there, they are just empty by default. PresentationAttrsAll
is a magic one!

]]]

More or less understandable?

It's sometimes difficult to find a balance between specification,
which is what is required, and explanation, which may be better
suited to a tutorial.

PS. Sorry about the inconsistencies, eg. Attrs-All vs AttrsAll
I'll do my best to clean those up.


> 
> >-----Original Message-----
> >From: diblasi_r [mailto:r_diblasi@hotmail.com]
> >Sent: Tuesday, August 13, 2002 9:24 PM
> >To: svg-developers@yahoogroups.com
> >Subject: [svg-developers] Re: English Please--help understanding SVG 1.1
> >section 1.1.2
> >
> >
> >Ronan,
> >
> ><ronan>
> >Now, I can't find PresentationAttrsAll in the index so I am having
> >> difficulty seeing explicitly what this contains except from text
> >> description.
> ></ronan>
> >
> >Welcome to the world of reading the SVG specificatino :-)
> >
> >I think the SVG specification is great....but sometimes it seems that
> >information is left out just to make it shorter ( its there just not
> >spelled out)....I think this is one of those cases.....
> >
> >I have had a hard time with PresentationAttrsAll too....I think this
> >is the way that you find the information:
> >
> >1) go the Attributes in the Appendix:
> >http://www.w3.org/TR/SVG11/attindex.html
> >
> >2) Look at the top of the list and you will see an attribute called
> >"PresentationAttrs-All". I believe this is the "PresentationAttrsAll"
> >that section 1.1.2 is refering to
> >(I know not the same format......if I am correct....I propose a
> >change to the documentation!)
> >
> >3) look down the list and you will see the attributes collections
> >that use "Presentation".
> >
> >Know if you read:
> >http://www.w3.org/TR/SVG11/intro.html#ElementAndAttributeCollections
> >
> >You an I may agree on what it might be saying ....but
> >if "PresentationAttrs-All" means the same as "PresentationAttrsAll"
> >then I think we should ask for chart or section or clearer
> >explainating of what it saying ......
> >
> >(I have a sneaking suspicion that some parts of the specification
> >have not been completely updated....That is not to be read as a put
> >down on the fine work that the SVG Working Group has been doing!!!)
> >
> >We all learn by sharing what we know
> >Robert A. DiBlasi
> >http://www.svgnotebook.com
> >
> >
> >
> >--- In svg-developers@y..., "Ronan Oger" <ronan@r...> wrote:
> >> I think I agree that this is the right interpretation (Although
> >zero or more
> >> *might be* 1 or more).
> >>
> >> Now, I can't find PresentationAttrsAll in the index so I am having
> >> difficulty seeing explicitly what this contains except from text
> >> description.
> >>
> >> It seems that the authors simply intend it to be the implicit set of
> >> collections whose names match the regular
> >expression /Presentation\w+/ (Perl
> >> format).
> >>
> >> Ronan
> >>
> >> >-----Original Message-----
> >> >From: diblasi_r [mailto:r_diblasi@h...]
> >>
> >> >Ronan,
> >> >
> >> >here is what I'm working with:
> >>
> >>http://www.w3.org/TR/SVG11/intro.html#ElementAndAttributeCollections
> >> >1) a profile has zero or more modules
> >> >2) a module has zero or more attribute collections (attribute set)
> >> >3) a module has zero or more element collections (content set)
> >> >
> >> >Special case:
> >> >1) It is possible to have a profile that refers to
> >attribute/element
> >> >collections in a module that are "not part of the profile" . If
> >this
> >> >is the case the attribute/element collection must be concidered
> >empty.
> >> >
> >> >2) The only exception to this rule is the PresentationAttrAll
> >> >attribute collection. For each styling property defined in this
> >> >specification, there is a corresponding XML presentation attribute
> >> >available on all relevant SVG elements. The PresentationAttrAll
> >> >collection represents the collection of XML presentation
> >attributes.
> >> >The funny thing about PresentationAttrAll is it does not belong to
> >> >any module and in a strange way seems to just be a collect with
> >out a
> >> >module in the SVG Profile (I feel like this sometimes....but that
> >is
> >> >different story all together :-)
> >> >
> >> >Therefore any module that refers to the PresentationAttrAll collect
> >> >it will not be considered empty!
> >> >
> >> >I think I got it!!!! ....What do you think?
> >> >
> >> >We all learn by sharing what we know
> >> >Robert A. DiBlasi
> >> >http://www.svgnotebook.com
> >> >
> >
> >
> >
> >
> >-----
> >To unsubscribe send a message to:
> >svg-developers-unsubscribe@yahoogroups.com
> >-or-
> >visit http://groups.yahoo.com/group/svg-developers and click "edit
> >my membership"
> >----
> >
> >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
> >
> >
> >
> >
> >
> 
> 
> ------------------------ Yahoo! Groups Sponsor ---------------------~-->
> 4 DVDs Free +s&p Join Now
> http://us.click.yahoo.com/pt6YBB/NXiEAA/ySSFAA/1U_rlB/TM
> ---------------------------------------------------------------------~->
> 
> -----
> To unsubscribe send a message to: svg-developers-unsubscribe@yahoogroups.com
> -or-
> visit http://groups.yahoo.com/group/svg-developers and click "edit my membership"
> ---- 
> 
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 

Received on Tuesday, 13 August 2002 21:41:26 UTC