1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE xsd:schema SYSTEM "http://www.w3.org/2001/XMLSchema.dtd">
4 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
7 - The top-level element.
11 <xsd:element name="smi">
14 <xsd:element ref="module"/>
15 <xsd:element ref="imports" minOccurs="0" maxOccurs="unbounded"/>
16 <xsd:element ref="typedefs" minOccurs="0" maxOccurs="unbounded"/>
17 <xsd:element ref="nodes" minOccurs="0" maxOccurs="unbounded"/>
18 <xsd:element ref="notifications" minOccurs="0" maxOccurs="unbounded"/>
19 <xsd:element ref="groups" minOccurs="0" maxOccurs="unbounded"/>
20 <xsd:element ref="compliances" minOccurs="0" maxOccurs="unbounded"/>
30 <xsd:element name="description">
32 <xsd:restriction base="xsd:string"/>
36 <xsd:element name="reference">
38 <xsd:restriction base="xsd:string"/>
42 <xsd:element name="format">
44 <xsd:restriction base="xsd:string"/>
48 <xsd:element name="units">
50 <xsd:restriction base="xsd:string"/>
54 <xsd:element name="default">
56 <xsd:restriction base="xsd:string"/>
60 <xsd:element name="access">
62 <xsd:restriction base="xsd:string">
63 <xsd:enumeration value="noaccess"/>
64 <xsd:enumeration value="notifyonly"/>
65 <xsd:enumeration value="readonly"/>
66 <xsd:enumeration value="readwrite"/>
71 <xsd:element name="range">
73 <xsd:attribute name="min" type="xsd:integer" use="required"/>
74 <xsd:attribute name="max" type="xsd:integer" use="required"/>
78 <xsd:element name="namednumber">
80 <xsd:attribute name="name" type="xsd:string" use="required"/>
81 <xsd:attribute name="number" type="xsd:integer" use="required"/>
85 <xsd:element name="parent">
87 <xsd:attribute name="module" type="xsd:string" use="required"/>
88 <xsd:attribute name="name" type="xsd:string" use="required"/>
92 <xsd:element name="type">
94 <xsd:attribute name="module" type="xsd:string" use="required"/>
95 <xsd:attribute name="name" type="xsd:string" use="required"/>
99 <xsd:element name="syntax">
102 <xsd:element ref="type"/>
103 <xsd:element ref="typedef"/>
108 <xsd:element name="writesyntax">
111 <xsd:element ref="type"/>
112 <xsd:element ref="typedef"/>
117 <xsd:element name="linkage">
120 <xsd:element ref="index" minOccurs="1" maxOccurs="unbounded"/>
121 <xsd:element ref="augments"/>
122 <xsd:element ref="reorders"/>
123 <xsd:element ref="sparse"/>
124 <xsd:element ref="expands"/>
126 <xsd:attribute name="implied" default="false">
128 <xsd:restriction base="xsd:string">
129 <xsd:enumeration value="true"/>
130 <xsd:enumeration value="false"/>
137 <xsd:element name="index">
139 <xsd:attribute name="module" type="xsd:string" use="required"/>
140 <xsd:attribute name="name" type="xsd:string" use="required"/>
144 <xsd:element name="augments">
146 <xsd:attribute name="module" type="xsd:string" use="required"/>
147 <xsd:attribute name="name" type="xsd:string" use="required"/>
151 <xsd:element name="reorders">
153 <xsd:attribute name="module" type="xsd:string" use="required"/>
154 <xsd:attribute name="name" type="xsd:string" use="required"/>
158 <xsd:element name="sparse">
160 <xsd:attribute name="module" type="xsd:string" use="required"/>
161 <xsd:attribute name="name" type="xsd:string" use="required"/>
165 <xsd:element name="expands">
167 <xsd:attribute name="module" type="xsd:string" use="required"/>
168 <xsd:attribute name="name" type="xsd:string" use="required"/>
174 <xsd:element name="module">
177 <xsd:element ref="organization" minOccurs="0" maxOccurs="1"/>
178 <xsd:element ref="contact" minOccurs="0" maxOccurs="1"/>
179 <xsd:element ref="description" minOccurs="0" maxOccurs="1"/>
180 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
181 <xsd:element ref="revision" minOccurs="0" maxOccurs="unbounded"/>
182 <xsd:element ref="identity" minOccurs="0" maxOccurs="1"/>
184 <xsd:attribute name="name" type="xsd:string" use="required"/>
185 <xsd:attribute name="language" use="required">
187 <xsd:restriction base="xsd:string">
188 <xsd:enumeration value="SMIv1"/>
189 <xsd:enumeration value="SMIv2"/>
190 <xsd:enumeration value="SMIng"/>
197 <xsd:element name="organization">
199 <xsd:restriction base="xsd:string"/>
203 <xsd:element name="contact">
205 <xsd:restriction base="xsd:string"/>
209 <xsd:element name="revision">
212 <xsd:element ref="description"/>
214 <xsd:attribute name="date" type="xsd:string" use="required"/>
218 <xsd:element name="identity">
220 <xsd:attribute name="node" type="xsd:string" use="required"/>
224 <xsd:element name="imports">
227 <xsd:element ref="import" maxOccurs="unbounded"/>
232 <xsd:element name="import">
234 <xsd:attribute name="module" type="xsd:string" use="required"/>
235 <xsd:attribute name="name" type="xsd:string" use="required"/>
239 <xsd:element name="typedefs">
242 <xsd:element ref="typedef" maxOccurs="unbounded"/>
247 <xsd:element name="typedef">
250 <xsd:element ref="parent" minOccurs="0" maxOccurs="1"/>
251 <xsd:element ref="range" minOccurs="0" maxOccurs="unbounded"/>
252 <xsd:element ref="namednumber" minOccurs="0" maxOccurs="unbounded"/>
253 <xsd:element ref="default" minOccurs="0" maxOccurs="1"/>
254 <xsd:element ref="format" minOccurs="0" maxOccurs="1"/>
255 <xsd:element ref="units" minOccurs="0" maxOccurs="1"/>
256 <xsd:element ref="description" minOccurs="0" maxOccurs="1"/>
257 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
259 <xsd:attribute name="name" type="xsd:string" default=""/>
260 <xsd:attribute name="basetype" type="xsd:string" use="required"/>
261 <xsd:attribute name="status" default="current">
263 <xsd:restriction base="xsd:string">
264 <xsd:enumeration value="current"/>
265 <xsd:enumeration value="deprecated"/>
266 <xsd:enumeration value="obsolete"/>
267 <xsd:enumeration value="mandatory"/>
268 <xsd:enumeration value="optional"/>
275 <xsd:element name="nodes">
277 <xsd:choice maxOccurs="unbounded">
278 <xsd:element ref="node"/>
279 <xsd:element ref="scalar"/>
280 <xsd:element ref="table"/>
285 <xsd:element name="node">
288 <xsd:element ref="description" minOccurs="0" maxOccurs="1"/>
289 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
291 <xsd:attribute name="name" type="xsd:string" use="required"/>
292 <xsd:attribute name="oid" type="xsd:string" use="required"/>
293 <xsd:attribute name="status" default="current">
295 <xsd:restriction base="xsd:string">
296 <xsd:enumeration value="current"/>
297 <xsd:enumeration value="deprecated"/>
298 <xsd:enumeration value="obsolete"/>
299 <xsd:enumeration value="mandatory"/>
300 <xsd:enumeration value="optional"/>
307 <xsd:element name="scalar">
310 <xsd:element ref="syntax"/>
311 <xsd:element ref="access"/>
312 <xsd:element ref="default" minOccurs="0" maxOccurs="1"/>
313 <xsd:element ref="format" minOccurs="0" maxOccurs="1"/>
314 <xsd:element ref="units" minOccurs="0" maxOccurs="1"/>
315 <xsd:element ref="description"/>
316 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
318 <xsd:attribute name="name" type="xsd:string" use="required"/>
319 <xsd:attribute name="oid" type="xsd:string" use="required"/>
320 <xsd:attribute name="status" default="current">
322 <xsd:restriction base="xsd:string">
323 <xsd:enumeration value="current"/>
324 <xsd:enumeration value="deprecated"/>
325 <xsd:enumeration value="obsolete"/>
326 <xsd:enumeration value="mandatory"/>
327 <xsd:enumeration value="optional"/>
334 <xsd:element name="table">
337 <xsd:element ref="description"/>
338 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
339 <xsd:element ref="row"/>
341 <xsd:attribute name="name" type="xsd:string" use="required"/>
342 <xsd:attribute name="oid" type="xsd:string" use="required"/>
343 <xsd:attribute name="status" default="current">
345 <xsd:restriction base="xsd:string">
346 <xsd:enumeration value="current"/>
347 <xsd:enumeration value="deprecated"/>
348 <xsd:enumeration value="obsolete"/>
349 <xsd:enumeration value="mandatory"/>
350 <xsd:enumeration value="optional"/>
357 <xsd:element name="row">
360 <xsd:element ref="linkage"/>
361 <xsd:element ref="description"/>
362 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
363 <xsd:element ref="column" maxOccurs="unbounded"/>
365 <xsd:attribute name="name" type="xsd:string" use="required"/>
366 <xsd:attribute name="oid" type="xsd:string" use="required"/>
367 <xsd:attribute name="create" default="false">
369 <xsd:restriction base="xsd:string">
370 <xsd:enumeration value="true"/>
371 <xsd:enumeration value="false"/>
375 <xsd:attribute name="status" default="current">
377 <xsd:restriction base="xsd:string">
378 <xsd:enumeration value="current"/>
379 <xsd:enumeration value="deprecated"/>
380 <xsd:enumeration value="obsolete"/>
381 <xsd:enumeration value="mandatory"/>
382 <xsd:enumeration value="optional"/>
389 <xsd:element name="column">
392 <xsd:element ref="syntax"/>
393 <xsd:element ref="access"/>
394 <xsd:element ref="default" minOccurs="0" maxOccurs="1"/>
395 <xsd:element ref="format" minOccurs="0" maxOccurs="1"/>
396 <xsd:element ref="units" minOccurs="0" maxOccurs="1"/>
397 <xsd:element ref="description"/>
398 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
400 <xsd:attribute name="name" type="xsd:string" use="required"/>
401 <xsd:attribute name="oid" type="xsd:string" use="required"/>
402 <xsd:attribute name="status" default="current">
404 <xsd:restriction base="xsd:string">
405 <xsd:enumeration value="current"/>
406 <xsd:enumeration value="deprecated"/>
407 <xsd:enumeration value="obsolete"/>
408 <xsd:enumeration value="mandatory"/>
409 <xsd:enumeration value="optional"/>
416 <xsd:element name="notifications">
419 <xsd:element ref="notification" maxOccurs="unbounded"/>
424 <xsd:element name="notification">
427 <xsd:element ref="objects"/>
428 <xsd:element ref="description"/>
429 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
431 <xsd:attribute name="name" type="xsd:string" use="required"/>
432 <xsd:attribute name="oid" type="xsd:string" use="required"/>
433 <xsd:attribute name="status" default="current">
435 <xsd:restriction base="xsd:string">
436 <xsd:enumeration value="current"/>
437 <xsd:enumeration value="deprecated"/>
438 <xsd:enumeration value="obsolete"/>
439 <xsd:enumeration value="mandatory"/>
440 <xsd:enumeration value="optional"/>
447 <xsd:element name="objects">
450 <xsd:element ref="object" minOccurs="0" maxOccurs="unbounded"/>
455 <xsd:element name="object">
457 <xsd:attribute name="module" type="xsd:string" use="required"/>
458 <xsd:attribute name="name" type="xsd:string" use="required"/>
462 <xsd:element name="groups">
465 <xsd:element ref="group" maxOccurs="unbounded"/>
470 <xsd:element name="group">
473 <xsd:element ref="members"/>
474 <xsd:element ref="description"/>
475 <xsd:element ref="reference" minOccurs="0" maxOccurs="1"/>
477 <xsd:attribute name="name" type="xsd:string" use="required"/>
478 <xsd:attribute name="oid" type="xsd:string" use="required"/>
479 <xsd:attribute name="status" default="current">
481 <xsd:restriction base="xsd:string">
482 <xsd:enumeration value="current"/>
483 <xsd:enumeration value="deprecated"/>
484 <xsd:enumeration value="obsolete"/>
485 <xsd:enumeration value="mandatory"/>
486 <xsd:enumeration value="optional"/>
493 <xsd:element name="members">
496 <xsd:element ref="member" maxOccurs="unbounded"/>
501 <xsd:element name="member">
503 <xsd:attribute name="module" type="xsd:string" use="required"/>
504 <xsd:attribute name="name" type="xsd:string" use="required"/>
508 <xsd:element name="compliances">
511 <xsd:element ref="compliance" maxOccurs="unbounded"/>
516 <xsd:element name="compliance">
519 <xsd:element ref="description"/>
520 <xsd:element ref="requires"/>
521 <xsd:element ref="refinements" minOccurs="0" maxOccurs="1"/>
523 <xsd:attribute name="name" type="xsd:string" use="required"/>
524 <xsd:attribute name="oid" type="xsd:string" use="required"/>
525 <xsd:attribute name="status" default="current">
527 <xsd:restriction base="xsd:string">
528 <xsd:enumeration value="current"/>
529 <xsd:enumeration value="deprecated"/>
530 <xsd:enumeration value="obsolete"/>
531 <xsd:enumeration value="mandatory"/>
532 <xsd:enumeration value="optional"/>
539 <xsd:element name="requires">
541 <xsd:choice maxOccurs="unbounded">
542 <xsd:element ref="mandatory"/>
543 <xsd:element ref="option"/>
548 <xsd:element name="mandatory">
550 <xsd:attribute name="module" type="xsd:string" use="required"/>
551 <xsd:attribute name="name" type="xsd:string" use="required"/>
555 <xsd:element name="option">
558 <xsd:element ref="description"/>
560 <xsd:attribute name="module" type="xsd:string" use="required"/>
561 <xsd:attribute name="name" type="xsd:string" use="required"/>
565 <xsd:element name="refinements">
568 <xsd:element ref="refinement" maxOccurs="unbounded"/>
573 <xsd:element name="refinement">
576 <xsd:element ref="syntax" minOccurs="0" maxOccurs="1"/>
577 <xsd:element ref="writesyntax" minOccurs="0" maxOccurs="1"/>
578 <xsd:element ref="access" minOccurs="0" maxOccurs="1"/>
579 <xsd:element ref="description"/>
581 <xsd:attribute name="module" type="xsd:string" use="required"/>
582 <xsd:attribute name="name" type="xsd:string" use="required"/>