Svg can not be used as an interchange format
2003-07-19 20:30:25 Robin Debreuil
[Reply]
??? Well, there is more than one format in the world because each one does unique things suited to its particular task. So look at the specialty of any format, and you will find many things.
Anyway, here are some examples - note: svg can do, or be made to do, some of these at run time. That doesn't make it suited to being an interchange format - for that it has to store these concepts, and in fact differing interpretations of these concepts, in a standard accessible way. By standard I mean consistent, not W3C...
For two things I thought it should support, swapping depths of displayed symbols, and solid fill defs (they can't be defined as tags, yet gradients must be). For things that are beyond the scope of it (which are all hard interop areas): contours, vector distortions, shape blends (leaving a copy), extrusions (there are many ways these are done), variable width strokes, unusual warp fills, envelopes, different plugin formats... Basically pick a graphics/anim/xx program and go through the menus, you can find lots.
Really for interchange you can go the 'meta format' route, where you make a superset of the technologies you are going to support, and/or just go the compiler route.
And before you say - I know you can add your own custom tags to svg. You can add custom tags, or custom code to every graphics/anim format I can think of. That doesn't make them all suitable for an interchange format...
PS: This is OT here, but I read your (very interesting) article on soap, linked off your personal website:
http://mail.python.org/pipermail/xml-sig/2002-February/007183.html
..and I couldn't help drawing parallels to my thinking on svg. I guess you don't agree? I think svg would do well to come up with a one sentence definition of what it is for, and try to be great at that. "The PNG of vector graphics" would have been a great one, but it is too late for something that simple I'm afraid.
Cheers,
Robin