Larry,
Your latest example (included below) seems different than your first proposal.
<addRequest opId="3" select="/root/configuration/protocol/ospf">
<area id="4">...
</area>
</addRequest>
is different from:
<area id="4" op="addRequest">
...
</area>
I thought something along the lines of the latter was what you were proposing. Sorry if I misunderstood.
Just to make sure I understand this message, your example would:
Delete OSPF area 0
Delete OSPF area 3
Add a new OSPF area 4 with one interface (ge-2/2) in it
Modify interface ge-1/5 in OSPF area 2 to have a dead interval of 40
Add a new IS-IS area 5
Add an LSP named "to-SFO" to OSPF area 1 with a metric of 15
Change the metric of the LSP named "to-SFO" in OSPF area 6 to 20
All as a single atomic transaction.
Your use of X-Path is intriguing. I think the conventional wisdom has been that X-Path would be too complicated to implement on an embedded system. It is cleaner, though, than the approach this group has been pursuing, which would be to include the parent elements in the XML payload. Have you been able to implement X-Path on a small embedded system?
Are there semantics associated with the opID attributes in your example? Since it seems to be an atomic transaction I assume they do not imply order of execution. Why are they needed? Same with the transaction IDs.
Keith Allen
SBC Technology Resources
9505 Arboretum Blvd.
Austin,TX 78759
(512) 372-5741
-----Original Message-----
From: Larry Menten [mailto:lmenten@lucent.com]
Sent: Tuesday, May 13, 2003 3:08 PM
To: netconf
Subject: Re: Is DOM vs SAX a red herring?
Keith, To represent the transaction in multiple parts the target has to be identified. We have used XPath expressions for this purpose as in the following example: <transaction id="29"> <deleteRequest opId="2" select="/root/configuration/protocol/ospf/area[@id='0']" /> <deleteRequest opId="1" select="/root/configuration/protocol/ospf/area[@id='3']" /> <addRequest opId="3" select="/root/configuration/protocol/ospf"> <area id="4"> <interface id="ge-2/2"> <authentication-key> <keyname>gargoyle</keyname> <key-id>3</key-id> </authentication-key> <metric>1</metric> <hello-interval>10</hello-interval> <dead-interval>40</dead-interval> <retransmit-interval>10</retransmit-interval> <transit-delay>5</transit-delay> </interface> </area> </addRequest> <addRequest opId="4" select="/root/configuration/protocol/ospf/area[@id='2']/interface[@id='ge-1/5']"> <dead-interval>40</dead-interval> </addRequest> <addRequest opId="5" select="/root/configuration/protocol/is-is"> <area id="5"></area> </addRequest> <addRequest opId="6" select="/root/configuration/protocol/ospf/area[@id='1']"> <label-switched-path id="to-SFO"> <metric>15</metric> </label-switched-path> </addRequest> <replaceRequest opId="7" select="/root/configuration/protocol/ospf/area[@id='6']/label-switched-path[@id='to-SFO']"> <metric>20</metric> </replaceRequest> </transaction>
-- Larry Menten Lucent Technologies/Bell Laboratories Phone: 908 582-4467 600 Mountain Avenue, Murray Hill, NJ 07974 USA