Re: [YANG] import statement

Andy Bierman <ietf@andybierman.com> Sat, 03 May 2008 20:10 UTC

Return-Path: <yang-bounces@ietf.org>
X-Original-To: yang-archive@optimus.ietf.org
Delivered-To: ietfarch-yang-archive@core3.amsl.com
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6522A3A6BF2; Sat, 3 May 2008 13:10:14 -0700 (PDT)
X-Original-To: yang@core3.amsl.com
Delivered-To: yang@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D62113A6D25 for <yang@core3.amsl.com>; Sat, 3 May 2008 13:10:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.651
X-Spam-Level:
X-Spam-Status: No, score=-0.651 tagged_above=-999 required=5 tests=[AWL=-0.029, BAYES_00=-2.599, IP_NOT_FRIENDLY=0.334, RCVD_IN_NJABL_PROXY=1.643]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OE+RG7Y-DGCX for <yang@core3.amsl.com>; Sat, 3 May 2008 13:09:59 -0700 (PDT)
Received: from smtp120.sbc.mail.sp1.yahoo.com (smtp120.sbc.mail.sp1.yahoo.com [69.147.64.93]) by core3.amsl.com (Postfix) with SMTP id 31D563A6E7E for <yang@ietf.org>; Sat, 3 May 2008 13:09:31 -0700 (PDT)
Received: (qmail 8283 invoked from network); 3 May 2008 20:09:32 -0000
Received: from unknown (HELO ?127.0.0.1?) (andybierman@att.net@67.127.166.23 with plain) by smtp120.sbc.mail.sp1.yahoo.com with SMTP; 3 May 2008 20:09:31 -0000
X-YMail-OSG: 09aR954VM1l7yLt9PcUhN660lvgycRER1iUrdC6SIBWupFijd3savQx75kcPUNA0UT8FJzJQHq.6EV6Tx1.WLzSwWT8w4Y9qrbcFK5weT3DIyzk8hVdeA39LCCb3sPCOBot4vbzlbJ0GiJuspe.RuJo3
X-Yahoo-Newman-Property: ymail-3
Message-ID: <481CC679.5060609@andybierman.com>
Date: Sat, 03 May 2008 13:09:29 -0700
From: Andy Bierman <ietf@andybierman.com>
User-Agent: Thunderbird 2.0.0.14 (Windows/20080421)
MIME-Version: 1.0
To: Ladislav Lhotka <lhotka@cesnet.cz>
References: <1209812833.14759.12.camel@missotis> <20080503120217.GA24899@elstar.local> <1209823237.14759.24.camel@missotis> <20080503143205.GA24972@elstar.local> <1209828663.14759.40.camel@missotis> <20080503165826.GA25223@elstar.local> <1209837819.14759.48.camel@missotis>
In-Reply-To: <1209837819.14759.48.camel@missotis>
Cc: yang@ietf.org
Subject: Re: [YANG] import statement
X-BeenThere: yang@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: YANG modeling Language for NETCONF <yang.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/yang>
List-Post: <mailto:yang@ietf.org>
List-Help: <mailto:yang-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Sender: yang-bounces@ietf.org
Errors-To: yang-bounces@ietf.org

Ladislav Lhotka wrote:
> Juergen Schoenwaelder píše v So 03. 05. 2008 v 18:58 +0200:
>> On Sat, May 03, 2008 at 05:31:03PM +0200, Ladislav Lhotka wrote:
>>> Juergen Schoenwaelder p????e v So 03. 05. 2008 v 16:32 +0200:
>>>
>>>> There are also examples. An augment of foo-cont simply sticks nodes
>>>> into the foo-cont container; there is no new instantiation of
>>>> foo-cont.
>>>>
>>> Example on pages 82 and 83 contradicts what you are saying: the augment
>>> statement in namespace http://example.com/schema/ds0 takes the schema
>>> subtree defined by "container interfaces" in namespace
>>> http://example.com/schema/interfaces, augments it and effectively places
>>> the result at the spot of the augment statement in the
>>> http://example.com/schema/ds0 namespace.
>> I don't see the contradiction.
>>
>>      augment "/if:interfaces/if:ifEntry" {
>>          when "if:ifType='ds0'";
>>          leaf ds0ChannelNumber {
>>              type ChannelNumber;
>>          }
>>      }
>>
>> This augment introduces a leaf ds0:ds0ChannelNumber that appears under
>> /if:interfaces/if:ifEntry and this is what the example shows. There
>> is no new instantiation of /if:interfaces/if:ifEntry.
> 
> Assume a device that supports the data model as in the XML snippet on
> page 83. Which of the two namespace URIs will it advertise in the hello
> message? 


Both namespaces.
Maybe it is easier to visualize in XML (NETCONF edit-config PDU):

<rpc message-id="101"
   xmlns="netconf-base-URI"
   xmlns:nc="netconf-base-URI"
   xmlns:if="IF-MIB-URI"
   xmlns:ds0="DS0-MIB-URI">
  <edit-config>
   <target><running/></target>
   <default-operation>none</default-operation>
   <test-option>test-then-set</test-option>
   <error-option>rollback-on-error</error-option>
   <config>
     <if:interfaces>
       <if:ifEntry>
         <if:ifIndex>17</if:ifIndex>
         <ds0:ds0ChannelNumber nc:operation="replace">
           1
         </ds0:ds0ChannelNumber>
       </if:ifEntry>
     </if:interfaces>
   </config>
  </edit-config>
</rpc>


I assume it is http://example.com/schema/ds0. Where is the
> <interfaces> block then instantiated if the import statement just makes
> the identifiers from http://example.com/schema/interfaces accessible and
> the augment statement doesn't do it?
> 
> Lada
> 
>> /js
>>

Andy

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