Hi, This comment from the Gen-ART review deserves it's own thread.
gen-art> - section 9.9 gen-art> gen-art> The leafref type is used to declare a constraint on the value space gen-art> of a leaf, based on a reference to a set of leaf instances in the gen-art> data tree. The "path" substatement (Section 9.9.2) selects a set of gen-art> leaf instances, and the leafref value space is the set of values of gen-art> these leaf instances. gen-art> gen-art> The first sentence isn't quite right. Perhaps: gen-art> gen-art> The value space of a leaf with leafref type is one of the values of gen-art> a set of leaf instances in the data tree. The "path" substatement gen-art> (Section 9.9.2) selects the set of leaf instances, and the leafref gen-art> value space is the set of values of these leaf instances. gen-art> gen-art> - section 9.9.3 gen-art> gen-art> If "require-instance" is "true", it means that the instance being gen-art> referred MUST exist for the data to be valid. This constraint is gen-art> enforced according to the rules in Section 8. gen-art> gen-art> If "require-instance" is "false", it means that the instance being gen-art> referred MAY exist in valid data. gen-art> [...] gen-art> Also, I think the second paragraph means that if require-instance is gen-art> false, the referred-to instance need not exist. But it's not clear to gen-art> me what that would mean -- if there are no instances referenced by the gen-art> XPath expression, then the set of value values of the leafref would be gen-art> empty and the leafref would necessarily be invalid. ... I think these gen-art> paragraphs need to be expanded in some way. mbj> Right; so what we want to say is: mbj> mbj> - the value space is the same as the value space of the referred mbj> leaf mbj> mbj> - there is an additional constraint if require-instance is true that mbj> the referred to leaf instance must exist mbj> mbj> How about mbj> mbj> OLD: mbj> mbj> The leafref type is used to declare a constraint on the value space mbj> of a leaf, based on a reference to a set of leaf instances in the mbj> data tree. The "path" substatement (Section 9.9.2) selects a set of mbj> leaf instances, and the leafref value space is the set of values of mbj> these leaf instances. mbj> mbj> If the leaf with the leafref type represents configuration data, and mbj> the "require-instance" property (Section 9.9.3) is "true", the leaf mbj> it refers to MUST also represent configuration. Such a leaf puts a mbj> constraint on valid data. All such nodes MUST reference existing mbj> leaf instances or leafs with default values in use (see Section 7.6.1 mbj> and Section 7.7.2) for the data to be valid. This constraint is mbj> enforced according to the rules in Section 8. mbj> mbj> NEW: mbj> mbj> The leafref type is used to declare a constraint on the value space mbj> of a leaf, based on a reference to a set of leaf instances in the mbj> data tree. The "path" substatement (Section 9.9.2) is used to refer mbj> to another leaf node. The leafref value space is the value space of mbj> this leaf node. mbj> mbj> If the "require-instance" property is "true", there MUST exist an mbj> instance, or a leaf with a default value in use (see Section 7.6.1 mbj> and Section 7.7.2), of the leaf being referred to with the same value mbj> as the leafref value in a valid data tree. mbj> mbj> If the leaf with the leafref type represents configuration data, and mbj> the "require-instance" property (Section 9.9.3) is "true", the leaf mbj> it refers to MUST also represent configuration. Does anyone have comments on this proposal? /martin _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
