-----Original Message-----
From: owner-netconf@ops.ietf.org
[mailto:owner-netconf@ops.ietf.org] On Behalf Of Andy Bierman
Sent: Wednesday, March 23, 2005 8:55 AM
To: netconf@ops.ietf.org
Subject: reporting multiple rpc-errors
Hi,
The section on <rpc-error> and its XSD fragment are wrong in
the -05 draft.
The following text (or something like it) should be added to sec. 4.3:
If an agent encounters multiple errors during the
processing of an <rpc>
request, the <rpc-reply> MAY contain multiple <rpc-error> elements.
However, an agent is not required to detect or report more than one
<rpc-error> element, if a request contains multiple
errors. An agent
is not required to check for particular error conditions
in a specific
sequence. An agent MUST return an <rpc-error> element if any error
conditions occur during processing, and SHOULD return an
<rpc-error>
element if any warning conditions occur during processing.
Here is the XSD for <rpc-reply>:
<xs:complexType name="rpc-replyType">
<xs:choice>
<xs:element name="ok" minOccurs="0"/>
<xs:element name="rpc-error"
type="rpc-errorType" minOccurs="0"/>
<xs:element ref="data" minOccurs="0"/>
</xs:choice>
<xs:attribute name="message-id" type="xs:string"
use="required"/>
</xs:complexType>
1) The <rpc-error> element should have maxOccurs="unbounded"
specified.
2) This XSD design 'choice' doesn't allow for errors/warnings
and data to be
returned (just one or the other). This is broken. It doesn't
allow for the 'ignore-error' error-option in the
<edit-config> operation.
I think this XSD is more what we wanted when we designed the
<edit-config>
operation:
<xs:complexType name="rpc-replyType">
<xs:choice>
<xs:element name="ok"/>
<xs:group ref="rpc-response"/>
</xs:choice>
<xs:attribute name="message-id" type="xs:string"
use="required"/>
</xs:complexType>
<xs:group name="rpc-response">
<xs:sequence>
<xs:element name="rpc-error"
type="rpc-errorType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="data" minOccurs="0"/>
</xs:sequence>
</xs:group>
Andy
--
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/>