Re: [xml] Potential wrong usage of xmlIsID() in tree.c


On Thu, 2006-02-23 at 09:15 -0500, Daniel Veillard wrote:
On Thu, Feb 23, 2006 at 03:05:46PM +0100, Kasimier Buchcik wrote:
[ ... cut an invalid example ... ]

According to Daniel, the IDness based on DTDs can really be queried by a
element/attribute combination, without caring if at overall valid

So maybe we could advance by looking at the second option: making the
DTD based detection optional.

  DTD loading itself is optional, ID detection can't be garanteed.
However IDness is really the result of checking (element name/attribute name)
in the DTD (or internal subset) when inserted in the document.

Thanks for the clarification. After your follow up message I thought you 
meant that detection in general was broken.

I just saw your latest message and I was about to propose something 
exactly along those lines. This way if it defaulted to enabled then 
libxml2 could operate as intended. In the case using the lib to 
implement DOM, it could be disabled and ID detection work as we have 
kind of layed out in these messages. Is it possible to extend the 
document node to include flags? This way it might also serve any future 
need to provide some instructions or indications on the state of the 

Sounds great.
Daniel, could we have that flag field on xmlDoc?

  Explain clearly the semantic of it. A priori I'm not too fond of it
if we start having different data structure based on what is using the
library we just make debugging on bug reports near impossible.


Such a flag would enable/disable the attribute creation/addition
functions to perform an automatic ID-detection based on a DTD.

I have thought about what we already have for using DOM on top
of Libxml2.

We could integrate the needed ID semantics for DOM
into: xmlDOMWrapRemoveNode(), xmlDOMWrapAdoptNode() and
What we are missing in this set of DOM functions is a
xmlDOMWrapAddNode() function, which would implement the desired ID
handling - based on the given options.

This way we wouldn't need any additional settings on the xmlDoc - just
inside the wrapper itself. A tiny beautiful island, full of DOM.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]