Bug 3874: Support of yang modeled AnyXML - XML deserialization
[yangtools.git] / yang / yang-data-impl / src / test / resources / anyxml-support / yang / yang-ext.yang
1 module yang-ext {
2     yang-version 1;
3     namespace "urn:opendaylight:yang:extension:yang-ext";
4     prefix "ext";
5
6     contact "Anton Tkacik <ttkacik@cisco.com>";
7
8     description
9         "Copyright (c) 2013 Cisco Systems, Inc. and others. All rights
10         reserved. This program and the accompanying materials are made
11         available under the terms of the Eclipse Public License v1.0 which
12         accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html";
13
14     revision "2013-07-09" {
15         description "";
16     }
17
18     // Augmentation name
19
20     extension "augment-identifier" {
21         description
22                 "YANG language extension which assigns an identifier to augmentation.
23                 Augment identifier is used to identify specific augment statement
24                 by name. The identifier syntax is defined formally defined by
25                 the rule 'identifier' in Section 12 of RFC 6020. All augment identifiers
26                 defined in a namespace MUST be unique. The namespace of augment
27                 identifiers is shared by module and its submodules.";
28
29         /*
30                 Discussion:
31                 This extension allows for ease of development / debug
32                 of YANG modules and it is suitable for code generation,
33                 where each augment statement is nicely identified by
34                 unique name instead of combination of augment target
35                 and when condition. 
36             */
37         argument "identifier";
38     }
39
40     // Context-aware RPCs
41
42     grouping rpc-context-ref {
43         description
44                 "A reference to RPC context.";
45         leaf context-instance {
46             type instance-identifier;
47             description "Pointer to the context. ";
48         }
49     }
50
51     extension "rpc-context-instance" {
52         description
53                 "YANG language extension which defines enclosing (parent) schema
54                 node as referencable context for RPCs. The argument is identity
55                 which is used to identify RPC context type.";
56
57         argument "context-type";
58     }
59
60     extension "context-reference" {
61         argument "context-type";
62     }
63
64     extension "context-instance" {
65         argument "context-type";
66     }
67
68     extension "instance-target" {
69         argument "path";
70     }
71
72     extension "anyxml-schema-location" {
73         argument "target-node";
74     }
75 }