Re: CSS WG comments on SVG 1.2

At 12:45 AM 12/1/2004 +0100, Anne van Kesteren wrote:

>Dean Jackson wrote:
>>>>>Several properties in SVG 1.2 (including 'enable-background',
>>>>>'overlay', 'cache', 'static', 'snap', 'focusable', 'tooltip') have
>>>>>names that are likely to clash with future CSS extensions. Since the
>>>>>SVG-introduced properties apply only to specific SVG cases, whereas the
>>>>>CSS properties are generic, we request that the SVG property names be
>>>>>made more specific to avoid future clashes.
>>>>
>>>>Although you are probably aware, the reason for this type of issue is
>>>>that CSS doesn't offer any way to "package" property names and ensure
>>>>avoiding clashes with other vocabularies.
>>>
>>>Prefixing every property with "svg-" would do that.
>>So would prefixing the majority of the CSS properties with "html-".
>
>Except that all non-SVG CSS properties, even markup languages specific 
>properties like XHTML Ruby, apply to all XML markup languages and HTML.

"non-SVG" CSS properties apply only when CSS box model *renderer* is used. 
The fact that CSS cannot style arbitrary XML to be rendered with 
non-box-model renderer (or box model renderer with a combination of 
something else) is simply a limitation of CSS. If I have a custom schematic 
language, I simply cannot style it with CSS at all, because box model 
cannot render such documents (although it is probably possible to use 
something like XSLT to render it through SVG). If I could, all 
box-model-specific properties would be just as meaningless as they are for 
SVG. So your "all XML markup languages" is really "all HTML-like XML markup 
languages".


>Everything the CSS WG has created works interoperable between XML dialects 
>and HTML. There is no such thing as HTML specific CSS properties.
>
>The problem is that SVG is a presentational markup language.

The problem is that CSS is too box-model-renderer centric and SVG renderer 
is not a box-model renderer. If CSS aims to be a general-purpose styling 
language that is not coupled with particular rendering model, CSS box model 
should be decoupled from CSS cascade (Renderers can be graphics, timing, 
voice, etc.) Once you do it, you'll see that a lot of properties are 
renderer-specific: what would border-top mean for voice rendering? So it 
might be not html-, but cssbox-

Peter



>--
>  Anne van Kesteren
>  <http://annevankesteren.nl/>
>

Received on Wednesday, 1 December 2004 02:10:23 UTC