Subject: Developper feedback

From: Vincent Cridlig <[email-masked]>
Date: Mon, 30 Oct 2006 09:21:47 +0100

Hi,

Some weeks ago, some people here were talking about an XPath-based 
edit-config.

Well, we are giving it a try (for fun) using the XUpdate specification 
which is based on XPath and allows to specify well-separated commands. I 
must admit that it is really easier to implement than the current 
edit-config for the following reasons:
- there is no nested operations as it is in the current edit-config 
(eliminating all ambiguities at least in the developer mind),
- there is a clear separation of "operation", "node selection method", 
and "new data", (eliminating the risk of confusing selection portion and 
new values to set)
- command-oriented approach allows a better mapping with CLI, while 
being totally XML compliant. Also it makes it easier to instantiate a 
command design pattern with commit and rollback feature. (And even a 
macro-command pattern).
- You can easily specify the exact position to add a node in a list.
- this last item is specific to our implementation: module developers no 
longer have to deal with edit-config data parsing because commands 
generation is done at a lower level (operation). Until now, we couldn't 
do it because it seems that operations behaviour (merge, ...) depends on 
the data model.

I can not say more about performances (it is too early to tell), but I 
bet that the standard XPath implementations (used for selecting involved 
data) are faster than my implementation of the current edit-config parsing.

Regards,
Vincent