VirtualBox.dtd revision ad27e1d5e48ca41245120c331cc88b50464813ce
ad27e1d5e48ca41245120c331cc88b50464813cevboxsync Unofficial DTD for the VirtualBox.xidl file. This is not currently used:
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync neither by the VirtualBox build process nor at runtime, so it's not shipped
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync with the product either, and thus not guaranteed to be up to date.
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync It is still the only sort-of-documentation available about what is valid
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync XIDL syntax.
5c65eaa08f2ec993a19c9bef6e5463918e40e0ebvboxsync Copyright (C) 2008-2010 Oracle Corporation
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync This file is part of VirtualBox Open Source Edition (OSE), as
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync available from http://www.virtualbox.org. This file is free software;
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync you can redistribute it and/or modify it under the terms of the GNU
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync General Public License (GPL) as published by the Free Software
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync Foundation, in version 2 as it comes in the "COPYING" file of the
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync VirtualBox OSE distribution. VirtualBox OSE is distributed in the
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ELEMENT idl (if|module)*> <!-- done -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ATTLIST if target (midl|xpidl|wsdl) #REQUIRED> <!-- done -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ATTLIST if target (midl|xpidl|wsdl) #REQUIRED> <!-- done -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ELEMENT module (enum|interface|class|collection|if|enumerator)*> <!-- done -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ATTLIST module supportsErrorInfo (yes|no) #REQUIRED>
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ELEMENT interface (desc?, (attribute|method|class|if)*)> <!-- done -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ATTLIST interface supportsErrorInfo (yes|no) #IMPLIED>
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ATTLIST interface wsmap (fail|none|uuid|wstring|global|struct|managed) "fail">
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!-- wsmap specifies how this interface is mapped to the
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync web services API (WSDL). One of the following must be specified:
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync fail: the default value, for which vboxweb.xsl will raise an error and die.
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync global: object is a singleton and resides in global variable in the web service.
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync managed: objects of this type are referenced by managed object referenced
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync struct: object is a simple struct and can be copied as such
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync suppress: Skip this interface entirely, and all methods that use it -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ATTLIST interface wscpp (generate|hardcoded) "generate">
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!-- wscpp specifies whether C++ code should be generated in methodmaps.cpp
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync as a mapper to COM APIs. By default, this is "generate"; however, if set
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync to "hardcoded", then no automatic C++ code should be generated. This is done
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync for webservice APIs that have no counterpart in COM and are hard-coded in
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync the webservice server, such as IManagedObjectReference and ISessionManager. -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ELEMENT class (interface)> <!-- done (ignoring) -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ELEMENT method (desc?,param*, note*)> <!-- done -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!ELEMENT desc (#PCDATA|link|note|see|b|tt|i|pre|p|ul|h3|table)*> <!-- done (ignoring) -->
e1bb6985ff821f55a24e0959c809a15871e58c5avboxsync <!-- the following only appear within descriptions -->