Re: xml:id

On Jan 9, 2008, at 07:01, Daniel Veillard wrote:
> On Tue, Jan 08, 2008 at 03:25:32AM -0800, Maciej Stachowiak wrote:
>> On Jan 7, 2008, at 4:18 PM, Timur Mehrvarz wrote:
>>> Are you really suggesting for authors to duplicate id and xml:id, in
>>> order to cope with this?
>> I can't speak for Henri, but I would suggest authors use only id in
>> SVG content, and not xml:id, since id is more compatible and xml:id
>> offers no advantages for publicly deployed web content.

I'm not sure who "you" in the question referred to, but I agree with  

> Do SVG implementation actually parse/handle the DTD embedded in Web
> documents ?

They don't generally.

> I doubt it, in that case you rely on hardcoded behaviour of the  
> engine,

You don't need to rely on SVG engine-level hardcoding if you move the  
hardcoding layer (at least conceptually) to between the XML processor  
and the DOM builder. After all, that's were you'd put an xml:id  

> and in my opinion it's better to rely on a low level hardcoded  
> behaviour (basically xml:id is an hardcoded DTD bypass)
> than one coming from upper layers which are less generic and  
> sometimes can be conflicting.

I'm suggesting putting the IDness assignment exactly on the level of  
lowness you'd put the xml:id Processor.

> What you are suggesting may be better from a code behaviour  
> viewpoint *now* but from an user data point of view,
> generic processing, long term management of those, it sounds safer  
> to use an ID handled at the XML level,

xml:id isn't on the XML level. It is immediately on one level above  
the XML level. I'm suggesting assigning IDness to id in no namespace  
(possibly making a grandfathered exception for CML elements) on the  
level where the xml:id spec specifies assigning IDness to id in the 
. What I'm suggesting is exactly as low or high level as xml:id.

> and since DTD processing is not guaranteed xml:id should be the most  
> reliable option.

That's a false dichotomy.

> There is certainly Web engine which don't recognize xml:id now, but  
> if the web content is targetting reuse and long lifetime I would  
> avoid relying just on the SVG hardcoded behaviour.

Considering long life time, browsers can never stop supporting the  
IDness of id in no namespace on XHTML, MathML and SVG elements.

Henri Sivonen

Received on Wednesday, 9 January 2008 10:07:34 UTC