Subject: [netconf] Order of elements in an input/output

From: Michal Vaško <[email-masked]>
Date: Tue, 30 Mar 2021 10:45:55 +0200

Hi,

there seem to be 2 contradictory requirements for the order of input/output elements in a NETCONF message. It should be ordered [1] but augments can be applied in any order [2]. The only way to satisfy both requirements seem to be to enforce the order of base input/output elements but not for elements from augments. Is this interpretation correct?

Regards,
Michal

[1] https://tools.ietf.org/html/rfc7950#section-7.14.4
[2] https://tools.ietf.org/html/rfc7950#section-7.17.2

---

From: Ladislav Lhotka <[email-masked]>
Date: Tue, 30 Mar 2021 11:13:33 +0200

Michal Vaško <[email-masked]> writes:

> Hi,
>
> there seem to be 2 contradictory requirements for the order of
> input/output elements in a NETCONF message. It should be ordered [1]
> but augments can be applied in any order [2]. The only way to
> satisfy both requirements seem to be to enforce the order of base
> input/output elements but not for elements from augments. Is this
> interpretation correct?

One way to satisfy both requirements is to implement it as the interleave pattern in RELAX NG, the effects are described here:

http://books.xmlschemata.org/relaxng/relax-CHP-6-SECT-7.html

This means that parameters defined in place (inside the input/output statement) would have fixed order, and those defined in augments would have arbitrary order, and could also be intermingled with the in-place parameters.

This may possibly defeat the purpose of the fixed order though. On the other hand, I am not sure that this CLR is really needed - in JSON representation it cannot be enforced anyway.

Lada

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

-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67