1 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   2 
   3 <xs:element name="registration_data">
   4   <xs:complexType>
   5     <xs:sequence>
   6       <xs:element name="environment"
   7                   minOccurs="1"
   8                   maxOccurs="1">
   9         <xs:complexType>
  10           <xs:sequence>
  11             <xs:element ref="hostname"
  12                         minOccurs='1'
  13                         maxOccurs='1'/>
  14             <xs:element ref="hostId"
  15                         minOccurs='1'
  16                         maxOccurs='1'/>
  17             <xs:element ref="osName"
  18                         minOccurs='1'
  19                         maxOccurs='1'/>
  20             <xs:element ref="osVersion"
  21                         minOccurs='1'
  22                         maxOccurs='1'/>
  23             <xs:element ref="osArchitecture"
  24                         minOccurs='1'
  25                         maxOccurs='1'/>
  26             <xs:element ref="systemModel"
  27                         minOccurs='1'
  28                         maxOccurs='1'/>
  29             <xs:element ref="systemManufacturer"
  30                         minOccurs='1'
  31                         maxOccurs='1'/>
  32             <xs:element ref="cpuManufacturer"
  33                         minOccurs='1'
  34                         maxOccurs='1'/>
  35             <xs:element ref="serialNumber"
  36                         minOccurs='1'
  37                         maxOccurs='1'/>
  38           </xs:sequence>
  39         </xs:complexType>
  40       </xs:element>
  41       <xs:element name="registry"
  42                   minOccurs="1"
  43                   maxOccurs="1">
  44         <xs:complexType>
  45           <xs:sequence>
  46             <xs:element name="service_tag"
  47                         minOccurs="0"
  48                         maxOccurs="1024">
  49               <xs:complexType>
  50                 <xs:sequence>
  51                   <xs:element ref="instance_urn"
  52                               minOccurs='1'
  53                               maxOccurs='1'/>
  54                   <xs:element ref="product_name"
  55                               minOccurs='1'
  56                               maxOccurs='1'/>
  57                   <xs:element ref="product_version"
  58                               minOccurs='1'
  59                               maxOccurs='1'/>
  60                   <xs:element ref="product_urn"
  61                               minOccurs='1'
  62                               maxOccurs='1'/>
  63                   <xs:element ref="product_parent_urn"
  64                               minOccurs='1'
  65                               maxOccurs='1'/>
  66                   <xs:element ref="product_parent"
  67                               minOccurs='1'
  68                               maxOccurs='1'/>
  69                   <xs:element ref="product_defined_inst_id"
  70                               minOccurs='1'
  71                               maxOccurs='1'/>
  72                   <xs:element ref="product_vendor"
  73                               minOccurs='1'
  74                               maxOccurs='1'/>
  75                   <xs:element ref="platform_arch"
  76                               minOccurs='1'
  77                               maxOccurs='1'/>
  78                   <xs:element ref="timestamp"
  79                               minOccurs='1'
  80                               maxOccurs='1'/>
  81                   <xs:element ref="container"
  82                               minOccurs='1'
  83                               maxOccurs='1'/>
  84                   <xs:element ref="source"
  85                               minOccurs='1'
  86                               maxOccurs='1'/>
  87                   <xs:element ref="installer_uid"
  88                               minOccurs='1'
  89                               maxOccurs='1'/>
  90                 </xs:sequence>
  91               </xs:complexType>
  92             </xs:element>
  93           </xs:sequence>
  94           <xs:attribute name="urn"
  95                         type="xs:string"
  96                         use="required"/>
  97           <xs:attribute name="version"
  98                         type="xs:string"
  99                         use="required"/>
 100         </xs:complexType>
 101       </xs:element>
 102     </xs:sequence>
 103     <xs:attribute name="version"
 104                   type="xs:string"
 105                   use="required"/>
 106   </xs:complexType>
 107 </xs:element>
 108 
 109   <!-- definition of simple elements -->
 110   <xs:element name="hostname">
 111     <xs:simpleType>
 112       <xs:restriction base="xs:string">
 113         <xs:minLength value="1"/>
 114         <xs:maxLength value="255"/>
 115       </xs:restriction>
 116     </xs:simpleType>
 117    </xs:element>
 118 
 119   <xs:element name="hostId">
 120     <xs:simpleType>
 121       <xs:restriction base="xs:string">
 122         <xs:minLength value="0"/>
 123         <xs:maxLength value="16"/>
 124       </xs:restriction>
 125     </xs:simpleType>
 126    </xs:element>
 127 
 128   <xs:element name="osName">
 129     <xs:simpleType>
 130       <xs:restriction base="xs:string">
 131         <xs:minLength value="1"/>
 132         <xs:maxLength value="256"/>
 133       </xs:restriction>
 134     </xs:simpleType>
 135    </xs:element>
 136 
 137   <xs:element name="osVersion">
 138     <xs:simpleType>
 139       <xs:restriction base="xs:string">
 140         <xs:minLength value="0"/>
 141         <xs:maxLength value="50"/>
 142       </xs:restriction>
 143     </xs:simpleType>
 144    </xs:element>
 145 
 146   <xs:element name="osArchitecture">
 147     <xs:simpleType>
 148       <xs:restriction base="xs:string">
 149         <xs:minLength value="0"/>
 150         <xs:maxLength value="256"/>
 151       </xs:restriction>
 152     </xs:simpleType>
 153    </xs:element>
 154 
 155   <xs:element name="systemModel">
 156     <xs:simpleType>
 157       <xs:restriction base="xs:string">
 158         <xs:minLength value="0"/>
 159         <xs:maxLength value="50"/>
 160       </xs:restriction>
 161     </xs:simpleType>
 162    </xs:element>
 163 
 164   <xs:element name="systemManufacturer">
 165     <xs:simpleType>
 166       <xs:restriction base="xs:string">
 167         <xs:minLength value="0"/>
 168         <xs:maxLength value="50"/>
 169       </xs:restriction>
 170     </xs:simpleType>
 171    </xs:element>
 172 
 173   <xs:element name="cpuManufacturer">
 174     <xs:simpleType>
 175       <xs:restriction base="xs:string">
 176         <xs:minLength value="0"/>
 177         <xs:maxLength value="50"/>
 178       </xs:restriction>
 179     </xs:simpleType>
 180    </xs:element>
 181 
 182   <xs:element name="serialNumber">
 183     <xs:simpleType>
 184       <xs:restriction base="xs:string">
 185         <xs:minLength value="0"/>
 186         <xs:maxLength value="256"/>
 187       </xs:restriction>
 188     </xs:simpleType>
 189    </xs:element>
 190 
 191   <xs:element name="instance_urn">
 192     <xs:simpleType>
 193       <xs:restriction base="xs:string">
 194         <xs:minLength value="1"/>
 195         <xs:maxLength value="255"/>
 196       </xs:restriction>
 197     </xs:simpleType>
 198    </xs:element>
 199 
 200   <xs:element name="product_name">
 201     <xs:simpleType>
 202       <xs:restriction base="xs:string">
 203         <xs:maxLength value="255"/>
 204       </xs:restriction>
 205     </xs:simpleType>
 206   </xs:element>
 207 
 208   <xs:element name="product_version">
 209     <xs:simpleType>
 210       <xs:restriction base="xs:string">
 211         <xs:maxLength value="63"/>
 212       </xs:restriction>
 213     </xs:simpleType>
 214   </xs:element>
 215 
 216   <xs:element name="product_urn">
 217     <xs:simpleType>
 218       <xs:restriction base="xs:string">
 219         <xs:minLength value="1"/>
 220         <xs:maxLength value="255"/>
 221       </xs:restriction>
 222     </xs:simpleType>
 223   </xs:element>
 224 
 225   <xs:element name="product_parent_urn">
 226     <xs:simpleType>
 227       <xs:restriction base="xs:string">
 228         <xs:minLength value="0"/>
 229         <xs:maxLength value="255"/>
 230       </xs:restriction>
 231     </xs:simpleType>
 232   </xs:element>
 233 
 234   <xs:element name="product_parent">
 235     <xs:simpleType>
 236       <xs:restriction base="xs:string">
 237         <xs:minLength value="1"/>
 238         <xs:maxLength value="255"/>
 239       </xs:restriction>
 240     </xs:simpleType>
 241   </xs:element>
 242 
 243   <xs:element name="product_defined_inst_id">
 244       <xs:simpleType>
 245           <xs:restriction base="xs:string">
 246               <xs:minLength value="0"/>
 247               <xs:maxLength value="255"/>
 248           </xs:restriction>
 249       </xs:simpleType>
 250   </xs:element>
 251 
 252   <xs:element name="product_vendor">
 253     <xs:simpleType>
 254       <xs:restriction base="xs:string">
 255         <xs:minLength value="1"/>
 256         <xs:maxLength value="63"/>
 257       </xs:restriction>
 258     </xs:simpleType>
 259   </xs:element>
 260 
 261   <xs:element name="platform_arch">
 262     <xs:simpleType>
 263       <xs:restriction base="xs:string">
 264         <xs:minLength value="1"/>
 265         <xs:maxLength value="63"/>
 266       </xs:restriction>
 267     </xs:simpleType>
 268   </xs:element>
 269 
 270   <xs:element name="timestamp">
 271     <xs:simpleType>
 272       <xs:restriction base="xs:string">
 273         <xs:maxLength value="24"/>
 274       </xs:restriction>
 275     </xs:simpleType>
 276   </xs:element>
 277 
 278   <xs:element name="container">
 279     <xs:simpleType>
 280       <xs:restriction base="xs:string">
 281         <xs:maxLength value="63"/>
 282       </xs:restriction>
 283     </xs:simpleType>
 284   </xs:element>
 285 
 286   <xs:element name="source">
 287     <xs:simpleType>
 288       <xs:restriction base="xs:string">
 289         <xs:maxLength value="63"/>
 290       </xs:restriction>
 291     </xs:simpleType>
 292   </xs:element>
 293 
 294   <xs:element name="installer_uid">
 295     <xs:simpleType>
 296       <xs:restriction base="xs:integer">
 297       </xs:restriction>
 298     </xs:simpleType>
 299   </xs:element>
 300 
 301 </xs:schema>