1 | <!--
|
---|
2 | Unofficial DTD for the VirtualBox.xidl file. This is not currently used:
|
---|
3 | neither by the VirtualBox build process nor at runtime, so it's not shipped
|
---|
4 | with the product either, and thus not guaranteed to be up to date.
|
---|
5 | It is still the only sort-of-documentation available about what is valid
|
---|
6 | XIDL syntax.
|
---|
7 |
|
---|
8 | Copyright (C) 2008-2010 Oracle Corporation
|
---|
9 |
|
---|
10 | This file is part of VirtualBox Open Source Edition (OSE), as
|
---|
11 | available from http://www.virtualbox.org. This file is free software;
|
---|
12 | you can redistribute it and/or modify it under the terms of the GNU
|
---|
13 | General Public License (GPL) as published by the Free Software
|
---|
14 | Foundation, in version 2 as it comes in the "COPYING" file of the
|
---|
15 | VirtualBox OSE distribution. VirtualBox OSE is distributed in the
|
---|
16 | hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
|
---|
17 | -->
|
---|
18 | <!DOCTYPE idl [
|
---|
19 | <!ELEMENT idl (if|module)*> <!-- done -->
|
---|
20 | <!ELEMENT if ANY>
|
---|
21 | <!ATTLIST if target (midl|xpidl|wsdl) #REQUIRED> <!-- done -->
|
---|
22 | <!ELEMENT ifnot ANY>
|
---|
23 | <!ATTLIST if target (midl|xpidl|wsdl) #REQUIRED> <!-- done -->
|
---|
24 | <!ELEMENT cpp ANY>
|
---|
25 | <!ATTLIST cpp line CDATA #IMPLIED> <!-- done -->
|
---|
26 | <!ELEMENT module (enum|interface|class|collection|if|enumerator)*> <!-- done -->
|
---|
27 | <!ATTLIST module name CDATA #REQUIRED>
|
---|
28 | <!ATTLIST module uuid CDATA #REQUIRED>
|
---|
29 | <!ATTLIST module version CDATA #REQUIRED>
|
---|
30 | <!ATTLIST module desc CDATA #REQUIRED>
|
---|
31 | <!ATTLIST module supportsErrorInfo (yes|no) #REQUIRED>
|
---|
32 | <!ELEMENT enum (desc?, const+)> <!-- done -->
|
---|
33 | <!ATTLIST enum name CDATA #REQUIRED>
|
---|
34 | <!ATTLIST enum uuid CDATA #REQUIRED>
|
---|
35 | <!ELEMENT const (desc?)> <!-- done -->
|
---|
36 | <!ATTLIST const name CDATA #REQUIRED>
|
---|
37 | <!ATTLIST const value CDATA #REQUIRED>
|
---|
38 | <!ELEMENT interface (desc?, (attribute|method|class|if)*)> <!-- done -->
|
---|
39 | <!ATTLIST interface name CDATA #REQUIRED>
|
---|
40 | <!ATTLIST interface extends CDATA #IMPLIED>
|
---|
41 | <!ATTLIST interface uuid CDATA #IMPLIED>
|
---|
42 | <!ATTLIST interface supportsErrorInfo (yes|no) #IMPLIED>
|
---|
43 | <!ATTLIST interface default (yes|no) "no">
|
---|
44 | <!ATTLIST interface internal (yes|no) "no">
|
---|
45 | <!ATTLIST interface wsmap (fail|none|uuid|wstring|global|struct|managed) "fail">
|
---|
46 | <!-- wsmap specifies how this interface is mapped to the
|
---|
47 | web services API (WSDL). One of the following must be specified:
|
---|
48 | fail: the default value, for which vboxweb.xsl will raise an error and die.
|
---|
49 | global: object is a singleton and resides in global variable in the web service.
|
---|
50 | managed: objects of this type are referenced by managed object referenced
|
---|
51 | struct: object is a simple struct and can be copied as such
|
---|
52 | suppress: Skip this interface entirely, and all methods that use it -->
|
---|
53 | <!ATTLIST interface wscpp (generate|hardcoded) "generate">
|
---|
54 | <!-- wscpp specifies whether C++ code should be generated in methodmaps.cpp
|
---|
55 | as a mapper to COM APIs. By default, this is "generate"; however, if set
|
---|
56 | to "hardcoded", then no automatic C++ code should be generated. This is done
|
---|
57 | for webservice APIs that have no counterpart in COM and are hard-coded in
|
---|
58 | the webservice server, such as IManagedObjectReference and ISessionManager. -->
|
---|
59 | <!ELEMENT class (interface)> <!-- done (ignoring) -->
|
---|
60 | <!ATTLIST class name CDATA #REQUIRED>
|
---|
61 | <!ATTLIST class uuid CDATA #REQUIRED>
|
---|
62 | <!ELEMENT attribute (desc?)> <!-- done -->
|
---|
63 | <!ATTLIST attribute name CDATA #REQUIRED>
|
---|
64 | <!ATTLIST attribute type CDATA #REQUIRED>
|
---|
65 | <!ATTLIST attribute readonly (yes|no) "no">
|
---|
66 | <!ATTLIST attribute mod (ptr|string) #IMPLIED>
|
---|
67 | <!ATTLIST attribute internal (yes|no) "no">
|
---|
68 | <!ATTLIST attribute safearray (yes|no) "no">
|
---|
69 | <!ELEMENT method (desc?,param*, note*)> <!-- done -->
|
---|
70 | <!ATTLIST method name CDATA #REQUIRED>
|
---|
71 | <!ATTLIST method const CDATA "no">
|
---|
72 | <!ATTLIST method internal (yes|no) "no">
|
---|
73 | <!ELEMENT param (desc?)> <!-- done -->
|
---|
74 | <!ATTLIST param name CDATA #REQUIRED>
|
---|
75 | <!ATTLIST param type CDATA #REQUIRED>
|
---|
76 | <!ATTLIST param dir (in|out|return) #REQUIRED>
|
---|
77 | <!ATTLIST param mod (ptr|string) #IMPLIED>
|
---|
78 | <!ATTLIST param safearray (yes|no) "no">
|
---|
79 | <!ELEMENT desc (#PCDATA|link|note|see|b|tt|i|pre|p|ul|h3|table)*> <!-- done (ignoring) -->
|
---|
80 | <!-- the following only appear within descriptions -->
|
---|
81 | <!ELEMENT link (#PCDATA)>
|
---|
82 | <!ATTLIST link to CDATA #REQUIRED>
|
---|
83 | <!ELEMENT h3 ANY>
|
---|
84 | <!ELEMENT p ANY>
|
---|
85 | <!ELEMENT b ANY>
|
---|
86 | <!ELEMENT i ANY>
|
---|
87 | <!ELEMENT ul (#PCDATA|li)*>
|
---|
88 | <!ELEMENT li ANY>
|
---|
89 | <!ELEMENT pre ANY>
|
---|
90 | <!ELEMENT tt ANY>
|
---|
91 | <!ELEMENT see (#PCDATA|link)*>
|
---|
92 | <!ELEMENT note ANY>
|
---|
93 | <!ELEMENT table (tr)+>
|
---|
94 | <!ELEMENT tr (td|th)+>
|
---|
95 | <!ELEMENT th ANY>
|
---|
96 | <!ELEMENT td ANY>
|
---|
97 | ]>
|
---|