Subject: [Netconf] Are namespaces required for extra <rpc> attributes?

From: Andy Bierman <[email-masked]>
Date: Sun, 7 Jul 2013 09:01:46 -0700

Hi,

According to my interpretation of the text and XSD in RFC 6241,
and the XSD definition of 'anyAttribute' and 'processContents',
the client is allowed to send extra attributes in the <rpc> element
even if the namespaces are not used:

        <rpc message-id="101"  foo="1" bar="purple"
            xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
         <some-method>
           <!-- method parameters here... -->
         </some-method>
       </rpc>

Is this interpretation correct?
Either way the next NETCONF update should clarify this detail in sec. 4.1.

RFC 6241:, sec 4.1, para 3:

   If additional attributes are present in an <rpc> element, a NETCONF
   peer MUST return them unmodified in the <rpc-reply> element.  This
   includes any "xmlns" attributes.

RFC 6241, XSD, page 81:

     <xs:complexType name="rpcType">
       <xs:sequence>
         <xs:element ref="rpcOperation"/>
       </xs:sequence>
       <xs:attribute name="message-id" type="messageIdType"
                     use="required"/>
       <!--
          Arbitrary attributes can be supplied with <rpc> element.
         -->
       <xs:anyAttribute processContents="lax"/>
     </xs:complexType>

http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#process_contents

   lax: If the item has a uniquely determined declaration available,
it must be ·valid·
   with respect to that definition, that is, ·validate· if you can,
don't worry if you can't.

Andy

---

From: Martin Bjorklund <[email-masked]>
Date: Tue, 23 Jul 2013 23:15:26 +0200 (CEST)

> Is this interpretation correct?

Yes this is also my interpretation; I also verified with xmllint just
to be sure.

> Either way the next NETCONF update should clarify this detail in

Ok.

> don't worry if you can't.

/martin

---

From: Kent Watsen <[email-masked]>
Date: Fri, 26 Jul 2013 05:14:07 +0000

I always saw this as a good thing, that the client could pass an opaque
and have it reliable returned to them, even if not namespaced.

Kent

On 7/23/13 5:15 PM, "Martin Bjorklund" <[email-masked]> wrote:

>_______________________________________________
>Netconf mailing list
>[email-masked]
>https://www.ietf.org/mailman/listinfo/netconf
>
>