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

Re: [xml] Feature request: callbacks



> ahmm ... robert pointed that out in his email ... let me sum it up as i see this: 

  No I don't see anything in robert's mail which follows that scheme,
maybe i missed it...

> having a callback structure at node, document and application-level like:
> 
> struct {
> 	int xmlCallbackStackLevel;
> 	void * xmlTreeChangeCallbackStack[];
> }
> 
> whereas the first pointer registered in xmlTreeChangeCallbackStack at node-level
> would be the callback-handler for the document-level and the first pointer registered 
> at document-level would be the callback-handler for the application-level
> and the first pointer registered at application-level would be libxml's own handler
> or NULL whichever is preferable
> 
> if a node is changed/deleted/.... the callbacks are called in descending order
> on the node, the first callback of the node then calls all the document-callbacks
> etc, etc ...

  Honnestly I'm not found of it:
   - it's complex, and I don't see why this complexity is required.
     It's time to show up a really convincing example...
   - testing whether a callback and what callback should be called
     is complex, and that's an operation which is likely to happen
     in a number of speed critical places
   - even I have trouble understanding how it is supposed to work,
     I'm afraid of the consequences for application writers.
   - the per-document or per-node callback is not dependant on the
     node or de document to which this applies, so what's the use
     of such a switch (if if has to be node dependant, this mean
     adding one more pointer to the node structure and I say NO
     in advance) ? I think this swicth is better located in the
     application handler.

Daniel

-- 
Daniel Veillard      | Red Hat Network http://redhat.com/products/network/
veillard redhat com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/




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