- From: Boris Zbarsky <bzbarsky@mit.edu>
- Date: Tue, 04 Apr 2006 09:38:18 -0500
- To: Chris Lilley <chris@w3.org>, www-svg@w3.org
Chris Lilley wrote: > Such markup is not conformant to the schema for SVGT 1.2, but I assume > you knew that. Of course. But I'm interested in how a non-validating UA (such as Gecko) would handle this. > This use of values for show and actuate which are not licensed by the > SVG specification is outside the scope of the SVG specification. Sure. But it's within the scope of the XLink specification and the XLink specification completely defines the behavior. > Don't do that. As an author, I don't. As a UA implementor, I have to assume that authors will ignore little things like schema; when that happens I need to know what my UA should do. Is the document in error in this case? If not, I have to render it. Then the question is "how". > So your question is really, whether any random combination of XLink > attributes can be used to override the semantics of any other element. Yes, and it seems to me that > I asked this on the XLink public list: > http://lists.w3.org/Archives/Public/www-xml-linking-comments/2006JanMar/0113.html > (using your example, in fact) > > and got this response > http://lists.w3.org/Archives/Public/www-xml-linking-comments/2006AprJun/0000.html Which just says, "Yes, the markup is not conformant to the SVG schema." Again, what does that mean in practice? Is the document in error? What does my UA do to handle this case? Also, note that the actuate="onload" case doesn't even depend on the document being rendered; it's somewhat analogous to, say, having an <html:script> element in the DOM. While SVG constrains the rendering behavior there (the <script> does not render), it does not constrain the semantics (the <script> executes). Even if the SVG document is in error, as far as I can tell based on the current spec. So as far as I can tell, as a UA implementor, the actuate="onload" case should actuate onload as required by the XLink specification. I see no provisions for doing otherwise, unless I happen to be a UA that completely abandons parsing the document and drops the entire DOM as soon as I detect non-conformance to the schema being used. > so, basically, SVG describes what happens when allowed values for a > particular element are used, consistent with the semantics of that > element. Agreed. > By using non-allowed values, you are making a new language As I read the XLink specification, authors are allowed to use any xlink-namespaced attributes on any elements in any language. Again, that may make the result non-conformant wrt the language's schema. But what does that mean in practice for a UA implementor? > Redefining the semantics > of existing elements seems like poor design, so you would be better > using elements in a different namespace. Sure. I'm not speaking as an author here. I'm speaking as a UA implementor who wants to know how to handle the case of authors using said "poor design". Again, I see no problem in the SVG specification as it stands; I just wanted to be sure there is no problem with Gecko implementing XLink in addition to SVG (that is, that they do not place contradictory constraints on what Gecko should be doing). Sounds like they don't -- once we don't match the schema, the SVG spec places no constraints, so we should follow the XLink spec. -Boris
Received on Tuesday, 4 April 2006 14:38:30 UTC