VirtualBox-settings-common.xsd revision 5acaf22beef2e76571b926e4cd5895f1baa10f17
891a081e38584dfb59697349fbf0aba2c4d4e1e2Christian Maeder<?xml version="1.0" encoding="UTF-8"?>
891a081e38584dfb59697349fbf0aba2c4d4e1e2Christian Maeder<!--
891a081e38584dfb59697349fbf0aba2c4d4e1e2Christian Maeder * :tabSize=2:indentSize=2:noTabs=true:
891a081e38584dfb59697349fbf0aba2c4d4e1e2Christian Maeder * :folding=explicit:collapseFolds=1:
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski *
891a081e38584dfb59697349fbf0aba2c4d4e1e2Christian Maeder * Sun xVM VirtualBox Settings Schema
891a081e38584dfb59697349fbf0aba2c4d4e1e2Christian Maeder * Common definitions
891a081e38584dfb59697349fbf0aba2c4d4e1e2Christian Maeder
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski Copyright (C) 2004-2007 Sun Microsystems, Inc.
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski This file is part of VirtualBox Open Source Edition (OSE), as
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski available from http://www.virtualbox.org. This file is free software;
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski you can redistribute it and/or modify it under the terms of the GNU
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski General Public License (GPL) as published by the Free Software
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski Foundation, in version 2 as it comes in the "COPYING" file of the
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski
d1126d58419412635564085406d3779325b33ae0Till Mossakowski Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder Clara, CA 95054 USA or visit http://www.sun.com if you need
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder additional information or have any questions.
8731f7b93b26083dc34a2c0937cd6493b42f2c2cTill Mossakowski-->
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski<xsd:schema
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski xmlns:xsd="http://www.w3.org/2001/XMLSchema"
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski xmlns="http://www.innotek.de/VirtualBox-settings"
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning xmlns:vb="http://www.innotek.de/VirtualBox-settings"
e8d782e6e650b71a2b0ee8461fd8d9fa31525591Christian Maeder targetNamespace="http://www.innotek.de/VirtualBox-settings"
80664cc18425d67cd71be80f27f882fa16e43848Christian Maeder elementFormDefault="qualified"
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder>
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski<xsd:annotation>
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski <xsd:documentation xml:lang="en">
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski Sun xVM VirtualBox Settings Schema (common definitions).
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder Copyright (c) 2004-2007 Sun Microsystems, Inc.
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder </xsd:documentation>
e1839fb37a3a2ccd457464cb0dcc5efd466dbe22Christian Maeder</xsd:annotation>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski<!--
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning// Simple types
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski/////////////////////////////////////////////////////////////////////////
891a081e38584dfb59697349fbf0aba2c4d4e1e2Christian Maeder-->
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski
0b2340d1ef7d0998e4b0c321021be942c6b67652Christian Maeder<xsd:simpleType name="TUUID">
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski <xsd:restriction base="xsd:token">
0b2340d1ef7d0998e4b0c321021be942c6b67652Christian Maeder <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}\}"/>
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
2b4130336e941b7d01c78a6da55449a4c6eca609Till Mossakowski<xsd:simpleType name="TNonNullUUID">
bd5ff898eef380d414edd0e8e392da280d35e047Christian Maeder <xsd:restriction base="TUUID">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:pattern value=".*[1-9A-Fa-f]+.*"/>
0b7c8279c741857d1681160f8b4144a9430ffa7fTill Mossakowski </xsd:restriction>
e7ce154edb906685b3fa7f6c0a764e18a4658068Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TUInt8">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:union>
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning <xsd:simpleType>
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning <xsd:restriction base="xsd:unsignedByte">
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning </xsd:restriction>
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning </xsd:simpleType>
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning <xsd:simpleType>
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning <xsd:restriction base="xsd:string">
8731f7b93b26083dc34a2c0937cd6493b42f2c2cTill Mossakowski <xsd:pattern value="0[xX][A-Fa-f0-9]{1,2}"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
2dfb9a95c5586f73abda1d0f369d6d154b159452Sonja Gröning </xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:union>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
e7ce154edb906685b3fa7f6c0a764e18a4658068Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TUInt16">
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:union>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:unsignedShort">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:pattern value="0[xX][A-Fa-f0-9]{1,4}"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:union>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TUInt64Hex">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:pattern value="0x[A-Fa-f0-9]{1,16}"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TLocalFile">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:pattern value=".+"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder </xsd:restriction>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder</xsd:simpleType>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder<xsd:simpleType name="TDiskType">
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:restriction base="xsd:token">
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="HD"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="DVD"/>
e1839fb37a3a2ccd457464cb0dcc5efd466dbe22Christian Maeder <xsd:enumeration value="FD"/>
e1839fb37a3a2ccd457464cb0dcc5efd466dbe22Christian Maeder </xsd:restriction>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder</xsd:simpleType>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder
e1839fb37a3a2ccd457464cb0dcc5efd466dbe22Christian Maeder<xsd:simpleType name="TDeviceType">
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:restriction base="xsd:token">
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="None"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="Floppy"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="DVD"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="HardDisk"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Network"/>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder </xsd:restriction>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder</xsd:simpleType>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder<xsd:simpleType name="TUSBDeviceFilterAction">
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder <xsd:restriction base="xsd:token">
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder <xsd:enumeration value="Ignore"/>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder <xsd:enumeration value="Hold"/>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder </xsd:restriction>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder</xsd:simpleType>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder<xsd:simpleType name="TNonEmptyString">
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder <xsd:restriction base="xsd:string">
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder <xsd:pattern value=".+"/>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder </xsd:restriction>
6f08007ef2919f70c396c491f349ff3e536900bbChristian Maeder</xsd:simpleType>
8731f7b93b26083dc34a2c0937cd6493b42f2c2cTill Mossakowski
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TPresentDateTimeUTC">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:dateTime">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:minInclusive value="1900-01-01T00:00:00Z"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:maxInclusive value="199999999-12-31T23:59:59Z"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:pattern value=".+-.+-.+T.+:.+:[0-9]{2}Z"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TGuestOSType">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <!-- @todo on next format change, rename dos to DOS, win2k3 to Win2003 and
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder so on. Possibly also use prefixes that determine the platform family:
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder Win_31, Win_Vista, Linux_ArchLinux, Unix_FreeBSD and so on. -->
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="unknown"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="dos"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="win31"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="win95"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="win98"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="winme"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="winnt4"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="win2k"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="winxp"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="win2k3"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="winvista"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="win2k8"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="os2warp3"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="os2warp4"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="os2warp45"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="ecs"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="linux22"/>
e7ce154edb906685b3fa7f6c0a764e18a4658068Christian Maeder <xsd:enumeration value="linux24"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="linux26"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="archlinux"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="debian"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="opensuse"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="fedoracore"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="gentoo"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="mandriva"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="redhat"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="ubuntu"/>
e1839fb37a3a2ccd457464cb0dcc5efd466dbe22Christian Maeder <xsd:enumeration value="xandros"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="freebsd"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="openbsd"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="netbsd"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="netware"/>
7660d5932a1fb9677d07889714b677a059af2b2fChristian Maeder <xsd:enumeration value="solaris"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="opensolaris"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder <xsd:enumeration value="l4"/>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder </xsd:restriction>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder</xsd:simpleType>
10f1342d686ed68712a2b25ed65fa5a18f9c3db7Christian Maeder
e7ce154edb906685b3fa7f6c0a764e18a4658068Christian Maeder<xsd:simpleType name="TVRDPAuthType">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Null"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Guest"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="External"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TNetworkAdapterType">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Am79C970A"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Am79C973"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="82540EM"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="82543GC"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TTriStateBoolType">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="false"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="true"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="default"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TBIOSBootMenuModeType">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Disabled"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="MenuOnly"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="MessageAndMenu"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TIDEControllerType">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="PIIX3"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="PIIX4"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TClipboardMode">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Disabled"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="HostToGuest"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="GuestToHost"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Bidirectional"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<xsd:simpleType name="TPortMode">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:restriction base="xsd:string">
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="Disconnected"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="HostPipe"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder <xsd:enumeration value="HostDevice"/>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder </xsd:restriction>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder</xsd:simpleType>
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder<!--
78d4b9e3558a2523c3335b1399385ac7d246f0c1Christian Maeder// Complex types
/////////////////////////////////////////////////////////////////////////
-->
<xsd:complexType name="TImage">
<xsd:attribute name="src" type="TLocalFile" use="required"/>
<xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
</xsd:complexType>
<xsd:complexType name="TVirtualDiskImage">
<xsd:attribute name="filePath" type="TLocalFile" use="required"/>
</xsd:complexType>
<xsd:complexType name="TDiffHardDisk">
<xsd:sequence>
<xsd:element name="VirtualDiskImage" type="TVirtualDiskImage"/>
<xsd:element name="DiffHardDisk" type="TDiffHardDisk" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
</xsd:complexType>
<xsd:complexType name="THardDisk">
<xsd:sequence>
<xsd:choice>
<xsd:element name="VirtualDiskImage" type="TVirtualDiskImage"/>
<xsd:element name="ISCSIHardDisk">
<xsd:complexType>
<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="TUInt64Hex" default="0x0"/>
<xsd:attribute name="userName" type="xsd:token"/>
<xsd:attribute name="password" type="xsd:token"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="VMDKImage">
<xsd:complexType>
<xsd:attribute name="filePath" type="TLocalFile" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="PhysicalVolume">
<xsd:complexType>
<xsd:attribute name="path" type="TLocalFile" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="CustomHardDisk">
<xsd:complexType>
<xsd:attribute name="location" type="TLocalFile" use="required"/>
<xsd:attribute name="format" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="VHDImage">
<xsd:complexType>
<xsd:attribute name="filePath" type="TLocalFile" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:element name="DiffHardDisk" type="TDiffHardDisk" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
<xsd:attribute name="type" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="normal"/>
<xsd:enumeration value="immutable"/>
<xsd:enumeration value="writethrough"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="TImageRef">
<xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
</xsd:complexType>
<xsd:complexType name="THostDrive">
<xsd:attribute name="src" type="TLocalFile" use="required"/>
</xsd:complexType>
<xsd:complexType name="TUSBDeviceFilter">
<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:attribute name="maskedInterfaces" type="xsd:unsignedInt" default="0"/>
</xsd:complexType>
<xsd:complexType name="THostUSBDeviceFilter">
<xsd:complexContent>
<xsd:extension base="TUSBDeviceFilter">
<xsd:attribute name="action" type="TUSBDeviceFilterAction" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="TSystemProperties">
<xsd:attribute name="defaultVDIFolder" type="TLocalFile"/>
<xsd:attribute name="defaultMachineFolder" type="TLocalFile"/>
<xsd:attribute name="remoteDisplayAuthLibrary" type="TLocalFile"/>
<xsd:attribute name="webServiceAuthLibrary" type="TLocalFile"/>
<xsd:attribute name="HWVirtExEnabled" type="xsd:boolean"/>
<xsd:attribute name="LogHistoryCount" type="xsd:unsignedInt" default="3"/>
</xsd:complexType>
<xsd:complexType name="TExtraData">
<xsd:sequence>
<xsd:element name="ExtraDataItem" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:token" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TGlobal">
<xsd:all>
<xsd:element name="MachineRegistry">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MachineEntry" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="src" type="TLocalFile" use="required"/>
<xsd:attribute name="uuid" type="TNonNullUUID" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DiskRegistry">
<xsd:complexType>
<xsd:all>
<xsd:element name="HardDisks" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="HardDisk" type="THardDisk" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DVDImages" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Image" type="TImage" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="FloppyImages" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Image" type="TImage" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="USBDeviceFilters">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DeviceFilter" type="THostUSBDeviceFilter"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SystemProperties" type="TSystemProperties"/>
<xsd:element name="ExtraData" type="TExtraData" minOccurs="0"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="THWVirtExType">
<xsd:attribute name="enabled" type="TTriStateBoolType" default="default"/>
</xsd:complexType>
<xsd:complexType name="THWVirtExNestedPagingType">
<xsd:attribute name="enabled" type="xsd:boolean" default="false"/>
</xsd:complexType>
<xsd:complexType name="THWVirtExVPIDType">
<xsd:attribute name="enabled" type="xsd:boolean" default="false"/>
</xsd:complexType>
<xsd:complexType name="TPAEType">
<xsd:attribute name="enabled" type="xsd:boolean" default="false"/>
</xsd:complexType>
<xsd:complexType name="TCPU">
<xsd:sequence>
<xsd:element name="HardwareVirtEx" type="THWVirtExType" minOccurs="0"/>
<xsd:element name="HardwareVirtExNestedPaging" type="THWVirtExNestedPagingType" minOccurs="0"/>
<xsd:element name="HardwareVirtExVPID" type="THWVirtExVPIDType" minOccurs="0"/>
<xsd:element name="PAE" type="TPAEType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TBoot">
<xsd:sequence>
<xsd:element name="Order" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="position" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:unsignedInt">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="4"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="device" type="TDeviceType" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TDisplay">
<xsd:attribute name="VRAMSize" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:unsignedInt">
<xsd:minInclusive value="1"/>
<xsd:maxInclusive value="128"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="MonitorCount" default="1">
<xsd:simpleType>
<xsd:restriction base="xsd:unsignedInt">
<xsd:maxInclusive value="8"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="TRemoteDisplay">
<xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
<xsd:attribute name="port" type="xsd:unsignedInt" default="0"/>
<xsd:attribute name="netAddress" type="xsd:token" default=""/>
<xsd:attribute name="authType" type="TVRDPAuthType" default="Null"/>
<xsd:attribute name="authTimeout" type="xsd:unsignedInt" default="5000"/>
<xsd:attribute name="allowMultiConnection" type="xsd:boolean" default="false"/>
<xsd:attribute name="reuseSingleConnection" type="xsd:boolean" default="false"/>
</xsd:complexType>
<xsd:complexType name="TBIOS">
<xsd:all>
<xsd:element name="ACPI">
<xsd:complexType>
<xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="IOAPIC" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="enabled" type="xsd:boolean" default="false"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Logo" minOccurs="0">
<xsd:complexType>
<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:complexType>
</xsd:element>
<xsd:element name="BootMenu" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="mode" type="TBIOSBootMenuModeType" default="MessageAndMenu"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="TimeOffset" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="value" type="xsd:integer" default="0"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="PXEDebug" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="enabled" type="xsd:boolean" default="false"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="IDEController" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="type" use="required" type="TIDEControllerType"/>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="THardDiskAttachment">
<xsd:attribute name="hardDisk" type="TNonNullUUID" use="required"/>
<xsd:attribute name="bus" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="IDE"/>
<xsd:enumeration value="SATA"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="channel" type="xsd:unsignedInt" use="required"/>
<xsd:attribute name="device" type="xsd:unsignedInt" default="0"/>
</xsd:complexType>
<xsd:complexType name="THardDiskAttachments">
<xsd:sequence>
<xsd:element name="HardDiskAttachment" type="THardDiskAttachment"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TDVDDrive">
<xsd:choice minOccurs="0">
<xsd:element name="Image" type="TImageRef"/>
<xsd:element name="HostDrive" type="THostDrive"/>
</xsd:choice>
<xsd:attribute name="passthrough" type="xsd:boolean" default="false"/>
</xsd:complexType>
<xsd:complexType name="TFloppyDrive">
<xsd:choice minOccurs="0">
<xsd:element name="Image" type="TImageRef"/>
<xsd:element name="HostDrive" type="THostDrive"/>
</xsd:choice>
<xsd:attribute name="enabled" type="xsd:boolean" default="true"/>
</xsd:complexType>
<xsd:complexType name="TUSBController">
<xsd:sequence>
<xsd:element name="DeviceFilter" type="TUSBDeviceFilter"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
<xsd:attribute name="enabledEhci" type="xsd:boolean" default="false"/>
</xsd:complexType>
<xsd:complexType name="TAudioAdapterBase">
<xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
<xsd:attribute name="controller" default="AC97">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="AC97"/>
<xsd:enumeration value="SB16"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="TNetworkAdapter">
<xsd:attribute name="type" type="TNetworkAdapterType" default="Am79C970A"/>
<xsd:attribute name="slot" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:unsignedInt">
<xsd:minInclusive value="0"/>
<xsd:maxExclusive value="4"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
<xsd:attribute name="MACAddress">
<xsd:simpleType>
<xsd:restriction base="xsd:hexBinary">
<xsd:pattern value="[0-9A-Fa-f][02468ACEace][0-9A-Fa-f]{10}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="cable" type="xsd:boolean" use="required"/>
<xsd:attribute name="speed" type="xsd:unsignedInt" default="1000000"/>
<xsd:attribute name="trace" type="xsd:boolean" default="false"/>
<xsd:attribute name="tracefile" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="TUARTPort">
<xsd:attribute name="slot" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:unsignedInt">
<xsd:minInclusive value="0"/>
<xsd:maxExclusive value="2"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
<xsd:attribute name="IRQ" type="TUInt8" use="required"/>
<xsd:attribute name="IOBase" type="TUInt16" use="required"/>
<xsd:attribute name="hostMode" type="TPortMode" use="required"/>
<xsd:attribute name="path" type="TLocalFile"/>
<xsd:attribute name="server" type="xsd:boolean" default="false"/>
</xsd:complexType>
<xsd:complexType name="TUART">
<xsd:sequence>
<xsd:element name="Port" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="TUARTPort">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TLPTPort">
<xsd:attribute name="slot" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:unsignedInt">
<xsd:minInclusive value="0"/>
<xsd:maxExclusive value="2"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
<xsd:attribute name="IRQ" type="TUInt8" use="required"/>
<xsd:attribute name="IOBase" type="TUInt16" use="required"/>
<xsd:attribute name="path" type="TLocalFile"/>
</xsd:complexType>
<xsd:complexType name="TLPT">
<xsd:sequence>
<xsd:element name="Port" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="TLPTPort">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TSharedFolder">
<xsd:attribute name="name" type="TNonEmptyString" use="required"/>
<xsd:attribute name="hostPath" type="TLocalFile" use="required"/>
<xsd:attribute name="writable" type="xsd:boolean" default="true"/>
</xsd:complexType>
<xsd:complexType name="TSharedFolders">
<xsd:sequence>
<xsd:element name="SharedFolder" type="TSharedFolder" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TClipboard">
<xsd:attribute name="mode" type="TClipboardMode" use="required"/>
</xsd:complexType>
<xsd:complexType name="TGuest">
<xsd:attribute name="memoryBalloonSize" type="xsd:unsignedInt" default="0"/>
<xsd:attribute name="statisticsUpdateInterval" type="xsd:unsignedInt" default="0"/>
</xsd:complexType>
<xsd:complexType name="TSATAController">
<xsd:attribute name="enabled" type="xsd:boolean" use="required"/>
<xsd:attribute name="IDE0MasterEmulationPort" type="xsd:unsignedInt" default="0"/>
<xsd:attribute name="IDE0SlaveEmulationPort" type="xsd:unsignedInt" default="1"/>
<xsd:attribute name="IDE1MasterEmulationPort" type="xsd:unsignedInt" default="2"/>
<xsd:attribute name="IDE1SlaveEmulationPort" type="xsd:unsignedInt" default="3"/>
<xsd:attribute name="PortCount" type="xsd:unsignedInt" default="30"/>
</xsd:complexType>
<xsd:complexType name="TGuestProperty">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
<xsd:attribute name="timestamp" type="xsd:unsignedLong" default="0"/>
<xsd:attribute name="flags" type="xsd:string" default=""/>
</xsd:complexType>
<xsd:complexType name="TGuestProperties">
<xsd:sequence>
<xsd:element name="GuestProperty" type="TGuestProperty" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="THardware">
<xsd:all>
<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:unique>
</xsd:element>
<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="SATAController" type="TSATAController"/>
<xsd:element name="Network" type="TNetwork">
<xsd:unique name="THardware-Network-Adapter">
<xsd:selector xpath="vb:Adapter"/>
<xsd:field xpath="@slot"/>
</xsd:unique>
</xsd:element>
<xsd:element name="UART" type="TUART">
<xsd:unique name="THardware-UART-Port">
<xsd:selector xpath="vb:Port"/>
<xsd:field xpath="@slot"/>
</xsd:unique>
</xsd:element>
<xsd:element name="LPT" type="TLPT">
<xsd:unique name="THardware-LPT-Port">
<xsd:selector xpath="vb:Port"/>
<xsd:field xpath="@slot"/>
</xsd:unique>
</xsd:element>
<xsd:element name="AudioAdapter" type="TAudioAdapter"/>
<xsd:element name="SharedFolders" type="TSharedFolders">
<xsd:unique name="THardware-SharedFolders-SharedFolder">
<xsd:selector xpath="vb:SharedFolder"/>
<xsd:field xpath="@name"/>
</xsd:unique>
</xsd:element>
<xsd:element name="Clipboard" type="TClipboard"/>
<xsd:element name="Guest" type="TGuest"/>
<xsd:element name="GuestProperties" type="TGuestProperties" minOccurs="0">
<xsd:unique name="THardware-GuestProperties-GuestProperty">
<xsd:selector xpath="vb:GuestProperty"/>
<xsd:field xpath="@name"/>
</xsd:unique>
</xsd:element>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="TMachine">
<xsd:all>
<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:all>
<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"/>
<xsd:attribute name="lastStateChange" type="TPresentDateTimeUTC"/>
<xsd:attribute name="aborted" type="xsd:boolean" default="false"/>
<xsd:attribute name="currentStateModified" type="xsd:boolean" default="true"/>
</xsd:complexType>
<xsd:complexType name="TSnapshot">
<xsd:all>
<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:complexType>
<xsd:sequence>
<xsd:element name="Snapshot" type="TSnapshot" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
<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>
<xsd:complexType name="TVirtualBox" abstract="true">
<xsd:choice>
<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:key>
<xsd:keyref name="currentSnapshot" refer="vb:snapshot">
<xsd:selector xpath="."/>
<xsd:field xpath="@currentSnapshot"/>
</xsd:keyref>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:schema>