YANG model parser refactoring
[controller.git] / opendaylight / sal / yang-prototype / code-generator / yang-model-parser-impl / src / test / resources / model / testfile2.yang
1 module types2 {\r
2     yang-version 1;\r
3     namespace "urn:simple.types.data.demo";\r
4     prefix "t2";\r
5     \r
6     import types1 {\r
7          prefix "if";\r
8          revision-date 2013-02-27;\r
9      }\r
10 \r
11     organization "Cisco";\r
12     contact "WILL-BE-DEFINED-LATER";\r
13     description "This is types-data test description";\r
14 \r
15     revision "2013-02-27" {\r
16         reference " WILL BE DEFINED LATER";\r
17     }\r
18     \r
19     typedef ranges1 {\r
20         type int32 {\r
21                 range "10..20";\r
22         }\r
23     }\r
24     \r
25     typedef ranges2 {\r
26         type ranges1 {\r
27                 range "12..max";\r
28         }\r
29     }\r
30     \r
31     typedef my-base-int32-type {\r
32         type int32 {\r
33             range "2..20";\r
34         }\r
35     }\r
36 \r
37      typedef my-type1 {\r
38          type my-base-int32-type {\r
39             range "11..max";\r
40         }\r
41     }\r
42     \r
43     typedef my-string-type {\r
44         type my-custom-string {\r
45             pattern "[a-k]*";\r
46             length "5..10";\r
47         }\r
48     }\r
49     \r
50     typedef my-custom-string {\r
51         type string {\r
52             pattern "[a-k]*";\r
53             length "5..11";\r
54         }\r
55     }\r
56     \r
57     typedef my-string-type2 {\r
58         type my-string-type {\r
59             pattern "[b-u]*";\r
60         }\r
61     }\r
62     \r
63     typedef my-string-type-ext {\r
64         type my-string-type2 {\r
65             pattern "[e-z]*";\r
66         }\r
67     }\r
68     \r
69     typedef my-int-type {\r
70         type int32 {\r
71             range "10..20";\r
72         }\r
73     }\r
74     \r
75     typedef my-int-type2 {\r
76         type my-int-type {\r
77             range "12..18";\r
78         }\r
79     }\r
80     \r
81     typedef my-int-type-ext {\r
82         type my-int-type2 {\r
83             range "14..16";\r
84         }\r
85     }\r
86     \r
87     typedef my-decimal-type {\r
88         type decimal64 {\r
89             fraction-digits 6;\r
90         }\r
91     }\r
92     \r
93     typedef my-decimal-type-ext {\r
94         type decimal64 {\r
95             fraction-digits 5;\r
96         }\r
97     }\r
98 \r
99     augment "/if:interfaces/if:ifEntry" {\r
100         when "if:ifType='ds0'";\r
101         leaf ds0ChannelNumber {\r
102             type string;\r
103         }\r
104     }\r
105 \r
106     leaf if-name {\r
107         type leafref {\r
108             path "/interface/name";\r
109         }\r
110     }\r
111      \r
112     leaf name {\r
113         type string;\r
114     }\r
115      \r
116     leaf nested-type-leaf {\r
117         type my-type1;\r
118     }\r
119     \r
120     extension c-define {\r
121         description\r
122         "Takes as argument a name string.\r
123         Makes the code generator use the given name in the\r
124         #define.";\r
125         argument "name" {\r
126             yin-element "true";\r
127         }\r
128     }\r
129 \r
130 }\r