1<?xml version="1.0" encoding="UTF-8"?>
2<module name="all"
3        xmlns="urn:ietf:params:xml:ns:yang:yin:1"
4        xmlns:all_mod="urn:all"
5        xmlns:all_imp="urn:all-imp">
6  <yang-version value="1.1"/>
7  <namespace uri="urn:all"/>
8  <prefix value="all_mod"/>
9  <import module="all-imp">
10    <prefix value="all_imp"/>
11  </import>
12  <revision date="2016-05-23"/>
13  <revision date="2016-05-22"/>
14  <feature name="feat1">
15    <if-feature name="feat2"/>
16    <status value="obsolete"/>
17  </feature>
18  <feature name="feat2"/>
19  <feature name="feat3"/>
20  <identity name="ident2">
21    <base name="ident1"/>
22  </identity>
23  <identity name="ident1"/>
24  <typedef name="tdef1">
25    <type name="tdef2">
26      <length value="3..9 | 30..40"/>
27      <pattern value="[ac]*"/>
28    </type>
29    <units name="none"/>
30    <default value="aaa"/>
31  </typedef>
32  <typedef name="tdef2">
33    <type name="string">
34      <length value="2..10 | 20..50"/>
35      <pattern value="[ab]*"/>
36    </type>
37  </typedef>
38  <grouping name="group1">
39    <leaf name="leaf1">
40      <type name="int8"/>
41    </leaf>
42  </grouping>
43  <container name="cont1">
44    <leaf name="leaf2">
45      <if-feature name="feat1"/>
46      <type name="int16"/>
47      <status value="obsolete"/>
48    </leaf>
49    <uses name="group1">
50      <if-feature name="feat2"/>
51      <refine target-node="leaf1">
52        <if-feature name="feat3"/>
53        <must condition="24 - 4 = number('20')"/>
54        <default value="25"/>
55        <config value="true"/>
56        <mandatory value="false"/>
57        <description>
58          <text>dsc</text>
59        </description>
60        <reference>
61          <text>none</text>
62        </reference>
63      </refine>
64    </uses>
65    <leaf name="leaf3">
66      <type name="int32"/>
67    </leaf>
68    <leaf name="leaf4">
69      <type name="int64">
70        <range value="1000 .. 50000">
71          <error-message>
72            <value>Special error message.</value>
73          </error-message>
74          <error-app-tag value="special-tag"/>
75        </range>
76      </type>
77    </leaf>
78    <leaf name="leaf5">
79      <type name="uint8"/>
80    </leaf>
81    <leaf name="leaf6">
82      <type name="uint16"/>
83    </leaf>
84    <leaf name="leaf7">
85      <type name="uint32"/>
86    </leaf>
87    <leaf name="leaf8">
88      <type name="uint64"/>
89    </leaf>
90    <choice name="choic1">
91      <default value="leaf9b"/>
92      <leaf name="leaf9a">
93        <type name="decimal64">
94          <fraction-digits value="9"/>
95        </type>
96      </leaf>
97      <leaf name="leaf9b">
98        <type name="boolean"/>
99        <default value="false"/>
100      </leaf>
101    </choice>
102    <leaf name="leaf10">
103      <type name="boolean"/>
104    </leaf>
105    <leaf name="leaf11">
106      <type name="enumeration">
107        <enum name="one"/>
108        <enum name="two"/>
109        <enum name="five">
110          <value value="5"/>
111        </enum>
112      </type>
113    </leaf>
114    <leaf name="leaf12">
115      <type name="bits">
116        <bit name="flag0">
117          <position value="0"/>
118        </bit>
119        <bit name="flag1"/>
120        <bit name="flag2">
121          <position value="2"/>
122        </bit>
123        <bit name="flag3">
124          <position value="3"/>
125        </bit>
126      </type>
127      <default value="flag0 flag3"/>
128    </leaf>
129    <leaf name="leaf13">
130      <type name="binary"/>
131    </leaf>
132    <leaf name="leaf14">
133      <type name="leafref">
134        <path value="/cont1/leaf17"/>
135      </type>
136    </leaf>
137    <leaf name="leaf15">
138      <type name="empty"/>
139    </leaf>
140    <leaf name="leaf16">
141      <type name="union">
142        <type name="instance-identifier">
143          <require-instance value="true"/>
144        </type>
145        <type name="int8"/>
146      </type>
147    </leaf>
148    <list name="list1">
149      <key value="leaf18"/>
150      <unique tag="leaf19"/>
151      <min-elements value="1"/>
152      <max-elements value="20"/>
153      <leaf name="leaf18">
154        <type name="string"/>
155      </leaf>
156      <leaf name="leaf19">
157        <type name="uint32"/>
158      </leaf>
159      <anyxml name="axml1"/>
160      <action name="act1">
161        <input>
162          <leaf name="leaf24">
163            <type name="string"/>
164          </leaf>
165        </input>
166        <output>
167          <leaf name="leaf25">
168            <type name="string"/>
169          </leaf>
170        </output>
171      </action>
172      <notification name="notif1">
173        <leaf name="leaf26">
174          <type name="string"/>
175        </leaf>
176      </notification>
177    </list>
178    <leaf-list name="llist1">
179      <type name="tdef1"/>
180      <ordered-by value="user"/>
181    </leaf-list>
182    <list name="list2">
183      <key value="leaf27 leaf28"/>
184      <leaf name="leaf27">
185        <type name="uint8"/>
186      </leaf>
187      <leaf name="leaf28">
188        <type name="uint8"/>
189      </leaf>
190    </list>
191    <leaf name="leaf29">
192      <type name="instance-identifier"/>
193    </leaf>
194    <container name="must-deviations-container">
195      <presence value="Allows deviations on the leaf"/>
196      <leaf name="leaf30">
197        <type name="string"/>
198      </leaf>
199    </container>
200    <leaf name="leaf23">
201      <type name="empty"/>
202    </leaf>
203  </container>
204  <augment target-node="/cont1">
205    <leaf name="leaf17">
206      <type name="identityref">
207        <base name="all_imp:ident4"/>
208      </type>
209      <must condition="../leaf17 = 'all_imp:ident5'"/>
210    </leaf>
211  </augment>
212  <rpc name="rpc1">
213    <input>
214      <leaf name="leaf20">
215        <type name="tdef1"/>
216      </leaf>
217    </input>
218    <output>
219      <container name="cont2">
220        <leaf name="leaf21">
221          <type name="empty"/>
222        </leaf>
223      </container>
224    </output>
225  </rpc>
226  <notification name="notif1">
227    <leaf name="leaf22">
228      <type name="empty"/>
229    </leaf>
230  </notification>
231</module>
232