Conditional IDness considered unnecessarily complex

I'm writing a SAX filter that makes XPath id() and other ID-aware  
processing work without DTDs.

SVG 1.2 Tiny makes the IDness of id on SVG elements conditional.
http://www.w3.org/TR/SVGMobile12/struct.html#Core.attrib

I can understand why SVG 1.2 Tiny makes the IDness of id conditional,  
but I think it is the wrong fix.

Apps that consume SVG will have to keep supporting id anyway. Apps  
that produce SVG will have to emit id in order to be backwards  
compatible. xml:id doesn't add functionality, but working around the  
trouble that xml:id creates complicates code and is bad for  
performance when running the additional code is multiplied by the  
number of elements processed. The only case where xml:id helps is  
when someone uses an SVG-unaware authoring toolchain that despite  
being SVG-unaware happens to be xml:id-aware. I think it is a bad  
idea to let the artifacts of such private SVG-unaware systems to leak  
to the public Web so that they complicate SVG-aware systems.

In the interest of practical, simple and high-performance processing,  
I suggest making the IDness of id unconditional. If this means that  
you can't duplicate the value in xml:id, the fix is not to duplicate  
the value in xml:id.

-- 
Henri Sivonen
hsivonen@iki.fi
http://hsivonen.iki.fi/

Received on Friday, 12 October 2007 09:50:01 UTC