<
xsd:
restriction base="xsd:string">
<
xsd:
pattern value=".+"/>
<
xsd:
simpleType name="TPresentDateTimeUTC">
<
xsd:
restriction base="xsd:dateTime">
<
xsd:
minInclusive value="2005-01-01T00:00:00Z"/>
<
xsd:
maxInclusive value="199999999-12-31T23:59:59Z"/>
<
xsd:
pattern value=".+-.+-.+T.+:.+:[0-9]{2}Z"/>
<
xsd:
simpleType name="TGuestOSType">
<
xsd:
restriction base="xsd:string">
<
xsd:
enumeration value="unknown"/>
<
xsd:
enumeration value="dos"/>
<
xsd:
enumeration value="win31"/>
<
xsd:
enumeration value="win95"/>
<
xsd:
enumeration value="win98"/>
<
xsd:
enumeration value="winme"/>
<
xsd:
enumeration value="winnt4"/>
<
xsd:
enumeration value="win2k"/>
<
xsd:
enumeration value="winxp"/>
<
xsd:
enumeration value="win2k3"/>
<
xsd:
enumeration value="winvista"/>
<
xsd:
enumeration value="os2warp3"/>
<
xsd:
enumeration value="os2warp4"/>
<
xsd:
enumeration value="os2warp45"/>
<
xsd:
enumeration value="linux22"/>
<
xsd:
enumeration value="linux24"/>
<
xsd:
enumeration value="linux26"/>
<
xsd:
enumeration value="freebsd"/>
<
xsd:
enumeration value="openbsd"/>
<
xsd:
enumeration value="netbsd"/>
<
xsd:
enumeration value="netware"/>
<
xsd:
enumeration value="solaris"/>
<
xsd:
enumeration value="l4"/>
<!--- @todo (dmik) capitalize enum values on next format change! --> <!--- @todo (dmik) change "null" to None" --> <
xsd:
simpleType name="TVRDPAuthType">
<
xsd:
restriction base="xsd:string">
<
xsd:
enumeration value="null"/>
<
xsd:
enumeration value="guest"/>
<
xsd:
enumeration value="external"/>
<
xsd:
simpleType name="TNetworkAdapterType">
<
xsd:
restriction base="xsd:string">
<
xsd:
enumeration value="Am79C970A"/>
<
xsd:
enumeration value="Am79C973"/>
<
xsd:
simpleType name="TTriStateBoolType">
<
xsd:
restriction base="xsd:string">
<
xsd:
enumeration value="false"/>
<
xsd:
enumeration value="true"/>
<
xsd:
enumeration value="default"/>
<!--- @todo (dmik) capitalize enum values on next format change! --> <
xsd:
simpleType name="TBIOSBootMenuModeType">
<
xsd:
restriction base="xsd:string">
<
xsd:
enumeration value="disabled"/>
<
xsd:
enumeration value="menuonly"/>
<
xsd:
enumeration value="messageandmenu"/>
<
xsd:
simpleType name="TClipboardMode">
<
xsd:
restriction base="xsd:string">
<
xsd:
enumeration value="Disabled"/>
<
xsd:
enumeration value="HostToGuest"/>
<
xsd:
enumeration value="GuestToHost"/>
<
xsd:
enumeration value="Bidirectional"/>
///////////////////////////////////////////////////////////////////////// <
xsd:
complexType name="TImage">
<
xsd:
attribute name="src" type="TLocalFile" use="required"/>
<
xsd:
attribute name="uuid" type="TNonNullUUID" use="required"/>
<
xsd:
complexType name="TVirtualDiskImage">
<
xsd:
attribute name="filePath" type="TLocalFile" use="required"/>
<
xsd:
complexType name="TDiffHardDisk">
<
xsd:
element name="VirtualDiskImage" type="TVirtualDiskImage"/>
<
xsd:
element name="DiffHardDisk" type="TDiffHardDisk" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
attribute name="uuid" type="TNonNullUUID" use="required"/>
<
xsd:
complexType name="THardDisk">
<
xsd:
element name="VirtualDiskImage" type="TVirtualDiskImage"/>
<
xsd:
element name="ISCSIHardDisk">
<
xsd:
attribute name="server" type="xsd:token" use="required"/>
<
xsd:
attribute name="port" type="xsd:unsignedShort" default="0"/>
<
xsd:
attribute name="target" type="xsd:token" use="required"/>
<
xsd:
attribute name="lun" type="TUInt64" default="0x0"/>
<
xsd:
attribute name="userName" type="xsd:token"/>
<
xsd:
attribute name="password" type="xsd:token"/>
<
xsd:
element name="VMDKImage">
<
xsd:
attribute name="filePath" type="TLocalFile" use="required"/>
<
xsd:
element name="PhysicalVolume">
<
xsd:
attribute name="path" type="TLocalFile" use="required"/>
<
xsd:
element name="DiffHardDisk" type="TDiffHardDisk" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
attribute name="uuid" type="TNonNullUUID" use="required"/>
<
xsd:
attribute name="type" use="required">
<
xsd:
restriction base="xsd:string">
<
xsd:
enumeration value="normal"/>
<
xsd:
enumeration value="immutable"/>
<
xsd:
enumeration value="writethrough"/>
<
xsd:
complexType name="TImageRef">
<
xsd:
attribute name="uuid" type="TNonNullUUID" use="required"/>
<
xsd:
complexType name="THostDrive">
<
xsd:
attribute name="src" type="TLocalFile" use="required"/>
<
xsd:
complexType name="TUSBDeviceFilter">
<!--- @todo (dmik) make all attr names likeThis on next format change! --> <
xsd:
attribute name="name" type="TNonEmptyString" use="required"/>
<
xsd:
attribute name="active" type="xsd:boolean" use="required"/>
<
xsd:
attribute name="vendorid" type="xsd:token"/>
<
xsd:
attribute name="productid" type="xsd:token"/>
<
xsd:
attribute name="revision" type="xsd:token"/>
<
xsd:
attribute name="manufacturer" type="xsd:token"/>
<
xsd:
attribute name="product" type="xsd:token"/>
<
xsd:
attribute name="serialnumber" type="xsd:token"/>
<
xsd:
attribute name="port" type="xsd:token"/>
<
xsd:
attribute name="remote" type="xsd:token"/>
<
xsd:
complexType name="THostUSBDeviceFilter">
<
xsd:
extension base="TUSBDeviceFilter">
<
xsd:
attribute name="action" type="TUSBDeviceFilterAction" use="required"/>
<
xsd:
complexType name="TSystemProperties">
<
xsd:
attribute name="defaultVDIFolder" type="TLocalFile"/>
<
xsd:
attribute name="defaultMachineFolder" type="TLocalFile"/>
<!--- @todo (dmik) remove defaultSavedStateFolder on next format change! --> <
xsd:
attribute name="defaultSavedStateFolder" type="TLocalFile"/>
<
xsd:
attribute name="remoteDisplayAuthLibrary" type="TLocalFile"/>
<
xsd:
attribute name="HWVirtExEnabled" type="xsd:boolean"/>
<
xsd:
complexType name="TExtraData">
<
xsd:
element name="ExtraDataItem" minOccurs="0" maxOccurs="unbounded">
<
xsd:
attribute name="name" type="xsd:token" use="required"/>
<
xsd:
attribute name="value" type="xsd:string" use="required"/>
<
xsd:
complexType name="TGlobal">
<
xsd:
element name="MachineRegistry">
<
xsd:
element name="MachineEntry" minOccurs="0" maxOccurs="unbounded">
<
xsd:
attribute name="src" type="TLocalFile" use="required"/>
<
xsd:
attribute name="uuid" type="TNonNullUUID" use="required"/>
<
xsd:
element name="DiskRegistry">
<
xsd:
element name="HardDisks" minOccurs="0">
<
xsd:
element name="HardDisk" type="THardDisk" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
element name="DVDImages" minOccurs="0">
<
xsd:
element name="Image" type="TImage" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
element name="FloppyImages" minOccurs="0">
<
xsd:
element name="Image" type="TImage" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
element name="USBDeviceFilters">
<
xsd:
element name="DeviceFilter" type="THostUSBDeviceFilter" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
element name="SystemProperties" type="TSystemProperties"/>
<
xsd:
element name="ExtraData" type="TExtraData" minOccurs="0"/>
<
xsd:
complexType name="THWVirtExType">
<
xsd:
attribute name="enabled" type="TTriStateBoolType" default="default"/>
<
xsd:
complexType name="TCPU">
<
xsd:
element name="HardwareVirtEx" type="THWVirtExType" minOccurs="0"/>
<
xsd:
complexType name="TBoot">
<
xsd:
element name="Order" minOccurs="0" maxOccurs="unbounded">
<
xsd:
attribute name="position" use="required">
<
xsd:
restriction base="xsd:unsignedInt">
<
xsd:
minInclusive value="1"/>
<
xsd:
maxInclusive value="4"/>
<
xsd:
attribute name="device" type="TDeviceType" use="required"/>
<
xsd:
complexType name="TDisplay">
<
xsd:
attribute name="VRAMSize" use="required">
<
xsd:
restriction base="xsd:unsignedInt">
<
xsd:
minInclusive value="1"/>
<
xsd:
maxInclusive value="128"/>
<
xsd:
complexType name="TRemoteDisplay">
<
xsd:
attribute name="enabled" type="xsd:boolean"/>
<
xsd:
attribute name="port" type="xsd:unsignedInt" default="0"/>
<
xsd:
attribute name="authType" type="TVRDPAuthType" default="null"/>
<
xsd:
attribute name="authTimeout" type="xsd:unsignedInt" default="5000"/>
<
xsd:
complexType name="TBIOS">
<
xsd:
element name="ACPI">
<
xsd:
attribute name="enabled" type="xsd:boolean" use="required"/>
<
xsd:
element name="IOAPIC" minOccurs="0">
<
xsd:
attribute name="enabled" type="xsd:boolean" default="false"/>
<
xsd:
element name="Logo" minOccurs="0">
<
xsd:
attribute name="fadeIn" type="xsd:boolean" default="true"/>
<
xsd:
attribute name="fadeOut" type="xsd:boolean" default="true"/>
<
xsd:
attribute name="displayTime" type="xsd:unsignedInt" default="0"/>
<
xsd:
attribute name="imagePath" type="TLocalFile"/>
<
xsd:
element name="BootMenu" minOccurs="0">
<
xsd:
attribute name="mode" type="TBIOSBootMenuModeType" default="messageandmenu"/>
<
xsd:
complexType name="THardDiskAttachment">
<
xsd:
attribute name="hardDisk" type="TNonNullUUID"/>
<
xsd:
attribute name="bus" use="required">
<
xsd:
restriction base="xsd:token">
<
xsd:
enumeration value="ide0"/>
<
xsd:
enumeration value="ide1"/>
<
xsd:
attribute name="device" use="required">
<
xsd:
restriction base="xsd:token">
<
xsd:
enumeration value="master"/>
<
xsd:
enumeration value="slave"/>
<
xsd:
complexType name="THardDiskAttachments">
<
xsd:
element name="HardDiskAttachment" type="THardDiskAttachment" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
complexType name="TDVDDrive">
<
xsd:
choice minOccurs="0">
<
xsd:
element name="Image" type="TImageRef"/>
<
xsd:
element name="HostDrive" type="THostDrive"/>
<
xsd:
attribute name="passthrough" type="xsd:boolean" default="false"/>
<
xsd:
complexType name="TFloppyDrive">
<
xsd:
choice minOccurs="0">
<
xsd:
element name="Image" type="TImageRef"/>
<
xsd:
element name="HostDrive" type="THostDrive"/>
<
xsd:
attribute name="enabled" type="xsd:boolean" default="true"/>
<
xsd:
complexType name="TUSBController">
<
xsd:
element name="Device" minOccurs="0" maxOccurs="unbounded">
<
xsd:
attribute name="vendorid" type="xsd:unsignedShort" use="required"/>
<
xsd:
attribute name="productid" type="xsd:unsignedShort" use="required"/>
<
xsd:
attribute name="revision" type="xsd:unsignedShort" use="required"/>
<
xsd:
attribute name="serialhash" type="TUInt64" use="required"/>
<
xsd:
attribute name="manufacturer" type="xsd:string"/>
<
xsd:
attribute name="product" type="xsd:string"/>
<
xsd:
attribute name="serialnumber" type="xsd:string"/>
<
xsd:
attribute name="comment" type="xsd:string"/>
<
xsd:
element name="DeviceFilter" type="TUSBDeviceFilter" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
attribute name="enabled" type="xsd:boolean" use="required"/>
<
xsd:
complexType name="TAdapter">
<
xsd:
attribute name="type" type="TNetworkAdapterType" default="Am79C970A"/>
<
xsd:
attribute name="slot" use="required">
<
xsd:
restriction base="xsd:unsignedInt">
<
xsd:
minInclusive value="0"/>
<
xsd:
maxExclusive value="4"/>
<
xsd:
attribute name="enabled" type="xsd:boolean" use="required"/>
<
xsd:
attribute name="MACAddress">
<
xsd:
restriction base="xsd:hexBinary">
<
xsd:
attribute name="cable" type="xsd:boolean" use="required"/>
<
xsd:
attribute name="trace" type="xsd:boolean" default="false"/>
<
xsd:
attribute name="tracefile" type="xsd:string"/>
<
xsd:
complexType name="TSharedFolder">
<
xsd:
attribute name="name" type="TNonEmptyString" use="required"/>
<
xsd:
attribute name="hostPath" type="TLocalFile" use="required"/>
<
xsd:
complexType name="TSharedFolders">
<
xsd:
element name="SharedFolder" type="TSharedFolder" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
complexType name="TClipboard">
<
xsd:
attribute name="mode" type="TClipboardMode" use="required"/>
<
xsd:
complexType name="THardware">
<
xsd:
element name="CPU" type="TCPU" minOccurs = "0"/>
<
xsd:
element name="Memory" type="TMemory"/>
<
xsd:
element name="Boot" type="TBoot">
<
xsd:
unique name="THardware-Boot-Order">
<
xsd:
selector xpath="vb:Order"/>
<
xsd:
field xpath="@position"/>
<
xsd:
element name="Display" type="TDisplay"/>
<
xsd:
element name="RemoteDisplay" type="TRemoteDisplay" minOccurs="0"/>
<
xsd:
element name="BIOS" type="TBIOS"/>
<
xsd:
element name="DVDDrive" type="TDVDDrive"/>
<
xsd:
element name="FloppyDrive" type="TFloppyDrive"/>
<
xsd:
element name="USBController" type="TUSBController"/>
<
xsd:
element name="Network" type="TNetwork">
<
xsd:
unique name="THardware-Network-Adapter">
<
xsd:
selector xpath="vb:Adapter"/>
<
xsd:
field xpath="@slot"/>
<
xsd:
element name="AudioAdapter" type="TAudioAdapter"/>
<!--- @todo (dmik) remove minOccurs="0" from SharedFolders on next format change! --> <
xsd:
element name="SharedFolders" type="TSharedFolders" minOccurs="0">
<
xsd:
unique name="THardware-SharedFolders-SharedFolder">
<
xsd:
selector xpath="vb:SharedFolder"/>
<
xsd:
field xpath="@name"/>
<!--- @todo (dmik) remove minOccurs="0" from SharedFolders on next format change! --> <
xsd:
element name="Clipboard" type="TClipboard" minOccurs="0"/>
<
xsd:
complexType name="TMachine">
<
xsd:
element name="Description" type="xsd:string" minOccurs="0"/>
<
xsd:
element name="Hardware" type="THardware"/>
<
xsd:
element name="HardDiskAttachments" type="THardDiskAttachments"/>
<
xsd:
element name="ExtraData" type="TExtraData" minOccurs="0"/>
<
xsd:
element name="Snapshot" type="TSnapshot" minOccurs="0"/>
<
xsd:
attribute name="name" type="TNonEmptyString" use="required"/>
<
xsd:
attribute name="nameSync" type="xsd:boolean" default="true"/>
<
xsd:
attribute name="OSType" type="TGuestOSType" use="required"/>
<
xsd:
attribute name="uuid" type="TNonNullUUID" use="required"/>
<
xsd:
attribute name="stateFile" type="TLocalFile"/>
<
xsd:
attribute name="currentSnapshot" type="TNonNullUUID"/>
<
xsd:
attribute name="snapshotFolder" type="TLocalFile"/>
<!--- @todo (dmik) make lastStateChange required on next format change! --> <
xsd:
attribute name="lastStateChange" type="TPresentDateTimeUTC"/>
<
xsd:
attribute name="aborted" type="xsd:boolean"/>
<
xsd:
attribute name="currentStateModified" type="xsd:boolean" default="true"/>
<
xsd:
complexType name="TSnapshot">
<
xsd:
element name="Description" type="xsd:string" minOccurs="0"/>
<
xsd:
element name="Hardware" type="THardware"/>
<
xsd:
element name="HardDiskAttachments" type="THardDiskAttachments"/>
<
xsd:
element name="Snapshots" minOccurs="0">
<
xsd:
element name="Snapshot" type="TSnapshot" minOccurs="0" maxOccurs="unbounded"/>
<
xsd:
attribute name="name" type="xsd:token" use="required"/>
<
xsd:
attribute name="uuid" type="TNonNullUUID" use="required"/>
<
xsd:
attribute name="timeStamp" type="TPresentDateTimeUTC" use="required"/>
<
xsd:
attribute name="stateFile" type="TLocalFile"/>
<
xsd:
complexType name="TVirtualBox" abstract="true">
<
xsd:
element name="Global" type="TGlobal"/>
<
xsd:
element name="Machine" type="TMachine">
<!-- @currentSnapshot must refer to an existing Snapshot/@uuid --> <
xsd:
key name="snapshot">
<
xsd:
selector xpath=".//vb:Snapshot"/>
<
xsd:
field xpath="@uuid"/>
<
xsd:
keyref name="currentSnapshot" refer="vb:snapshot">
<
xsd:
selector xpath="."/>
<
xsd:
field xpath="@currentSnapshot"/>