Hi David, Let me start by saying that I don't have a definitive answer on this, but I do have some vague recollections that might help.
On Sat, 16 Oct 2010 21:39:39 -0400 "ddailey" <[email protected]> wrote: > I don't really understand carburetors, but I have a vague idea that > they control the richness of the fuel mixture so as to calibrate the > rate of combustion in the engine -- for me, the following issue is > similar. > > Perhaps you can help. I'm trying to explain how to do a wee bit of > DOM scripting to those who don't necessarily have any programming > background, let alone DOM scripting in SVG. I generally get around > the topic on my own, okay, without really understanding some of the > more esoteric subjects like DOCTYPE and namespaces and so forth -- I > just do what people tell me to and it usually works. In truth, I > consider all such things to be incantations required for me to pay > homage to the systems gurus who have figured out how to glue all the > pieces together. They are like taxes, and it is generally not crucial > that I understand them so long as I do what is required. > > On the other hand, once every so often I find myself having to > explain things to others. And it is at these times that I find myself > thinking that perhaps I should understand such myseries (did I forget > a "t" in the last word? oops) a bit deeper than I do. Hence the > following question: > > I know that > R.setAttributeNS(null,"fill", "red")is the proper construction > (for SVG but not HTML), rather than > R.setAttribute("fill", "red")I also know that in every SVG viewer > I have seen, the latter has equivalent behavior to the former (for > SVG but not HTML), . I remember in the early days of XML, namespaces did not exist and any tools/languages that did the DOM-thing were built around the second model. Later, namespaces were added and as the tools/languages began sprouting the first form. During that time, I remember many people running across and reporting problems with the setAttributeNS() methods not working consistently among tools when working with XML having namespaces. After lots of discussion and consternation, it seems the consensus was that setAttribute( ... ) was not safe to use when any namespaces were present and setAttributeNS( null, ... ) was the preferred approach. Fast-forward a few years of cargo-culting that approach and this became firmly entrenched as "best practice". Meanwhile tools and language support have improved. I think it was last year on one of the XML mailing lists I follow that someone challenged this practice with examples to back up the fact that many implementations appear to be consistent that setAttribute( ... ) is the same as setAttribute( null, ... ). Hopefully, someone has a definitive answer on this. As I said all I have are anecdotes, and my (admittedly fuzzy) memory. > I think I was told once that the SVG spec (or maybe it is the XML > spec, or one or another DOM spec), for some mysterious reason, leaves > room for some future browser manufacturer to make a browser in which > the latter construction wouldn't work. So, as per my oversimplified > understanding, we use the more arcane construction (and its extra > seven keystrokes and the extra 80,000 neural synapses) in > anticipation of such a possible future. I truly don't rue the seven > keystrokes, as much as all the norepinephrine, seratonin and the like. > > So as I say, it is not important that I understand it. There may be, > already, a shortage of norepinephrine which would preclude me from > ever understanding it. But what words might I use to explain this > oddity to others? If I happen to understand your explanation that > will be a serendipitous but unexpected side-effect! G. Wade -- That's what I love about GUIs: They make simple tasks easier, and complex tasks impossible. -- John William Chambless, <[email protected]> ------------------------------------ ----- To unsubscribe send a message to: [email protected] -or- visit http://groups.yahoo.com/group/svg-developers and click "edit my membership" ----Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/svg-developers/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/svg-developers/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

