2 ** XML DTD for SMIv1/SMIv2/SMIng modules.
5 ** <!DOCTYPE smi PUBLIC
6 ** "-//IETF//DTD RFCxxxx SMI v0.1//EN"
7 ** "/some/path/smi.dtd">
9 ** Contact: Juergen Schoenwaelder
15 ** <schoenw@ibr.cs.tu-bs.de>
17 ** Copyright (c) The Internet Society (2000).
18 ** All Rights Reserved.
25 <!--** Entity Definitions **-->
28 <!ENTITY % IDENTIFIER "CDATA">
29 <!-- an SMI identifier (aka ASN.1 descriptor) -->
31 <!ENTITY % OID "CDATA">
32 <!-- Object Identifier in dotted notation (e.g. 1.3.6.1.2.1) -->
34 <!ENTITY % TEXT "#PCDATA">
35 <!-- text as defined in the SMI specification -->
37 <!ENTITY % DATE "CDATA">
38 <!-- date and time information (ISO date format) -->
40 <!ENTITY % VALUE "CDATA">
41 <!-- value of one of the SMI basetypes -->
43 <!ENTITY % STATUS "CDATA">
44 <!-- value of one of the SMI status values -->
47 <!--** Fundamental Attribute Definitions **-->
50 <!ENTITY % at.module 'module %IDENTIFIER; #REQUIRED'>
52 <!ENTITY % at.name 'name %IDENTIFIER; #REQUIRED'>
54 <!ENTITY % at.optname 'name %IDENTIFIER; ""'>
56 <!ENTITY % at.oid 'oid %OID; #REQUIRED'>
58 <!ENTITY % at.language 'language (SMIv1
62 <!ENTITY % at.status 'status (current
66 |optional) "current"'>
68 <!ENTITY % at.basetype 'basetype %IDENTIFIER; #REQUIRED'>
70 <!ENTITY % at.date 'date %DATE; #REQUIRED'>
72 <!ENTITY % at.number 'number %VALUE; #REQUIRED'>
74 <!ENTITY % at.min 'min %VALUE; #REQUIRED'>
76 <!ENTITY % at.max 'max %VALUE; #REQUIRED'>
78 <!ENTITY % at.node 'node %IDENTIFIER; #REQUIRED'>
80 <!ENTITY % at.implied 'implied (true|false) "false"'>
82 <!ENTITY % at.create 'create (true|false) "false"'>
85 <!--** Fundamental Element Definitions **-->
88 <!ELEMENT description (%TEXT;)>
90 <!ELEMENT reference (%TEXT;)>
92 <!ELEMENT format (%TEXT;)>
94 <!ELEMENT units (%TEXT;)>
96 <!ELEMENT default (%TEXT;)>
98 <!ELEMENT access (%TEXT;)>
100 <!ELEMENT range EMPTY>
101 <!ATTLIST range %at.min;
104 <!ELEMENT namednumber EMPTY>
105 <!ATTLIST namednumber %at.name;
108 <!ELEMENT parent EMPTY>
109 <!ATTLIST parent %at.module;
112 <!ELEMENT type EMPTY>
113 <!ATTLIST type %at.module;
116 <!ELEMENT syntax (type|typedef)>
117 <!ELEMENT writesyntax (type|typedef)>
119 <!ELEMENT linkage (index+|augments|reorders|sparse|expands)>
120 <!ATTLIST linkage %at.implied;>
121 <!ELEMENT index EMPTY>
122 <!ATTLIST index %at.module;
124 <!ELEMENT augments EMPTY>
125 <!ATTLIST augments %at.module;
127 <!ELEMENT reorders EMPTY>
128 <!ATTLIST reorders %at.module;
130 <!ELEMENT sparse EMPTY>
131 <!ATTLIST sparse %at.module;
133 <!ELEMENT expands EMPTY>
134 <!ATTLIST expands %at.module;
138 <!--** Structure Element and Attribute Definitions **-->
141 <!ELEMENT smi (module,
149 <!ELEMENT module (organization?,
155 <!ATTLIST module %at.name;
158 <!ELEMENT organization (%TEXT;)>
159 <!ELEMENT contact (%TEXT;)>
160 <!ELEMENT revision (description)>
161 <!ATTLIST revision %at.date;>
162 <!ELEMENT identity EMPTY>
163 <!ATTLIST identity %at.node;>
165 <!ELEMENT imports (import+)>
166 <!ELEMENT import EMPTY>
167 <!ATTLIST import %at.module;
170 <!ELEMENT typedefs (typedef+)>
171 <!ELEMENT typedef (parent?,
179 <!ATTLIST typedef %at.optname;
183 <!ELEMENT nodes (node|scalar|table)+>
185 <!ELEMENT node (description?,
187 <!ATTLIST node %at.name;
191 <!ELEMENT scalar (syntax,
198 <!ATTLIST scalar %at.name;
202 <!ELEMENT table (description,
205 <!ATTLIST table %at.name;
209 <!ELEMENT row (linkage,
213 <!ATTLIST row %at.name;
218 <!ELEMENT column (syntax,
225 <!ATTLIST column %at.name;
229 <!ELEMENT notifications (notification+)>
230 <!ELEMENT notification (objects,
233 <!ATTLIST notification %at.name;
236 <!ELEMENT objects (object*)>
237 <!ELEMENT object EMPTY>
238 <!ATTLIST object %at.module;
241 <!ELEMENT groups (group+)>
242 <!ELEMENT group (members,
245 <!ATTLIST group %at.name;
248 <!ELEMENT members (member+)>
249 <!ELEMENT member EMPTY>
250 <!ATTLIST member %at.module;
253 <!ELEMENT compliances (compliance+)>
254 <!ELEMENT compliance (description,
257 <!ATTLIST compliance %at.name;
260 <!ELEMENT requires (mandatory|option)+>
261 <!ELEMENT mandatory EMPTY>
262 <!ATTLIST mandatory %at.module;
264 <!ELEMENT option (description)>
265 <!ATTLIST option %at.module;
267 <!ELEMENT refinements (refinement+)>
268 <!ELEMENT refinement (syntax?,
272 <!ATTLIST refinement %at.module;
275 <!--** End of the XML DTD for SMIv1/SMIv2/SMIng modules. **-->