> On 24 Nov 2016, at 11:05, wangzitao <wangzi...@huawei.com> wrote:
> 
> Hi Lada,
> 
> Look at below examples, 
> 
> module ietf-test {
>   namespace "urn:ietf:params:xml:ns:yang:ietf-test";
>   prefix itest;
>       
>       import ietf-interfaces {
>    prefix if;
>    }
> 
>       augment "/if:interfaces/if:interface"{
>         list A{
>          key "a";
>          leaf a{
>           type string;
>          }
>         }
>        }
>        grouping B{
>         leaf b{
>          type leafref{
>           path "/if:interfaces/if:interface/A/a";
>          }
>         }
>        }
>        
> }
> 
> module ietf-foo {
>     namespace "urn:ietf:params:xml:ns:yang:ietf-foo";
>     prefix foo;
>       
>       import ietf-test{
>       prefix itest;
>       }
>                
>    container C{
>        uses itest:B;
>       }
>        
> }
> 
> when I run the "ietf-foo" module, the "current module's prefix" is "foo" and 
> I receive a error report: .\ietf-test.yang:32: error:ietf-foo:A in the path 
> for b at ietf-foo.yang:23 (at

OK, so how do you define "current module"?

Lada

> .\ietf-test.yang:30) is not found.
> I believe it means, the path "/if:interfaces/if:interface/A/a" in module 
> "ietf-foo" is equal to "/if:interfaces/if:interface/foo:A/foo:a"
> 
> -Michael
> 
> -----邮件原件-----
> 发件人: Ladislav Lhotka [mailto:lho...@nic.cz] 
> 发送时间: 2016年11月24日 17:40
> 收件人: wangzitao
> 抄送: NETMOD WG
> 主题: Re: [netmod] default namespace in XPath
> 
> 
>> On 24 Nov 2016, at 10:33, wangzitao <wangzi...@huawei.com> wrote:
>> 
>> Hi Lada,
>> 
>> In my understanding, it means to equal to current module's prefix.
> 
> No, it is not, because if the expression appears inside a grouping, then the 
> next sentence of the same bullet says "that namespace is affected by where 
> the grouping is used".
> 
> Lada
> 
>> For example: 
>> 
>> module ietf-foo {
>>    namespace "urn:ietf:params:xml:ns:yang:ietf-foo";
>>    prefix foo;
>>      
>>      import ietf-interfaces {
>>   prefix if;
>>   }
>>      
>>   .....
>> 
>>       augment "/if:interfaces/if:interface"{
>>        list A{
>>         key "a";
>>         leaf a{
>>          type string;
>>         }
>>        }
>>       }
>>       
>>       list B{
>>        key "b";
>>        leaf b{
>>         type leafref{
>>          path "/if:interfaces/if:interface/A/a";
>>         }
>>        }
>>       }
>>       
>> }
>> 
>> In above example, the path "/if:interfaces/if:interface/A/a" equal to 
>> "/if:interfaces/if:interface/foo:A/foo:a".
>> 
>> BR!
>> -Michael
>> 
>> -----邮件原件-----
>> 发件人: netmod [mailto:netmod-boun...@ietf.org] 代表 Ladislav Lhotka
>> 发送时间: 2016年11月24日 17:14
>> 收件人: NETMOD WG
>> 主题: [netmod] default namespace in XPath
>> 
>> Hi,
>> 
>> second bullet in sec. 6.4.1 of RFC 7950 says:
>> 
>>   Names without a namespace prefix belong to the same namespace as the 
>> identifier of the current node.
>> 
>> But what is the current node? Is it the same as the result of the current() 
>> function or, if we have
>> 
>>   "/x:foo/bar"
>> 
>> is the namespace of "bar" the one corresponding to prefix "x"?
>> 
>> Lada
>> 
>> --
>> Ladislav Lhotka, CZ.NIC Labs
>> PGP Key ID: E74E8C0C
>> 
>> 
>> 
>> 
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
> 
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
> 
> 
> 
> 

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C




_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to