source: fedd/fedd_types.xsd @ 02786fc

axis_examplecompt_changesinfo-opsversion-1.30version-2.00version-3.01version-3.02
Last change on this file since 02786fc was 2ac63f7d, checked in by Ted Faber <faber@…>, 16 years ago

Add resources to several allocation messages.

  • Property mode set to 100644
File size: 22.2 KB
Line 
1<?xml version="1.0"?>
2<xsd:schema targetNamespace="http://www.isi.edu/faber/fedd_types"
3  xmlns:tns="http://www.isi.edu/faber/fedd_types"
4  xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
5  xmlns="http://www.w3.org/2000/10/XMLSchema">
6
7  <xsd:complexType name="IDType">
8    <xsd:annotation>
9      <xsd:documentation>
10        An ID is an identifier for a principal, service, or object.  This type
11        is currently polymorphic o allow different implementations of type,
12        though running code primarily uses localnames and fedids.
13      </xsd:documentation>
14    </xsd:annotation>
15    <xsd:choice>
16      <xsd:element name="uuid" type="xsd:base64Binary"/>
17      <xsd:element name="fedid" type="xsd:base64Binary"/>
18      <xsd:element name="uri" type="xsd:string"/>
19      <xsd:element name="localname" type="xsd:string"/>
20      <xsd:element name="kerberosUsername" type="xsd:string"/>
21    </xsd:choice>
22  </xsd:complexType>
23
24  <xsd:complexType name="nodeType">
25    <xsd:annotation>
26      <xsd:documentation>
27        A node from an Emulab.  It may have 0 or more images or hardware
28        types associated with it.  As this description is used for
29        acquiring access to the testbed in question, multiple images or
30        types are considered options.  Specifying multiple image names
31        indicates that the requester is looking for support for any of
32        them.
33      </xsd:documentation>
34    </xsd:annotation>
35    <xsd:sequence>
36      <xsd:element name="image" type="xsd:string" minOccurs="0"
37        maxOccurs="unbounded"/>
38      <xsd:element name="hardware" type="xsd:string" minOccurs="0"
39        maxOccurs="unbounded"/>
40    </xsd:sequence>
41    <xsd:attribute name="count" type="xsd:int" use="optional"/>
42  </xsd:complexType>
43
44  <xsd:simpleType name="kindType">
45    <xsd:annotation>
46      <xsd:documentation>
47        An indication of how requested networking capacity is measured.
48        This will undoubtably expand.
49      </xsd:documentation>
50    </xsd:annotation>
51    <xsd:restriction base="xsd:string">
52      <xsd:enumeration value="max"/>
53      <xsd:enumeration value="average"/>
54    </xsd:restriction>
55  </xsd:simpleType>
56
57  <xsd:complexType name="capacityType">
58    <xsd:annotation>
59      <xsd:documentation>
60        A strawman network capacity description for access negotiation.
61        This will come to include more and more interesting parameters.
62      </xsd:documentation>
63    </xsd:annotation>
64    <xsd:sequence>
65      <xsd:element name="rate" type="xsd:double"/>
66      <xsd:element name="kind" type="tns:kindType"/>
67    </xsd:sequence>
68  </xsd:complexType>
69
70  <xsd:complexType name="accessType">
71    <xsd:annotation>
72      <xsd:documentation>
73        This captures an access credential that will be used to access
74        resources.  These are certificates or public keys.  The type is
75        used to designate the key to which access should be bound, or on
76        a reply has been bound.  Dynamic credentials where new keys have
77        been created may also be passed in this kind of field.
78      </xsd:documentation>
79    </xsd:annotation>
80    <xsd:choice>
81      <xsd:element name="X509" type="xsd:base64Binary"/>
82      <xsd:element name="sshPubkey" type="xsd:base64Binary"/>
83      <xsd:element name="pgpPubkey" type="xsd:base64Binary"/>
84    </xsd:choice>
85  </xsd:complexType>
86
87  <xsd:simpleType name="userRole">
88    <xsd:annotation>
89      <xsd:documentation>
90        This defines the role the user/account is playing in the
91        federated experiment.  An account being accessed by the
92        federation system to create the experiment is in the
93        experimentCreation role and the accounts that experimenters will
94        use to access local testbed services (e.g., rebooting a local
95        node) are serviceAccess roles.
96      </xsd:documentation>
97    </xsd:annotation>
98    <xsd:restriction base="xsd:string">
99      <xsd:enumeration value="serviceAccess"/>
100      <xsd:enumeration value="experimentCreation"/>
101    </xsd:restriction>
102  </xsd:simpleType>
103
104
105  <xsd:complexType name="userType">
106    <xsd:annotation>
107      <xsd:documentation>
108        The definition of a user principal.  It includes the
109        identification of the user as an ID type, the access credential(s)
110        that the user will use, and the role of the user, if any.
111        Multiple access keys may be used, and it is also possible for
112        the user to be anonymous.  Though it is possible to specify a
113        user without ID, access, or role, it is difficult to imagine
114        such a user being useful.
115      </xsd:documentation>
116    </xsd:annotation>
117    <xsd:sequence>
118      <xsd:element name="userID" type="tns:IDType" minOccurs="0"
119        maxOccurs="1"/>
120      <xsd:element name="access" type="tns:accessType" minOccurs="0"
121        maxOccurs="unbounded"/>
122      <xsd:element name="role" type="tns:userRole" minOccurs="0" maxOccurs="1"/>
123    </xsd:sequence>
124  </xsd:complexType>
125
126  <xsd:complexType name="fedAttrType">
127    <xsd:annotation>
128      <xsd:documentation>
129        A general attribute/value pair for passing federation parameters and
130        preferences.  Anything encodable in XML is allowed.  This is a
131        point for customization and extension.
132      </xsd:documentation>
133    </xsd:annotation>
134    <xsd:sequence>
135      <xsd:element name="attribute" type="xsd:string"/>
136      <xsd:element name="value" type="xsd:string"/>
137    </xsd:sequence>
138  </xsd:complexType>
139
140
141  <xsd:complexType name="resourcesType">
142    <xsd:annotation>
143      <xsd:documentation>
144        The estimate of resources a requester is looking for, or the
145        response of a testbed indicating what it can provide.  This is
146        something of a placeholder for a full resource specification,
147        and alternative encodings are likely to be imported.
148      </xsd:documentation>
149    </xsd:annotation>
150    <xsd:sequence>
151      <xsd:element name="node" type="tns:nodeType" minOccurs="0"
152        maxOccurs="unbounded" />
153      <xsd:element name="capacity" type="tns:capacityType" minOccurs="0"
154        maxOccurs="unbounded"/>
155    </xsd:sequence>
156  </xsd:complexType>
157
158  <xsd:complexType name="mapType">
159    <xsd:annotation>
160      <xsd:documentation>
161        Explicit translation of testbed attribute in a federated experiment
162        description to the URI at which the controlling federation
163        system can be reached.  Used in a creation request.
164
165        This type allows tools to encode experiments in familiar local
166        names for experimenters while providing remote federation
167        systems the information to map the local name into a service
168        location.
169      </xsd:documentation>
170    </xsd:annotation>
171    <xsd:sequence>
172      <xsd:element name="testbed" type="tns:IDType"/>
173      <xsd:element name="uri" type="xsd:string"/>
174    </xsd:sequence>
175  </xsd:complexType>
176
177
178  <xsd:complexType name="projectType">
179    <xsd:annotation>
180      <xsd:documentation>
181        A description of the project used to access a testbed.  Includes
182        the testbed being accessed, the project name (often a local
183        name, scoped by the testbed), and any users who have been
184        granted access or for whom access is being requested.
185      </xsd:documentation>
186    </xsd:annotation>
187    <xsd:sequence>
188      <xsd:element name="testbed" type="tns:IDType" minOccurs="0"
189        maxOccurs="1"/>
190      <xsd:element name="name" type="tns:IDType" minOccurs="0" maxOccurs="1"/>
191      <xsd:element name="user" type="tns:userType" minOccurs="0"
192        maxOccurs="unbounded"/>
193    </xsd:sequence>
194  </xsd:complexType>
195
196  <xsd:complexType name="emulabType">
197    <xsd:annotation>
198      <xsd:documentation>
199        A description of an Emulab sufficient for the federation system
200        to create a sub experiment on it.  Note that fedAttrs provide an
201        extension mechanism by which testbeds may communicate additional
202        information and preferences to federation systems that
203        understand it.
204      </xsd:documentation>
205    </xsd:annotation>
206    <xsd:sequence>
207      <xsd:element name="project" type="tns:projectType"/>
208      <xsd:element name="domain" type="xsd:string"/>
209      <xsd:element name="boss" type="xsd:string"/>
210      <xsd:element name="ops" type="xsd:string"/>
211      <xsd:element name="fileServer" type="xsd:string"/>
212      <xsd:element name="eventServer" type="xsd:string"/>
213      <xsd:element name="fedAttr" type="tns:fedAttrType" minOccurs="0"
214        maxOccurs="unbounded"/>
215    </xsd:sequence>
216  </xsd:complexType>
217
218  <xsd:complexType name="federatedExperimentType">
219    <xsd:annotation>
220      <xsd:documentation>
221        Naming and Emulab instantiation information about a federant.
222        This is returned by various informational requests and as part
223        of a successful creation message.
224      </xsd:documentation>
225    </xsd:annotation>
226    <xsd:sequence>
227      <xsd:element name="name" type="tns:IDType" minOccurs="1" 
228        maxOccurs="unbounded"/>
229      <xsd:element name="emulab" type="tns:emulabType"/>
230      <xsd:element name="master" type="xsd:boolean"/>
231    </xsd:sequence>
232  </xsd:complexType>
233
234
235  <xsd:complexType name="vtoponodeType">
236    <xsd:annotation>
237      <xsd:documentation>
238        Node in the virtual topology of a federated experiment (Emulab
239        legacy).  The fields are the local hostname and the IP addresses
240        of the experimental interfaces(colon-separated).
241      </xsd:documentation>
242    </xsd:annotation>
243    <xsd:sequence>
244      <xsd:element name="vname" type="xsd:string"/>
245      <xsd:element name="ips" type="xsd:string"/>
246    </xsd:sequence>
247  </xsd:complexType>
248
249  <xsd:complexType name="vtopolanType">
250    <xsd:annotation>
251      <xsd:documentation>
252        LAN in the virtual topology of a federated experiment (Emulab legacy).
253        The fields are the name of the LAN/link (vname) the node that
254        this description applies to (vnode), the IP of the connection,
255        and performance information.
256      </xsd:documentation>
257    </xsd:annotation>
258    <xsd:sequence>
259      <xsd:element name="vname" type="xsd:string"/>
260      <xsd:element name="vnode" type="xsd:string"/>
261      <xsd:element name="ip" type="xsd:string"/>
262      <xsd:element name="bandwidth" type="xsd:int"/>
263      <xsd:element name="delay" type="xsd:float"/>
264      <xsd:element name="member" type="xsd:string"/>
265    </xsd:sequence>
266  </xsd:complexType>
267
268  <xsd:complexType name="vtopoType">
269    <xsd:annotation>
270      <xsd:documentation>
271        The virtual topology of a federated experiment (Emulab legacy).
272      </xsd:documentation>
273    </xsd:annotation>
274    <xsd:sequence>
275      <xsd:element name="node" type="tns:vtoponodeType" minOccurs="0" 
276        maxOccurs="unbounded" />
277      <xsd:element name="lan" type="tns:vtopolanType" minOccurs="0"
278        maxOccurs="unbounded"/>
279    </xsd:sequence>
280  </xsd:complexType>
281
282  <xsd:complexType name="visnodeType">
283    <xsd:annotation>
284      <xsd:documentation>
285        Node in the visualization of a federated experiment (Emulab
286        legacy).  Fields include the local hostname of the node, x,y
287        coordinates in a 2-dimensional representation, and whether the
288        node in the visualization is a host or a LAN.
289      </xsd:documentation>
290    </xsd:annotation>
291    <xsd:sequence>
292      <xsd:element name="name" type="xsd:string"/>
293      <xsd:element name="x" type="xsd:int"/>
294      <xsd:element name="y" type="xsd:int"/>
295      <xsd:element name="type" type="xsd:string"/>
296    </xsd:sequence>
297  </xsd:complexType>
298
299  <xsd:complexType name="visType">
300    <xsd:annotation>
301      <xsd:documentation>
302        The visualization of a federated experiment (Emulab legacy)
303      </xsd:documentation>
304    </xsd:annotation>
305    <xsd:sequence>
306      <xsd:element name="node" type="tns:visnodeType" minOccurs="0"
307        maxOccurs="unbounded"/>
308    </xsd:sequence>
309  </xsd:complexType>
310
311  <xsd:complexType name="projectAllocType">
312    <xsd:annotation>
313      <xsd:documentation>
314        The information needed to create a dynamic project, specifically
315        a project description and the resources in needs access to.
316        This is used by an internal fedd interface.
317      </xsd:documentation>
318    </xsd:annotation>
319    <xsd:sequence>
320      <xsd:element name="project" type="tns:projectType"/>
321      <xsd:element name="resources" type="tns:resourcesType" 
322        minOccurs="0" maxOccurs="1"/>
323    </xsd:sequence>
324  </xsd:complexType>
325
326  <xsd:complexType name="experimentDescriptionType">
327    <xsd:annotation>
328      <xsd:documentation>
329        The description of the federated experiment, in extended ns2.
330      </xsd:documentation>
331    </xsd:annotation>
332    <xsd:choice>
333      <xsd:element name="ns2description" type="xsd:base64Binary"/>
334    </xsd:choice>
335  </xsd:complexType>
336
337  <xsd:complexType name="requestType">
338    <xsd:annotation>
339      <xsd:documentation>
340        Request for access to a testbed.  It includes the testbed from
341        which resources are being requested (a single service may
342        provide access to many), the user or project requesting access
343        (a testbed making the request will leave both empty), the
344        resources needed, the access keys to be used in the subsequent
345        instantiation and service use, an allocation ID to identify this
346        access in later requests, and scheduling information.
347      </xsd:documentation>
348    </xsd:annotation>
349    <xsd:sequence>
350      <xsd:element name="destinationTestbed" type="tns:IDType"
351        minOccurs="0" maxOccurs="1" />
352      <xsd:choice>
353        <xsd:element name="project" type="tns:projectType" minOccurs="0" 
354          maxOccurs="1"/>
355        <xsd:element name="user" type="tns:userType" minOccurs="0"
356          maxOccurs="unbounded"/>
357      </xsd:choice>
358      <xsd:element name="resources" type="tns:resourcesType" minOccurs="0" 
359        maxOccurs="1"/>
360      <xsd:element name="createAccess" type="tns:accessType" minOccurs="1" 
361        maxOccurs="unbounded"/>
362      <xsd:element name="serviceAccess" type="tns:accessType" minOccurs="1" 
363        maxOccurs="unbounded"/>
364      <xsd:element name="exportProject" type="tns:IDType" 
365        minOccurs="0" maxOccurs="1"/>
366      <xsd:element name="allocID" type="tns:IDType"/>
367      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
368      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
369        maxOccurs="1"/>
370    </xsd:sequence>
371  </xsd:complexType>
372
373  <xsd:complexType name="responseType">
374    <xsd:annotation>
375      <xsd:documentation>
376        Response to an access request.  Includes the allocation, the
377        information needed to access creation and experiment services
378        and scheduling information.
379      </xsd:documentation>
380    </xsd:annotation>
381    <xsd:sequence>
382      <xsd:element name="allocID" type="tns:IDType"/>
383      <xsd:element name="emulab" type="tns:emulabType"/>
384      <xsd:element name="when" type="xsd:dateTime" minOccurs="0" maxOccurs="1"/>
385      <xsd:element name="until" type="xsd:dateTime" minOccurs="0" 
386        maxOccurs="1"/>
387    </xsd:sequence>
388  </xsd:complexType>
389
390  <xsd:complexType name="releaseRequestType">
391    <xsd:annotation>
392      <xsd:documentation>
393        A request to release the access rights allocated by an earlier
394        RequestAccess call.
395      </xsd:documentation>
396    </xsd:annotation>
397    <xsd:sequence>
398      <xsd:element name="allocID" type="tns:IDType"/>
399    </xsd:sequence>
400  </xsd:complexType>
401
402  <xsd:complexType name="releaseResponseType">
403    <xsd:annotation>
404      <xsd:documentation>
405        Indication that the access has been terminated.
406      </xsd:documentation>
407    </xsd:annotation>
408    <xsd:sequence>
409      <xsd:element name="allocID" type="tns:IDType"/>
410    </xsd:sequence>
411  </xsd:complexType>
412
413  <xsd:complexType name="createRequestType">
414    <xsd:annotation>
415      <xsd:documentation>
416        A request to embed a federated experiment across testbeds.  Non-
417        standard local names for testbeds are included in the
418        testbedmap, the user making the request, the experiment
419        description, master testbed, and a suggested experiment name are
420        included.  More than one name can be suggested, either as
421        synonyms (a fedid and a localname) or as choices (multiple
422        localnames).
423      </xsd:documentation>
424    </xsd:annotation>
425    <xsd:sequence>
426      <xsd:element name="testbedmap" type="tns:mapType" minOccurs="0"
427        maxOccurs="unbounded"/>
428      <xsd:element name="user" type="tns:userType" minOccurs="1"
429        maxOccurs="unbounded"/>
430      <xsd:element name="experimentdescription" 
431        type="tns:experimentDescriptionType"/>
432      <xsd:element name="master" type="xsd:string"/>
433      <xsd:element name='exportProject' type="tns:IDType"/>
434      <xsd:element name="experimentID" type="tns:IDType" minOccurs="0" 
435        maxOccurs="1"/>
436    </xsd:sequence>
437  </xsd:complexType>
438
439  <xsd:complexType name="createResponseType">
440    <xsd:annotation>
441      <xsd:documentation>
442        The reply to a successful creation request.  Includes the
443        information about federants hosting sub-experiments for service
444        access as well as virtual topology and visualization
445        information.  All that information is relative to the requester.
446        ExperimentAccess includes credentials with which one can access
447        the experiment.  These may include a public key necessary to
448        prove possession of the credential and should be treated with
449        care.
450      </xsd:documentation>
451    </xsd:annotation>
452    <xsd:sequence>
453      <xsd:element name="federant" type="tns:federatedExperimentType" 
454        minOccurs="1" maxOccurs="unbounded"/>
455      <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0"
456        maxOccurs="1"/>
457      <xsd:element name="vis" type="tns:visType" minOccurs="0"
458        maxOccurs="1"/>
459      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
460        maxOccurs="unbounded"/>
461      <xsd:element name="experimentAccess" type="tns:accessType" minOccurs="0"
462        maxOccurs="1"/>
463    </xsd:sequence>
464  </xsd:complexType>
465
466  <xsd:complexType name="vtopoRequestType">
467    <xsd:annotation>
468      <xsd:documentation>
469        Request for an existing experiment's virtual topology.
470        Different information may be returned based on the user's rights
471        to see the topology.
472      </xsd:documentation>
473    </xsd:annotation>
474    <xsd:sequence>
475      <xsd:element name="experiment" type="tns:IDType"/>
476    </xsd:sequence>
477  </xsd:complexType>
478
479  <xsd:complexType name="vtopoResponseType">
480    <xsd:annotation>
481      <xsd:documentation>
482        The response to a topology request.  Different information may
483        be returned based on the user's rights to see the topology.
484      </xsd:documentation>
485    </xsd:annotation>
486    <xsd:sequence>
487      <xsd:element name="experiment" type="tns:IDType"/>
488      <xsd:element name="vtopo" type="tns:vtopoType"/>
489    </xsd:sequence>
490  </xsd:complexType>
491
492
493  <xsd:complexType name="visRequestType">
494    <xsd:annotation>
495      <xsd:documentation>
496        Request for an existing experiment's visualization.  This is
497        largely a compatibility service.  Different information may be
498        returned based on the user's rights to see the topology.
499      </xsd:documentation>
500    </xsd:annotation>
501    <xsd:sequence>
502      <xsd:element name="experiment" type="tns:IDType"/>
503    </xsd:sequence>
504  </xsd:complexType>
505
506  <xsd:complexType name="visResponseType">
507    <xsd:annotation>
508      <xsd:documentation>
509        An existing experiment's visualization.  This is largely a
510        compatibility service.  Different information may be returned
511        based on the user's rights to see the topology.
512      </xsd:documentation>
513    </xsd:annotation>
514    <xsd:sequence>
515      <xsd:element name="experiment" type="tns:IDType"/>
516      <xsd:element name="vis" type="tns:visType"/>
517    </xsd:sequence>
518  </xsd:complexType>
519
520  <xsd:complexType name="infoRequestType">
521    <xsd:annotation>
522      <xsd:documentation>
523        A combined topology, visualalization, and federant request.
524        Different information may be returned based on the user's rights
525        to see the topology.  </xsd:documentation>
526    </xsd:annotation>
527    <xsd:sequence>
528      <xsd:element name="experiment" type="tns:IDType"/>
529    </xsd:sequence>
530  </xsd:complexType>
531
532  <xsd:complexType name="infoResponseType">
533    <xsd:annotation>
534      <xsd:documentation>
535        Information on an instantiated experiment.  A createResponse
536        without the secret information.  Different information may be
537        returned based on the user's rights to see the topology.
538      </xsd:documentation>
539    </xsd:annotation>
540    <xsd:sequence>
541      <xsd:element name="federant" type="tns:federatedExperimentType" 
542        minOccurs="1" maxOccurs="unbounded"/>
543      <xsd:element name="vtopo" type="tns:vtopoType" minOccurs="0"
544        maxOccurs="1"/>
545      <xsd:element name="vis" type="tns:visType" minOccurs="0"
546        maxOccurs="1"/>
547      <xsd:element name="experimentID" type="tns:IDType" minOccurs="1"
548        maxOccurs="unbounded"/>
549    </xsd:sequence>
550  </xsd:complexType>
551
552  <xsd:complexType name="terminateRequestType">
553    <xsd:annotation>
554      <xsd:documentation>
555        Request to terminate an experiment.
556      </xsd:documentation>
557    </xsd:annotation>
558    <xsd:sequence>
559      <xsd:element name="experiment" type="tns:IDType"/>
560    </xsd:sequence>
561  </xsd:complexType>
562
563  <xsd:complexType name="terminateResponseType">
564    <xsd:annotation>
565      <xsd:documentation>
566        Indication that the experiment has been terminated.
567      </xsd:documentation>
568    </xsd:annotation>
569    <xsd:sequence>
570      <xsd:element name="experiment" type="tns:IDType"/>
571    </xsd:sequence>
572  </xsd:complexType>
573
574  <xsd:complexType name="ns2SplitRequestType">
575    <xsd:annotation>
576      <xsd:documentation>
577        Request to run the CEDL splitter remotely.  This is primarily an
578        internal interface.
579      </xsd:documentation>
580    </xsd:annotation>
581    <xsd:sequence>
582      <xsd:element name="description" type="tns:experimentDescriptionType"/>
583      <xsd:element name="master" type="xsd:string"/>
584      <xsd:element name="include_fedkit" type="xsd:bool"/>
585    </xsd:sequence>
586  </xsd:complexType>
587
588  <xsd:complexType name="ns2SplitResponseType">
589    <xsd:annotation>
590      <xsd:documentation>
591        Remote splitter output.  Also an internal interface
592      </xsd:documentation>
593    </xsd:annotation>
594    <xsd:sequence>
595      <xsd:element name="output" type="xsd:base64Binary"/>
596    </xsd:sequence>
597  </xsd:complexType>
598
599
600  <xsd:complexType name="faultType">
601    <xsd:annotation>
602      <xsd:documentation>
603        Indication that a service has failed.  The code values are
604
605          1 access denied
606          2 proxy error
607          3 badly formed request
608          4 server configuration error
609          5 internal error
610          6 partial instantiation
611          7 federant error
612
613        Errstr contains the text above corresponding to the code.  Code
614        is always present.  Desc provides additional human-readable data
615        about the error.
616      </xsd:documentation>
617    </xsd:annotation>
618    <xsd:sequence>
619      <xsd:element name="code" type="xsd:int">
620        <xsd:restriction>
621          <xsd:enumeration value="1"/>  <!-- access denied -->
622          <xsd:enumeration value="2"/>  <!-- protocol error -->
623          <xsd:enumeration value="3"/>  <!-- badly formed request -->
624          <xsd:enumeration value="4"/>  <!-- server configuration error -->
625          <xsd:enumeration value="5"/>  <!-- internal error -->
626          <xsd:enumeration value="6"/>  <!-- partial instantiation -->
627          <xsd:enumeration value="7"/>  <!-- federant error -->
628          <xsd:enumeration value="8"/>  <!-- connect error -->
629        </xsd:restriction>
630      </xsd:element>
631      <xsd:element name="errstr" minOccurs="0" maxOccurs="1" type="xsd:string">
632      </xsd:element>
633      <xsd:element name="desc" type="xsd:string"/>
634    </xsd:sequence>
635  </xsd:complexType>
636</xsd:schema>
Note: See TracBrowser for help on using the repository browser.