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

Re: Separation of configuration and control - good or bad?



Phil Shafer wrote:

Larry Menten writes:

I am partial to the XPath subset approach, too. It solves a lot of
problems.

The biggest cons to using xpath are:

- Lack of schema-ability: Since xpath strings are just strings, you
can't validate a request against a schema to know that your request
is valid.

No validation is necessary. The XPath expression is intended to
identify a unique configuration element within the target configuration
tree. If it does so, it is valid. If it does not, then it is invalid.
If you wish to validate the syntax of the subset that we use, it is easy
to do so and much more efficient than validating an XML tree of your syntax.
We have used this approach and it works exceedingly well. It is also flexible
and extensible if you wish to move beyond the subset needed to uniquely
identify an element by unique attribute values. It can be used as a kind of
query language in a get operation. We have done this. Very nice feature.
Not an embedded system feature, though.

- Distinct syntax: While it's certainly possible to convert from
a configuration hierarchy into the xpath expression that represents
it, it's not trivial. Converting the other way (xpath -> element)
is even more difficult, though it would likely be rarely required.

It is trivial to convert from any uniquely named point the configuration
hierarchy to the xpath expression if you know what the key fields are.
We can generate these expressions very efficiently in our system because
those fields are identified and are attributes. I would grant you that your
approach of avoiding attributes presents a problem. That is one of the many
reasons that I do not like the no-attribute approach. At a minimum, the fields
that uniquely identify the element should be present as attributes for the
element that they identify.


- Assymetric syntax: Using a different syntax for rpc input parameters
than rpc output parameters seems unnatural and will make applications
that what to perform simple data transforms more difficult.

A set operation is assymetrical by nature.  So is a "get operation".
What do you mean here?

Thanks,
Phil

Larry

--
Larry Menten Lucent Technologies/Bell Laboratories
Phone: 908 582-4467 600 Mountain Avenue, Murray Hill, NJ 07974 USA


--
to unsubscribe send a message to netconf-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>