VirtualBox

source: vbox/trunk/src/VBox/Main/xml/VirtualBox-settings-common.xsd@ 607

Last change on this file since 607 was 607, checked in by vboxsync, 18 years ago

adjusted dates

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 21.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 * :tabSize=2:indentSize=2:noTabs=true:
4 * :folding=explicit:collapseFolds=1:
5 *
6 * InnoTek VirtualBox Settings Schema
7 * Common definitions
8
9 * Copyright (C) 2006 InnoTek Systemberatung GmbH
10 *
11 * This file is part of VirtualBox Open Source Edition (OSE), as
12 * available from http://www.virtualbox.org. This file is free software;
13 * you can redistribute it and/or modify it under the terms of the GNU
14 * General Public License as published by the Free Software Foundation,
15 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
16 * distribution. VirtualBox OSE is distributed in the hope that it will
17 * be useful, but WITHOUT ANY WARRANTY of any kind.
18 *
19 * If you received this file as part of a commercial VirtualBox
20 * distribution, then only the terms of your commercial VirtualBox
21 * license agreement apply instead of the previous paragraph.
22-->
23
24<xsd:schema
25 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
26 xmlns="http://www.innotek.de/VirtualBox-settings"
27 xmlns:vb="http://www.innotek.de/VirtualBox-settings"
28 targetNamespace="http://www.innotek.de/VirtualBox-settings"
29 elementFormDefault="qualified"
30>
31
32<xsd:annotation>
33 <xsd:documentation xml:lang="en">
34 InnoTek VirtualBox Settings Schema (common definitions).
35 Copyright (c) 2004-2007 InnoTek Systemberatung GmbH.
36 </xsd:documentation>
37</xsd:annotation>
38
39<!--
40// Simple types
41/////////////////////////////////////////////////////////////////////////
42-->
43
44<xsd:simpleType name="TUUID">
45 <xsd:restriction base="xsd:token">
46 <xsd:pattern value="\{[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}\}"/>
47 </xsd:restriction>
48</xsd:simpleType>
49
50<xsd:simpleType name="TNonNullUUID">
51 <xsd:restriction base="TUUID">
52 <xsd:pattern value=".*[1-9A-Fa-f]+.*"/>
53 </xsd:restriction>
54</xsd:simpleType>
55
56<xsd:simpleType name="TUInt64">
57 <xsd:restriction base="xsd:string">
58 <xsd:pattern value="0x[A-Fa-f0-9]{1,16}"/>
59 </xsd:restriction>
60</xsd:simpleType>
61
62<xsd:simpleType name="TLocalFile">
63 <xsd:restriction base="xsd:string">
64 <xsd:pattern value=".+"/>
65 </xsd:restriction>
66</xsd:simpleType>
67
68<xsd:simpleType name="TDiskType">
69 <xsd:restriction base="xsd:token">
70 <xsd:enumeration value="HD"/>
71 <xsd:enumeration value="DVD"/>
72 <xsd:enumeration value="FD"/>
73 </xsd:restriction>
74</xsd:simpleType>
75
76<xsd:simpleType name="TDeviceType">
77 <xsd:restriction base="xsd:token">
78 <xsd:enumeration value="None"/>
79 <xsd:enumeration value="Floppy"/>
80 <xsd:enumeration value="DVD"/>
81 <xsd:enumeration value="HardDisk"/>
82 <xsd:enumeration value="Network"/>
83 </xsd:restriction>
84</xsd:simpleType>
85
86<xsd:simpleType name="TUSBDeviceFilterAction">
87 <xsd:restriction base="xsd:token">
88 <xsd:enumeration value="Ignore"/>
89 <xsd:enumeration value="Hold"/>
90 </xsd:restriction>
91</xsd:simpleType>
92
93<xsd:simpleType name="TNonEmptyString">
94 <xsd:restriction base="xsd:string">
95 <xsd:pattern value=".+"/>
96 </xsd:restriction>
97</xsd:simpleType>
98
99<xsd:simpleType name="TPresentDateTimeUTC">
100 <xsd:restriction base="xsd:dateTime">
101 <xsd:minInclusive value="2005-01-01T00:00:00Z"/>
102 <xsd:maxInclusive value="199999999-12-31T23:59:59Z"/>
103 <xsd:pattern value=".+-.+-.+T.+:.+:[0-9]{2}Z"/>
104 </xsd:restriction>
105</xsd:simpleType>
106
107<xsd:simpleType name="TGuestOSType">
108 <xsd:restriction base="xsd:string">
109 <xsd:enumeration value="unknown"/>
110 <xsd:enumeration value="dos"/>
111 <xsd:enumeration value="win31"/>
112 <xsd:enumeration value="win95"/>
113 <xsd:enumeration value="win98"/>
114 <xsd:enumeration value="winme"/>
115 <xsd:enumeration value="winnt4"/>
116 <xsd:enumeration value="win2k"/>
117 <xsd:enumeration value="winxp"/>
118 <xsd:enumeration value="win2k3"/>
119 <xsd:enumeration value="winvista"/>
120 <xsd:enumeration value="os2warp3"/>
121 <xsd:enumeration value="os2warp4"/>
122 <xsd:enumeration value="os2warp45"/>
123 <xsd:enumeration value="linux22"/>
124 <xsd:enumeration value="linux24"/>
125 <xsd:enumeration value="linux26"/>
126 <xsd:enumeration value="freebsd"/>
127 <xsd:enumeration value="openbsd"/>
128 <xsd:enumeration value="netbsd"/>
129 <xsd:enumeration value="netware"/>
130 <xsd:enumeration value="solaris"/>
131 <xsd:enumeration value="l4"/>
132 </xsd:restriction>
133</xsd:simpleType>
134
135<!--- @todo (dmik) capitalize enum values on next format change! -->
136<!--- @todo (dmik) change "null" to None" -->
137<xsd:simpleType name="TVRDPAuthType">
138 <xsd:restriction base="xsd:string">
139 <xsd:enumeration value="null"/>
140 <xsd:enumeration value="guest"/>
141 <xsd:enumeration value="external"/>
142 </xsd:restriction>
143</xsd:simpleType>
144
145<xsd:simpleType name="TNetworkAdapterType">
146 <xsd:restriction base="xsd:string">
147 <xsd:enumeration value="Am79C970A"/>
148 <xsd:enumeration value="Am79C973"/>
149 </xsd:restriction>
150</xsd:simpleType>
151
152<xsd:simpleType name="TTriStateBoolType">
153 <xsd:restriction base="xsd:string">
154 <xsd:enumeration value="false"/>
155 <xsd:enumeration value="true"/>
156 <xsd:enumeration value="default"/>
157 </xsd:restriction>
158</xsd:simpleType>
159
160<!--- @todo (dmik) capitalize enum values on next format change! -->
161<xsd:simpleType name="TBIOSBootMenuModeType">
162 <xsd:restriction base="xsd:string">
163 <xsd:enumeration value="disabled"/>
164 <xsd:enumeration value="menuonly"/>
165 <xsd:enumeration value="messageandmenu"/>
166 </xsd:restriction>
167</xsd:simpleType>
168
169<xsd:simpleType name="TClipboardMode">
170 <xsd:restriction base="xsd:string">
171 <xsd:enumeration value="Disabled"/>
172 <xsd:enumeration value="HostToGuest"/>
173 <xsd:enumeration value="GuestToHost"/>
174 <xsd:enumeration value="Bidirectional"/>
175 </xsd:restriction>
176</xsd:simpleType>
177
178<!--
179// Complex types
180/////////////////////////////////////////////////////////////////////////
181-->
182
183<xsd:complexType name="TImage">
184 <xsd:attribute name="src" type="TLocalFile" use="required"/>
185 <xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
186</xsd:complexType>
187
188<xsd:complexType name="TVirtualDiskImage">
189 <xsd:attribute name="filePath" type="TLocalFile" use="required"/>
190</xsd:complexType>
191
192<xsd:complexType name="TDiffHardDisk">
193 <xsd:sequence>
194 <xsd:element name="VirtualDiskImage" type="TVirtualDiskImage"/>
195 <xsd:element name="DiffHardDisk" type="TDiffHardDisk" minOccurs="0" maxOccurs="unbounded"/>
196 </xsd:sequence>
197 <xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
198</xsd:complexType>
199
200<xsd:complexType name="THardDisk">
201 <xsd:sequence>
202 <xsd:choice>
203 <xsd:element name="VirtualDiskImage" type="TVirtualDiskImage"/>
204 <xsd:element name="ISCSIHardDisk">
205 <xsd:complexType>
206 <xsd:attribute name="server" type="xsd:token" use="required"/>
207 <xsd:attribute name="port" type="xsd:unsignedShort" default="0"/>
208 <xsd:attribute name="target" type="xsd:token" use="required"/>
209 <xsd:attribute name="lun" type="TUInt64" default="0x0"/>
210 <xsd:attribute name="userName" type="xsd:token"/>
211 <xsd:attribute name="password" type="xsd:token"/>
212 </xsd:complexType>
213 </xsd:element>
214 <xsd:element name="PhysicalVolume">
215 <xsd:complexType>
216 <xsd:attribute name="path" type="TLocalFile" use="required"/>
217 </xsd:complexType>
218 </xsd:element>
219 </xsd:choice>
220 <xsd:element name="DiffHardDisk" type="TDiffHardDisk" minOccurs="0" maxOccurs="unbounded"/>
221 </xsd:sequence>
222 <xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
223 <xsd:attribute name="type" use="required">
224 <xsd:simpleType>
225 <xsd:restriction base="xsd:string">
226 <xsd:enumeration value="normal"/>
227 <xsd:enumeration value="immutable"/>
228 <xsd:enumeration value="writethrough"/>
229 </xsd:restriction>
230 </xsd:simpleType>
231 </xsd:attribute>
232</xsd:complexType>
233
234<xsd:complexType name="TImageRef">
235 <xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
236</xsd:complexType>
237
238<xsd:complexType name="THostDrive">
239 <xsd:attribute name="src" type="TLocalFile" use="required"/>
240</xsd:complexType>
241
242<xsd:complexType name="TUSBDeviceFilter">
243 <!--- @todo (dmik) make all attr names likeThis on next format change! -->
244 <xsd:attribute name="name" type="TNonEmptyString" use="required"/>
245 <xsd:attribute name="active" type="xsd:boolean" use="required"/>
246 <xsd:attribute name="vendorid" type="xsd:token"/>
247 <xsd:attribute name="productid" type="xsd:token"/>
248 <xsd:attribute name="revision" type="xsd:token"/>
249 <xsd:attribute name="manufacturer" type="xsd:token"/>
250 <xsd:attribute name="product" type="xsd:token"/>
251 <xsd:attribute name="serialnumber" type="xsd:token"/>
252 <xsd:attribute name="port" type="xsd:token"/>
253 <xsd:attribute name="remote" type="xsd:token"/>
254</xsd:complexType>
255
256<xsd:complexType name="THostUSBDeviceFilter">
257 <xsd:complexContent>
258 <xsd:extension base="TUSBDeviceFilter">
259 <xsd:attribute name="action" type="TUSBDeviceFilterAction" use="required"/>
260 </xsd:extension>
261 </xsd:complexContent>
262</xsd:complexType>
263
264<xsd:complexType name="TSystemProperties">
265 <xsd:attribute name="defaultVDIFolder" type="TLocalFile"/>
266 <xsd:attribute name="defaultMachineFolder" type="TLocalFile"/>
267 <!--- @todo (dmik) remove defaultSavedStateFolder on next format change! -->
268 <xsd:attribute name="defaultSavedStateFolder" type="TLocalFile"/>
269 <xsd:attribute name="remoteDisplayAuthLibrary" type="TLocalFile"/>
270 <xsd:attribute name="HWVirtExEnabled" type="xsd:boolean"/>
271</xsd:complexType>
272
273<xsd:complexType name="TExtraData">
274 <xsd:sequence>
275 <xsd:element name="ExtraDataItem" minOccurs="0" maxOccurs="unbounded">
276 <xsd:complexType>
277 <xsd:attribute name="name" type="xsd:token" use="required"/>
278 <xsd:attribute name="value" type="xsd:string" use="required"/>
279 </xsd:complexType>
280 </xsd:element>
281 </xsd:sequence>
282</xsd:complexType>
283
284<xsd:complexType name="TGlobal">
285 <xsd:all>
286 <xsd:element name="MachineRegistry">
287 <xsd:complexType>
288 <xsd:sequence>
289 <xsd:element name="MachineEntry" minOccurs="0" maxOccurs="unbounded">
290 <xsd:complexType>
291 <xsd:attribute name="src" type="TLocalFile" use="required"/>
292 <xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
293 </xsd:complexType>
294 </xsd:element>
295 </xsd:sequence>
296 </xsd:complexType>
297 </xsd:element>
298 <xsd:element name="DiskRegistry">
299 <xsd:complexType>
300 <xsd:all>
301 <xsd:element name="HardDisks" minOccurs="0">
302 <xsd:complexType>
303 <xsd:sequence>
304 <xsd:element name="HardDisk" type="THardDisk" minOccurs="0" maxOccurs="unbounded"/>
305 </xsd:sequence>
306 </xsd:complexType>
307 </xsd:element>
308 <xsd:element name="DVDImages" minOccurs="0">
309 <xsd:complexType>
310 <xsd:sequence>
311 <xsd:element name="Image" type="TImage" minOccurs="0" maxOccurs="unbounded"/>
312 </xsd:sequence>
313 </xsd:complexType>
314 </xsd:element>
315 <xsd:element name="FloppyImages" minOccurs="0">
316 <xsd:complexType>
317 <xsd:sequence>
318 <xsd:element name="Image" type="TImage" minOccurs="0" maxOccurs="unbounded"/>
319 </xsd:sequence>
320 </xsd:complexType>
321 </xsd:element>
322 </xsd:all>
323 </xsd:complexType>
324 </xsd:element>
325 <xsd:element name="USBDeviceFilters">
326 <xsd:complexType>
327 <xsd:sequence>
328 <xsd:element name="DeviceFilter" type="THostUSBDeviceFilter"
329 minOccurs="0" maxOccurs="unbounded"/>
330 </xsd:sequence>
331 </xsd:complexType>
332 </xsd:element>
333 <xsd:element name="SystemProperties" type="TSystemProperties"/>
334 <xsd:element name="ExtraData" type="TExtraData" minOccurs="0"/>
335 </xsd:all>
336</xsd:complexType>
337
338<xsd:complexType name="THWVirtExType">
339 <xsd:attribute name="enabled" type="TTriStateBoolType" default="default"/>
340</xsd:complexType>
341
342<xsd:complexType name="TCPU">
343 <xsd:sequence>
344 <xsd:element name="HardwareVirtEx" type="THWVirtExType" minOccurs="0"/>
345 </xsd:sequence>
346</xsd:complexType>
347
348<xsd:complexType name="TBoot">
349 <xsd:sequence>
350 <xsd:element name="Order" minOccurs="0" maxOccurs="unbounded">
351 <xsd:complexType>
352 <xsd:attribute name="position" use="required">
353 <xsd:simpleType>
354 <xsd:restriction base="xsd:unsignedInt">
355 <xsd:minInclusive value="1"/>
356 <xsd:maxInclusive value="4"/>
357 </xsd:restriction>
358 </xsd:simpleType>
359 </xsd:attribute>
360 <xsd:attribute name="device" type="TDeviceType" use="required"/>
361 </xsd:complexType>
362 </xsd:element>
363 </xsd:sequence>
364</xsd:complexType>
365
366<xsd:complexType name="TDisplay">
367 <xsd:attribute name="VRAMSize" use="required">
368 <xsd:simpleType>
369 <xsd:restriction base="xsd:unsignedInt">
370 <xsd:minInclusive value="1"/>
371 <xsd:maxInclusive value="32"/>
372 </xsd:restriction>
373 </xsd:simpleType>
374 </xsd:attribute>
375</xsd:complexType>
376
377<xsd:complexType name="TRemoteDisplay">
378 <xsd:attribute name="enabled" type="xsd:boolean"/>
379 <xsd:attribute name="port" type="xsd:unsignedInt" default="0"/>
380 <xsd:attribute name="authType" type="TVRDPAuthType" default="null"/>
381 <xsd:attribute name="authTimeout" type="xsd:unsignedInt" default="5000"/>
382</xsd:complexType>
383
384<xsd:complexType name="TBIOS">
385 <xsd:all>
386 <xsd:element name="ACPI">
387 <xsd:complexType>
388 <xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
389 </xsd:complexType>
390 </xsd:element>
391 <xsd:element name="IOAPIC" minOccurs="0">
392 <xsd:complexType>
393 <xsd:attribute name="enabled" type="xsd:boolean" default="false"/>
394 </xsd:complexType>
395 </xsd:element>
396 <xsd:element name="Logo" minOccurs="0">
397 <xsd:complexType>
398 <xsd:attribute name="fadeIn" type="xsd:boolean" default="true"/>
399 <xsd:attribute name="fadeOut" type="xsd:boolean" default="true"/>
400 <xsd:attribute name="displayTime" type="xsd:unsignedInt" default="0"/>
401 <xsd:attribute name="imagePath" type="TLocalFile"/>
402 </xsd:complexType>
403 </xsd:element>
404 <xsd:element name="BootMenu" minOccurs="0">
405 <xsd:complexType>
406 <xsd:attribute name="mode" type="TBIOSBootMenuModeType" default="messageandmenu"/>
407 </xsd:complexType>
408 </xsd:element>
409 </xsd:all>
410</xsd:complexType>
411
412<xsd:complexType name="THardDiskAttachment">
413 <xsd:attribute name="hardDisk" type="TNonNullUUID"/>
414 <xsd:attribute name="bus" use="required">
415 <xsd:simpleType>
416 <xsd:restriction base="xsd:token">
417 <xsd:enumeration value="ide0"/>
418 <xsd:enumeration value="ide1"/>
419 </xsd:restriction>
420 </xsd:simpleType>
421 </xsd:attribute>
422 <xsd:attribute name="device" use="required">
423 <xsd:simpleType>
424 <xsd:restriction base="xsd:token">
425 <xsd:enumeration value="master"/>
426 <xsd:enumeration value="slave"/>
427 </xsd:restriction>
428 </xsd:simpleType>
429 </xsd:attribute>
430</xsd:complexType>
431
432<xsd:complexType name="THardDiskAttachments">
433 <xsd:sequence>
434 <xsd:element name="HardDiskAttachment" type="THardDiskAttachment"
435 minOccurs="0" maxOccurs="unbounded"/>
436 </xsd:sequence>
437</xsd:complexType>
438
439<xsd:complexType name="TDVDDrive">
440 <xsd:choice minOccurs="0">
441 <xsd:element name="Image" type="TImageRef"/>
442 <xsd:element name="HostDrive" type="THostDrive"/>
443 </xsd:choice>
444 <xsd:attribute name="passthrough" type="xsd:boolean" default="false"/>
445</xsd:complexType>
446
447<xsd:complexType name="TFloppyDrive">
448 <xsd:choice minOccurs="0">
449 <xsd:element name="Image" type="TImageRef"/>
450 <xsd:element name="HostDrive" type="THostDrive"/>
451 </xsd:choice>
452 <xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
453</xsd:complexType>
454
455<xsd:complexType name="TUSBController">
456 <xsd:sequence>
457 <xsd:element name="Device" minOccurs="0" maxOccurs="unbounded">
458 <xsd:complexType>
459 <xsd:attribute name="vendorid" type="xsd:unsignedShort" use="required"/>
460 <xsd:attribute name="productid" type="xsd:unsignedShort" use="required"/>
461 <xsd:attribute name="revision" type="xsd:unsignedShort" use="required"/>
462 <xsd:attribute name="serialhash" type="TUInt64" use="required"/>
463 <xsd:attribute name="manufacturer" type="xsd:string"/>
464 <xsd:attribute name="product" type="xsd:string"/>
465 <xsd:attribute name="serialnumber" type="xsd:string"/>
466 <xsd:attribute name="comment" type="xsd:string"/>
467 </xsd:complexType>
468 </xsd:element>
469 <xsd:element name="DeviceFilter" type="TUSBDeviceFilter"
470 minOccurs="0" maxOccurs="unbounded"/>
471 </xsd:sequence>
472 <xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
473</xsd:complexType>
474
475<xsd:complexType name="TAdapter">
476 <xsd:attribute name="type" type="TNetworkAdapterType" default="Am79C970A"/>
477 <xsd:attribute name="slot" use="required">
478 <xsd:simpleType>
479 <xsd:restriction base="xsd:unsignedInt">
480 <xsd:minInclusive value="0"/>
481 <xsd:maxExclusive value="4"/>
482 </xsd:restriction>
483 </xsd:simpleType>
484 </xsd:attribute>
485 <xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
486 <xsd:attribute name="MACAddress">
487 <xsd:simpleType>
488 <xsd:restriction base="xsd:hexBinary">
489 <xsd:length value="6"/>
490 </xsd:restriction>
491 </xsd:simpleType>
492 </xsd:attribute>
493 <xsd:attribute name="cable" type="xsd:boolean" use="required"/>
494 <xsd:attribute name="trace" type="xsd:boolean" default="false"/>
495 <xsd:attribute name="tracefile" type="xsd:string"/>
496</xsd:complexType>
497
498<xsd:complexType name="TSharedFolder">
499 <xsd:attribute name="name" type="TNonEmptyString" use="required"/>
500 <xsd:attribute name="hostPath" type="TLocalFile" use="required"/>
501</xsd:complexType>
502
503<xsd:complexType name="TSharedFolders">
504 <xsd:sequence>
505 <xsd:element name="SharedFolder" type="TSharedFolder" minOccurs="0" maxOccurs="unbounded"/>
506 </xsd:sequence>
507</xsd:complexType>
508
509<xsd:complexType name="TClipboard">
510 <xsd:attribute name="mode" type="TClipboardMode" use="required"/>
511</xsd:complexType>
512
513<xsd:complexType name="THardware">
514 <xsd:all>
515 <xsd:element name="CPU" type="TCPU" minOccurs = "0"/>
516 <xsd:element name="Memory" type="TMemory"/>
517 <xsd:element name="Boot" type="TBoot">
518 <xsd:unique name="THardware-Boot-Order">
519 <xsd:selector xpath="vb:Order"/>
520 <xsd:field xpath="@position"/>
521 </xsd:unique>
522 </xsd:element>
523 <xsd:element name="Display" type="TDisplay"/>
524 <xsd:element name="RemoteDisplay" type="TRemoteDisplay" minOccurs="0"/>
525 <xsd:element name="BIOS" type="TBIOS"/>
526 <xsd:element name="DVDDrive" type="TDVDDrive"/>
527 <xsd:element name="FloppyDrive" type="TFloppyDrive"/>
528 <xsd:element name="USBController" type="TUSBController"/>
529 <xsd:element name="Network" type="TNetwork">
530 <xsd:unique name="THardware-Network-Adapter">
531 <xsd:selector xpath="vb:Adapter"/>
532 <xsd:field xpath="@slot"/>
533 </xsd:unique>
534 </xsd:element>
535 <xsd:element name="AudioAdapter" type="TAudioAdapter"/>
536 <!--- @todo (dmik) remove minOccurs="0" from SharedFolders on next format change! -->
537 <xsd:element name="SharedFolders" type="TSharedFolders" minOccurs="0">
538 <xsd:unique name="THardware-SharedFolders-SharedFolder">
539 <xsd:selector xpath="vb:SharedFolder"/>
540 <xsd:field xpath="@name"/>
541 </xsd:unique>
542 </xsd:element>
543 <!--- @todo (dmik) remove minOccurs="0" from SharedFolders on next format change! -->
544 <xsd:element name="Clipboard" type="TClipboard" minOccurs="0"/>
545 </xsd:all>
546</xsd:complexType>
547
548<xsd:complexType name="TMachine">
549 <xsd:all>
550 <xsd:element name="Hardware" type="THardware"/>
551 <xsd:element name="HardDiskAttachments" type="THardDiskAttachments"/>
552 <xsd:element name="ExtraData" type="TExtraData" minOccurs="0"/>
553 <xsd:element name="Snapshot" type="TSnapshot" minOccurs="0"/>
554 </xsd:all>
555 <xsd:attribute name="name" type="TNonEmptyString" use="required"/>
556 <xsd:attribute name="nameSync" type="xsd:boolean" default="true"/>
557 <xsd:attribute name="OSType" type="TGuestOSType" use="required"/>
558 <xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
559 <xsd:attribute name="stateFile" type="TLocalFile"/>
560 <xsd:attribute name="currentSnapshot" type="TNonNullUUID"/>
561 <xsd:attribute name="snapshotFolder" type="TLocalFile"/>
562 <!--- @todo (dmik) make lastStateChange required on next format change! -->
563 <xsd:attribute name="lastStateChange" type="TPresentDateTimeUTC"/>
564 <xsd:attribute name="aborted" type="xsd:boolean"/>
565 <xsd:attribute name="currentStateModified" type="xsd:boolean" default="true"/>
566</xsd:complexType>
567
568<xsd:complexType name="TSnapshot">
569 <xsd:all>
570 <xsd:element name="Description" type="xsd:string" minOccurs="0"/>
571 <xsd:element name="Hardware" type="THardware"/>
572 <xsd:element name="HardDiskAttachments" type="THardDiskAttachments"/>
573 <xsd:element name="Snapshots" minOccurs="0">
574 <xsd:complexType>
575 <xsd:sequence>
576 <xsd:element name="Snapshot" type="TSnapshot" minOccurs="0" maxOccurs="unbounded"/>
577 </xsd:sequence>
578 </xsd:complexType>
579 </xsd:element>
580 </xsd:all>
581 <xsd:attribute name="name" type="xsd:token" use="required"/>
582 <xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
583 <xsd:attribute name="timeStamp" type="TPresentDateTimeUTC" use="required"/>
584 <xsd:attribute name="stateFile" type="TLocalFile"/>
585</xsd:complexType>
586
587<xsd:complexType name="TVirtualBox" abstract="true">
588 <xsd:choice>
589 <xsd:element name="Global" type="TGlobal"/>
590 <xsd:element name="Machine" type="TMachine">
591 <!-- @currentSnapshot must refer to an existing Snapshot/@uuid -->
592 <xsd:key name="snapshot">
593 <xsd:selector xpath=".//vb:Snapshot"/>
594 <xsd:field xpath="@uuid"/>
595 </xsd:key>
596 <xsd:keyref name="currentSnapshot" refer="vb:snapshot">
597 <xsd:selector xpath="."/>
598 <xsd:field xpath="@currentSnapshot"/>
599 </xsd:keyref>
600 </xsd:element>
601 </xsd:choice>
602</xsd:complexType>
603
604</xsd:schema>
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette