1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:sig="http://www.w3.org/2000/09/xmldsig#">
3 <xs:include schemaLocation="top.xsd"/>
4 <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="sig.xsd"/>
5 <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
9 Copyright (c) 2008 University of Utah and the Flux Group.
15 Common definitions for advertisements, requests, and tickets
18 <xs:element name="node" type="NodeContents"/>
19 <xs:element name="link" type="LinkContents"/>
20 <xs:complexType name="NodeContents">
21 <xs:choice minOccurs="0" maxOccurs="unbounded">
22 <xs:element ref="subnode_of"/>
23 <xs:group ref="NodeTypeList"/>
24 <xs:element ref="interface"/>
26 <xs:attribute name="virtualization_type">
28 <xs:restriction base="xs:token">
29 <xs:enumeration value="raw"/>
30 <xs:enumeration value="trellis-vserver"/>
31 <xs:enumeration value="planetlab-vserver"/>
32 <xs:enumeration value="emulab-vnode"/>
33 <xs:enumeration value="bgpmux"/>
38 <xs:element name="subnode_of" type="xs:string"/>
39 <xs:element name="interface">
42 <xs:complexType name="LinkContents">
43 <xs:choice minOccurs="0" maxOccurs="unbounded">
44 <xs:group ref="LinkType"/>
45 <xs:element ref="interface_ref"/>
47 <xs:attribute name="virtualization_type">
49 <xs:restriction base="xs:token">
50 <xs:enumeration value="raw"/>
51 <xs:enumeration value="trellis-vserver"/>
52 <xs:enumeration value="planetlab-vserver"/>
53 <xs:enumeration value="emulab-vnode"/>
58 <xs:element name="interface_ref">
61 <xs:group name="NodeTypeList">
63 <xs:element maxOccurs="unbounded" ref="node_type"/>
66 <xs:group name="LinkType">
68 <xs:element name="link_type">
71 <xs:element minOccurs="0" maxOccurs="unbounded" ref="field"/>
73 <xs:attribute name="name"/>
74 <xs:attribute name="type_name"/>
79 <xs:element name="field">
81 <xs:attribute name="key" use="required"/>
82 <xs:attribute name="value" use="required"/>
85 <xs:attributeGroup name="VirtualName">
86 <xs:attribute name="virtual_id" use="required"/>
88 <xs:attributeGroup name="ComponentName">
89 <xs:attribute name="component_manager_uuid"/>
90 <xs:attribute name="component_manager_urn"/>
91 <xs:attribute name="component_name"/>
92 <xs:attribute name="component_uuid"/>
93 <xs:attribute name="component_urn"/>
95 <xs:attributeGroup name="ComponentInterfaceDeclName">
96 <xs:attribute name="component_id" use="required"/>
98 <xs:attributeGroup name="ComponentInterfaceRefName">
99 <xs:attribute name="component_node_uuid"/>
100 <xs:attribute name="component_node_urn"/>
101 <xs:attribute name="component_interface_id" use="required"/>
103 <xs:element name="location">
105 <xs:attribute name="country" use="required"/>
106 <xs:attribute name="longitude"/>
107 <xs:attribute name="latitude"/>
110 <xs:element name="rspec" type="RSpecContents"/>
111 <xs:complexType name="RSpecContents">
112 <xs:choice minOccurs="0" maxOccurs="unbounded">
113 <xs:element ref="node"/>
114 <xs:element ref="link"/>
116 <xs:attribute name="generated" type="xs:dateTime"/>
117 <xs:attribute name="generated_by"/>
118 <xs:attribute name="valid_until" type="xs:dateTime"/>