If a schema node is replaced by another node during the development of the module it is sometimes useful to formally indicate the replacement node.
While in some cases the replacement is not simple and involves changes to functionality, in there are a significant number of cases where the replacement is relatively straightforward.
A formaly defined replacement can be used for
automatic replacement of the node by SW driven automation. This case needs a replacement node that is really the equivalent of the old node. E.g. after just changing the name of a node
driving a management CLI or GUI to instruct the human user to use the new node instead of the old one. Here even some functional changes can be acceptable as the human user will check the usage of the replacement node
A new extension is proposed:
extension replaced-by {
description
"Indicates that the data node is functionaly replaced by another
data node.
The current data node still exists and is usable unless specified
otherwise in the status statement. This node and its replacement
MAY mirror the same or different underlying values.
The argument MUST contain an absolute schema node identifier
specifying the replacement data node.
The statement MUST only be a substatement of a leaf, leaf-list,
list, container, anydata or anyxml statement.
Zero or one replaced-by statement is allowed per parent statement.
NO substatements are allowed.";
Adding, removing or modifying a replaced-by statement is a
backwards-compatible change.";
If a schema node is replaced by another node during the development of the module it is sometimes useful to formally indicate the replacement node. While in some cases the replacement is not simple and involves changes to functionality, in there are a significant number of cases where the replacement is relatively straightforward. A formaly defined replacement can be used for
driving a management CLI or GUI to instruct the human user to use the new node instead of the old one. Here even some functional changes can be acceptable as the human user will check the usage of the replacement node A new extension is proposed:
extension replaced-by { description "Indicates that the data node is functionaly replaced by another data node. The current data node still exists and is usable unless specified otherwise in the status statement. This node and its replacement MAY mirror the same or different underlying values.
The argument MUST contain an absolute schema node identifier specifying the replacement data node.
The statement MUST only be a substatement of a leaf, leaf-list, list, container, anydata or anyxml statement. Zero or one replaced-by statement is allowed per parent statement. NO substatements are allowed.";
Adding, removing or modifying a replaced-by statement is a backwards-compatible change.";
argument "replacement-node"; }