Re: [YANG] import statement

Martin Bjorklund <mbj@tail-f.com> Sat, 03 May 2008 19:11 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 EE77D3A6877; Sat, 3 May 2008 12:11:11 -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 C7C9F3A6CFA for <yang@core3.amsl.com>; Sat, 3 May 2008 12:11:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.442
X-Spam-Level:
X-Spam-Status: No, score=-0.442 tagged_above=-999 required=5 tests=[AWL=0.053, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1]
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 D8EdGc+iLZEi for <yang@core3.amsl.com>; Sat, 3 May 2008 12:11:02 -0700 (PDT)
Received: from mail.tail-f.com (unknown [213.180.94.162]) by core3.amsl.com (Postfix) with ESMTP id 0CA313A69FF for <yang@ietf.org>; Sat, 3 May 2008 12:11:02 -0700 (PDT)
Received: from localhost (c213-100-166-13.swipnet.se [213.100.166.13]) by mail.tail-f.com (Postfix) with ESMTP id 0226D1B80C7; Sat, 3 May 2008 21:10:55 +0200 (CEST)
Date: Sat, 03 May 2008 21:10:49 +0200
Message-Id: <20080503.211049.33022544.mbj@tail-f.com>
To: lhotka@cesnet.cz
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <1209840281.14759.57.camel@missotis>
References: <1209828663.14759.40.camel@missotis> <481C9D3E.1050602@andybierman.com> <1209840281.14759.57.camel@missotis>
X-Mailer: Mew version 5.2.52 on Emacs 22.1 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
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 <lhotka@cesnet.cz> wrote:
> 
> Andy Bierman píše v So 03. 05. 2008 v 10:13 -0700:
> > It's a bit tricky.
> > Augment puts nodes from the augmenting namespace and
> > puts it 'someplace else', which could be the same namespace.
> > 
> > The uses-stmt takes nodes from 'somewhere else' and puts them 'here',
> > in the namespace for 'here'.
> 
> That's all right, but I still think one can imagine the augment
> statement to be replaced by the content of its target node (augmented as
> specified) and said content keeps its original namespace. If it is not
> so, then I am seriously confused and don't really know why augment can
> appear in different places in the schema tree (under module, container
> and list).

"augment" just extends some other data model, identified by the target
node.  This target node expression can be absolute or relative
(descendant form).  When augment appears under container or list, the
descendant form must be used.  It will extend the current data model
in the same module.  The use case is this:

 
   module foo {
     grouping bar {
       container baz { ... }
     }
   }

   module x { 
     container y {
       uses foo:bar;      // adds nodes from the bar grouping into my module
       augment baz {      // augment the new nodes with stuff
         ...
       }
     }
   }


In this example the relative augment could be replaced by a slightly
more verbose top-level augment, but in the following case it's not as
easy:

   module z {
     grouping zz {
       uses foo:bar;
       augment baz {
         ...
       }
     }
   }



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