Jernej Tuljak <[email protected]> wrote:
> Martin Bjorklund je 25.11.2015 ob 11:16 napisal:
> > Ladislav Lhotka <[email protected]> wrote:
> >> Hi,
> >>
> >> I'd like to resolve this issue. Here is a complete example (valid, I
> >> believe):
> >>
> >> module context {
> >> namespace "http://example.com/context";
> >> prefix ctx;
> >>
> >> leaf foo {
> >> config false;
> >> type uint32;
> >> }
> >> rpc oper {
> >> output {
> >> must "/foo mod foo = 0";
> >> leaf foo {
> >> type uint32;
> >> }
> >> }
> >> }
> >> }
> >>
> >> 1. What does the accessible tree look like?
> > Note that the anser to this depends on the outcomne of Y04. Andy has
> > strong objections to Y04-02, and proposed Y04-04 instead.
> >
> > Assuming Y04-02, and assuming /foo has the value 20 and the oper rpc's
> > result has foo = 10, the accessible tree would look like this:
> >
> > <root>
> > +-- oper
> > | +-- foo = 10
> > +-- foo = 20
> >
> >
> > (If we instead move back to Y04-04, the accessible tree would be:
> >
> > <root>
> > +-- oper
> > +-- foo = 10
> >
> > )
> >
> >> 2. What is the context node for the "must" expression?
> > /oper
>
> This change to the accessible tree (1.0 --> 1.1) may break some
> existing "when" XPath expressions (those under "output" statement).
Maybe. The old text said:
o If the context node represents RPC output parameters, the tree is
the RPC reply instance document.
So this probably meant that for this definition:
module ex {
...
prefix x;
...
rpc foo {
output {
leaf bar { ... }
}
}
}
The accessile tree was:
nc:rpc-reply
+-- x:bar
This is very NETCONF-specifc. With 1.1, the tree would be:
x:foo
+-- x:bar
which is protocol-neutral.
> Is
> this compatible with 1.1 charter - "All compliant YANG 1.0 modules
> must be accepted as compliant YANG 1.1 modules"?
>
> rpc my-rpc {
> output {
> uses my-stuff {
> when "specific-param = 'foo'";// 1.0
> // when "my-rpc/specific-param = 'foo'" // 1.1
This is not correct. If a relative path is used, it would be the same
in 1.0 and 1.1.
If an absolute path is used, it would be:
when "/nc:rpc-reply/x:specific-param = 'foo'"; // 1.0
when "/x:my-rpc/x:specific-param = 'foo'"; // 1.1
I wonder if any implementation of 1.0 supports this absolute form.
/martin
> }
> leaf specific-param {
> type string;
> }
> }
> }
>
> Jernej
>
> >
> > /martin
> >
> >
> >
> >> Thanks, Lada
> >>
> >> Martin Bjorklund <[email protected]> writes:
> >>
> >>> Ladislav Lhotka <[email protected]> wrote:
> >>>> Hi,
> >>>>
> >>>> Y02-01 allows "must" as a substatement of "input", "output" and
> >>>> "notification" but for these cases the specification of the context
> >>>> node in sec. 7.5.3 doesn't work.
> >>>>
> >>>> o The context node is the node in the accessible tree for which the
> >>>> "must" statement is defined.
> >>> You are right. But note how the accessible tree is defined. There is
> >>> a node for the operation / notification. This node should be the
> >>> context node:
> >>>
> >>> o If the "must" statement is a substatement of a "notification"
> >>> statement, the context node is the node representing the
> >>> notification in the accessible tree.
> >>>
> >>> o If the "must" statement is a substatement of a "input"
> >>> statement, the context node is the node representing the
> >>> operation in the accessible tree.
> >>>
> >>> o If the "must" statement is a substatement of a "output"
> >>> statement, the context node is the node representing the
> >>> operation in the accessible tree.
> >>>
> >>>
> >>> /martin
> >> --
> >> Ladislav Lhotka, CZ.NIC Labs
> >> PGP Key ID: E74E8C0C
> >>
> > _______________________________________________
> > netmod mailing list
> > [email protected]
> > https://www.ietf.org/mailman/listinfo/netmod
> >
>
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod