VirtualBox

source: vbox/trunk/src/VBox/Main/idl/VirtualBox.dtd@ 53390

Last change on this file since 53390 was 47649, checked in by vboxsync, 11 years ago

Main/idl: Fix small VirtualBox.xidl issues (showing the need to routinely validate the xidl file), bring the DTD up to date, and add a target for validating the xidl file. Unfortunately we don't have the tools everywhere to make this part of the build.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.4 KB
Line 
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-2013 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 <!ELEMENT idl (desc|if|library)*> <!-- done -->
19 <!ELEMENT if ANY>
20 <!ATTLIST if target (midl|xpidl|wsdl) #REQUIRED> <!-- done -->
21 <!ELEMENT cpp ANY>
22 <!ATTLIST cpp line CDATA #IMPLIED> <!-- done -->
23 <!ELEMENT library (descGroup|if|result|enum|interface|module)*>
24 <!ATTLIST library name CDATA #REQUIRED>
25 <!ATTLIST library uuid CDATA #REQUIRED>
26 <!ATTLIST library version CDATA #REQUIRED>
27 <!ATTLIST library desc CDATA #REQUIRED>
28 <!ATTLIST library appUuid CDATA #REQUIRED>
29 <!ATTLIST library supportsErrorInfo CDATA #REQUIRED>
30 <!ELEMENT result (#PCDATA|desc|link)*> <!-- done -->
31 <!ATTLIST result name CDATA #REQUIRED>
32 <!ATTLIST result value CDATA #IMPLIED>
33 <!ELEMENT module (class)*> <!-- done -->
34 <!ATTLIST module name CDATA #REQUIRED>
35 <!ATTLIST module context CDATA #REQUIRED>
36 <!ATTLIST module threadingModel CDATA #IMPLIED>
37 <!ELEMENT enum (desc?, const+)> <!-- done -->
38 <!ATTLIST enum name CDATA #REQUIRED>
39 <!ATTLIST enum uuid CDATA #REQUIRED>
40 <!ELEMENT const (desc?)> <!-- done -->
41 <!ATTLIST const name CDATA #REQUIRED>
42 <!ATTLIST const value CDATA #REQUIRED>
43 <!ATTLIST const wsmap (managed|suppress) "managed">
44 <!ELEMENT interface (desc?, (attribute|method|class|if)*)> <!-- done -->
45 <!ATTLIST interface name CDATA #REQUIRED>
46 <!ATTLIST interface extends CDATA #IMPLIED>
47 <!ATTLIST interface uuid CDATA #IMPLIED>
48 <!ATTLIST interface supportsErrorInfo (yes|no) #IMPLIED>
49 <!ATTLIST interface default (yes|no) "no">
50 <!ATTLIST interface internal (yes|no) "no">
51 <!ATTLIST interface wsmap (fail|global|struct|managed|suppress) "fail">
52 <!-- wsmap specifies how this interface is mapped to the
53 web services API (WSDL). One of the following must be specified:
54 fail: the default value, for which vboxweb.xsl will raise an error and die.
55 global: object is a singleton and resides in global variable in the web service.
56 managed: objects of this type are referenced by managed object referenced
57 struct: object is a simple struct and can be copied as such
58 suppress: Skip this interface entirely, and all methods that use it -->
59 <!ATTLIST interface wscpp (generate|hardcoded) "generate">
60 <!-- wscpp specifies whether C++ code should be generated in methodmaps.cpp
61 as a mapper to COM APIs. By default, this is "generate"; however, if set
62 to "hardcoded", then no automatic C++ code should be generated. This is done
63 for webservice APIs that have no counterpart in COM and are hard-coded in
64 the webservice server, such as IManagedObjectReference and ISessionManager. -->
65 <!ATTLIST interface autogen CDATA #IMPLIED>
66 <!-- autogen names the style of code auto-generation for this
67 interface (currently only VBoxEvent). -->
68 <!ATTLIST interface id CDATA #IMPLIED>
69 <!-- id is only relevant for event interfaces, and specifies
70 which const name will be generated. -->
71 <!ATTLIST interface waitable (yes|no) "no">
72 <!-- waitable is only relevant for event interfaces, and
73 specifies that this event can be waited for. -->
74 <!ELEMENT class (interface)> <!-- done -->
75 <!ATTLIST class name CDATA #REQUIRED>
76 <!ATTLIST class uuid CDATA #REQUIRED>
77 <!ATTLIST class namespace CDATA #REQUIRED>
78 <!ELEMENT attribute (desc?)> <!-- done -->
79 <!ATTLIST attribute name CDATA #REQUIRED>
80 <!ATTLIST attribute type CDATA #REQUIRED>
81 <!ATTLIST attribute default CDATA #IMPLIED>
82 <!ATTLIST attribute readonly (yes|no) "no">
83 <!ATTLIST attribute mod (ptr|string) #IMPLIED>
84 <!ATTLIST attribute internal (yes|no) "no">
85 <!ATTLIST attribute safearray (yes|no) "no">
86 <!ATTLIST attribute wsmap (managed|suppress) "managed">
87 <!ELEMENT method (desc?,param*,result*)> <!-- done -->
88 <!ATTLIST method name CDATA #REQUIRED>
89 <!ATTLIST method const CDATA "no">
90 <!ATTLIST method internal (yes|no) "no">
91 <!ATTLIST method wsmap (managed|suppress) "managed">
92 <!ELEMENT param (desc?)> <!-- done -->
93 <!ATTLIST param name CDATA #REQUIRED>
94 <!ATTLIST param type CDATA #REQUIRED>
95 <!ATTLIST param dir (in|out|return) #REQUIRED>
96 <!ATTLIST param mod (ptr|string) #IMPLIED>
97 <!ATTLIST param safearray (yes|no) "no">
98 <!ELEMENT descGroup (desc)*> <!-- done (ignoring, butt-ugly hack, improper nesting enforced all over the .xsl files!) -->
99 <!ATTLIST descGroup id CDATA #IMPLIED>
100 <!ATTLIST descGroup title CDATA #IMPLIED>
101 <!ELEMENT desc (#PCDATA|link|note|see|b|tt|i|pre|para|ul|ol|h3|table|result)*> <!-- done (ignoring) -->
102 <!-- the following only appear within descriptions -->
103 <!ELEMENT link (#PCDATA)>
104 <!ATTLIST link to CDATA #REQUIRED>
105 <!ELEMENT h3 ANY>
106 <!ELEMENT para ANY>
107 <!ELEMENT b ANY>
108 <!ELEMENT i ANY>
109 <!ELEMENT ul (#PCDATA|li)*>
110 <!ELEMENT ol (#PCDATA|li)*>
111 <!ELEMENT li ANY>
112 <!ELEMENT pre ANY>
113 <!ELEMENT tt ANY>
114 <!ELEMENT see (#PCDATA|link)*>
115 <!ELEMENT note ANY>
116 <!ATTLIST note internal (yes|no) "no">
117 <!ELEMENT table (tr)+>
118 <!ELEMENT tr (td|th)+>
119 <!ELEMENT th ANY>
120 <!ELEMENT td ANY>
Note: See TracBrowser for help on using the repository browser.

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