Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

700 lines
27 KiB

  1. <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
  2. <ElementType name="CIM" content="eltOnly">
  3. <AttributeType name="CIMVERSION" required="yes"/>
  4. <AttributeType name="DTDVERSION" required="yes"/>
  5. <attribute type="CIMVERSION"/>
  6. <attribute type="DTDVERSION"/>
  7. <group order="one">
  8. <element type="MESSAGE"/>
  9. <element type="DECLARATION"/>
  10. </group>
  11. </ElementType>
  12. <ElementType name="DECLARATION" content="eltOnly">
  13. <group order="one" minOccurs="0" maxOccurs="*">
  14. <element type="DECLGROUP"/>
  15. <element type="DECLGROUP.WITHNAME"/>
  16. <element type="DECLGROUP.WITHPATH"/>
  17. </group>
  18. </ElementType>
  19. <ElementType name="DECLGROUP" content="eltOnly">
  20. <group order="seq">
  21. <group order="one" minOccurs="0" maxOccurs="1">
  22. <element type="LOCALNAMESPACEPATH"/>
  23. <element type="NAMESPACEPATH"/>
  24. </group>
  25. <element type="QUALIFIER.DECLARATION" minOccurs="0" maxOccurs="*"/>
  26. <element type="VALUE.OBJECT" minOccurs="0" maxOccurs="*"/>
  27. </group>
  28. </ElementType>
  29. <ElementType name="DECLGROUP.WITHNAME" content="eltOnly">
  30. <group order="seq">
  31. <group order="one" minOccurs="0" maxOccurs="1">
  32. <element type="LOCALNAMESPACEPATH"/>
  33. <element type="NAMESPACEPATH"/>
  34. </group>
  35. <element type="QUALIFIER.DECLARATION" minOccurs="0" maxOccurs="*"/>
  36. <element type="VALUE.NAMEDOBJECT" minOccurs="0" maxOccurs="*"/>
  37. </group>
  38. </ElementType>
  39. <ElementType name="DECLGROUP.WITHPATH" content="eltOnly">
  40. <group order="one" minOccurs="0" maxOccurs="*">
  41. <element type="VALUE.OBJECTWITHPATH"/>
  42. <element type="VALUE.OBJECTWITHLOCALPATH"/>
  43. </group>
  44. </ElementType>
  45. <ElementType name="QUALIFIER.DECLARATION" content="eltOnly">
  46. <AttributeType name="NAME" required="yes"/>
  47. <AttributeType name="TYPE" dt:type="enumeration" dt:values="boolean string char16 uint8 sint8 uint16 sint16 uint32 sint32 uint64 sint64 datetime real32 real64" required="yes"/>
  48. <AttributeType name="ISARRAY" dt:type="enumeration" dt:values="true false" required="no"/>
  49. <AttributeType name="ARRAYSIZE" required="no"/>
  50. <AttributeType name="OVERRIDABLE" dt:type="enumeration" dt:values="true false" default="true"/>
  51. <AttributeType name="TOSUBCLASS" dt:type="enumeration" dt:values="true false" default="true"/>
  52. <AttributeType name="TOINSTANCE" dt:type="enumeration" dt:values="true false" default="false"/>
  53. <AttributeType name="AMENDED" dt:type="enumeration" dt:values="true false" default="false"/>
  54. <AttributeType name="TRANSLATABLE" dt:type="enumeration" dt:values="true false" default="false"/>
  55. <attribute type="NAME"/>
  56. <attribute type="TYPE"/>
  57. <attribute type="ISARRAY"/>
  58. <attribute type="ARRAYSIZE"/>
  59. <attribute type="OVERRIDABLE"/>
  60. <attribute type="TOSUBCLASS"/>
  61. <attribute type="TOINSTANCE"/>
  62. <attribute type="AMENDED"/>
  63. <attribute type="TRANSLATABLE"/>
  64. <group order="seq">
  65. <element type="SCOPE" minOccurs="0" maxOccurs="1"/>
  66. <group order="one" minOccurs="0" maxOccurs="1">
  67. <element type="VALUE"/>
  68. <element type="VALUE.ARRAY"/>
  69. </group>
  70. </group>
  71. </ElementType>
  72. <ElementType name="SCOPE" content="empty">
  73. <AttributeType name="CLASS" dt:type="enumeration" dt:values="true false" default="false"/>
  74. <AttributeType name="ASSOCIATION" dt:type="enumeration" dt:values="true false" default="false"/>
  75. <AttributeType name="REFERENCE" dt:type="enumeration" dt:values="true false" default="false"/>
  76. <AttributeType name="PROPERTY" dt:type="enumeration" dt:values="true false" default="false"/>
  77. <AttributeType name="METHOD" dt:type="enumeration" dt:values="true false" default="false"/>
  78. <AttributeType name="PARAMETER" dt:type="enumeration" dt:values="true false" default="false"/>
  79. <AttributeType name="INDICATION" dt:type="enumeration" dt:values="true false" default="false"/>
  80. <attribute type="CLASS"/>
  81. <attribute type="ASSOCIATION"/>
  82. <attribute type="REFERENCE"/>
  83. <attribute type="PROPERTY"/>
  84. <attribute type="METHOD"/>
  85. <attribute type="PARAMETER"/>
  86. <attribute type="INDICATION"/>
  87. </ElementType>
  88. <ElementType name="VALUE" content="textOnly"/>
  89. <ElementType name="VALUE.ARRAY" content="eltOnly">
  90. <group>
  91. <element type="VALUE" minOccurs="0" maxOccurs="*"/>
  92. </group>
  93. </ElementType>
  94. <ElementType name="VALUE.REFERENCE" content="eltOnly">
  95. <group order="one">
  96. <element type="CLASSPATH"/>
  97. <element type="LOCALCLASSPATH"/>
  98. <element type="CLASSNAME"/>
  99. <element type="INSTANCEPATH"/>
  100. <element type="LOCALINSTANCEPATH"/>
  101. <element type="INSTANCENAME"/>
  102. </group>
  103. </ElementType>
  104. <ElementType name="VALUE.REFARRAY" content="eltOnly">
  105. <group>
  106. <element type="VALUE.REFERENCE" minOccurs="0" maxOccurs="*"/>
  107. </group>
  108. </ElementType>
  109. <ElementType name="VALUE.OBJECT" content="eltOnly">
  110. <group order="one">
  111. <element type="CLASS"/>
  112. <element type="INSTANCE"/>
  113. </group>
  114. </ElementType>
  115. <ElementType name="VALUE.NAMEDINSTANCE" content="eltOnly">
  116. <group order="seq">
  117. <element type="INSTANCENAME"/>
  118. <element type="INSTANCE"/>
  119. </group>
  120. </ElementType>
  121. <ElementType name="VALUE.OBJECTARRAY" content="eltOnly">
  122. <group>
  123. <element type="VALUE.OBJECT" minOccurs="0" maxOccurs="*"/>
  124. </group>
  125. </ElementType>
  126. <ElementType name="VALUE.NAMEDOBJECT" content="eltOnly">
  127. <group order="one">
  128. <element type="CLASS"/>
  129. <group order="seq">
  130. <element type="INSTANCENAME"/>
  131. <element type="INSTANCE"/>
  132. </group>
  133. </group>
  134. </ElementType>
  135. <ElementType name="VALUE.OBJECTWITHLOCALPATH" content="eltOnly">
  136. <group order="one">
  137. <group order="seq">
  138. <element type="LOCALCLASSPATH"/>
  139. <element type="CLASS"/>
  140. </group>
  141. <group order="seq">
  142. <element type="LOCALINSTANCEPATH"/>
  143. <element type="INSTANCE"/>
  144. </group>
  145. </group>
  146. </ElementType>
  147. <ElementType name="VALUE.OBJECTWITHPATH" content="eltOnly">
  148. <group order="one">
  149. <group order="seq">
  150. <element type="CLASSPATH"/>
  151. <element type="CLASS"/>
  152. </group>
  153. <group order="seq">
  154. <element type="INSTANCEPATH"/>
  155. <element type="INSTANCE"/>
  156. </group>
  157. </group>
  158. </ElementType>
  159. <ElementType name="NAMESPACEPATH" content="eltOnly">
  160. <group order="seq">
  161. <element type="HOST"/>
  162. <element type="LOCALNAMESPACEPATH"/>
  163. </group>
  164. </ElementType>
  165. <ElementType name="LOCALNAMESPACEPATH" content="eltOnly">
  166. <group>
  167. <element type="NAMESPACE"/>
  168. </group>
  169. </ElementType>
  170. <ElementType name="HOST" content="textOnly"/>
  171. <ElementType name="NAMESPACE" content="empty">
  172. <AttributeType name="NAME" required="yes"/>
  173. <attribute type="NAME"/>
  174. </ElementType>
  175. <ElementType name="CLASSPATH" content="eltOnly">
  176. <group order="seq">
  177. <element type="NAMESPACEPATH"/>
  178. <element type="CLASSNAME"/>
  179. </group>
  180. </ElementType>
  181. <ElementType name="LOCALCLASSPATH" content="eltOnly">
  182. <group order="seq">
  183. <element type="LOCALNAMESPACEPATH"/>
  184. <element type="CLASSNAME"/>
  185. </group>
  186. </ElementType>
  187. <ElementType name="CLASSNAME" content="empty">
  188. <AttributeType name="NAME" required="yes"/>
  189. <attribute type="NAME"/>
  190. </ElementType>
  191. <ElementType name="INSTANCEPATH" content="eltOnly">
  192. <group order="seq">
  193. <element type="NAMESPACEPATH"/>
  194. <element type="INSTANCENAME"/>
  195. </group>
  196. </ElementType>
  197. <ElementType name="LOCALINSTANCEPATH" content="eltOnly">
  198. <group order="seq">
  199. <element type="LOCALNAMESPACEPATH"/>
  200. <element type="INSTANCENAME"/>
  201. </group>
  202. </ElementType>
  203. <ElementType name="INSTANCENAME" content="eltOnly">
  204. <AttributeType name="CLASSNAME" required="yes"/>
  205. <attribute type="CLASSNAME"/>
  206. <group order="one">
  207. <element type="KEYBINDING" minOccurs="0" maxOccurs="*"/>
  208. <element type="KEYVALUE" minOccurs="0" maxOccurs="1"/>
  209. <element type="VALUE.REFERENCE" minOccurs="0" maxOccurs="1"/>
  210. </group>
  211. </ElementType>
  212. <ElementType name="OBJECTPATH" content="eltOnly">
  213. <group order="one">
  214. <element type="INSTANCEPATH"/>
  215. <element type="CLASSPATH"/>
  216. </group>
  217. </ElementType>
  218. <ElementType name="KEYBINDING" content="eltOnly">
  219. <AttributeType name="NAME" required="yes"/>
  220. <attribute type="NAME"/>
  221. <group order="one">
  222. <element type="KEYVALUE"/>
  223. <element type="VALUE.REFERENCE"/>
  224. </group>
  225. </ElementType>
  226. <ElementType name="KEYVALUE" content="textOnly">
  227. <AttributeType name="VALUETYPE" dt:type="enumeration" dt:values="string boolean numeric" default="string"/>
  228. <attribute type="VALUETYPE"/>
  229. </ElementType>
  230. <ElementType name="CLASS" content="eltOnly">
  231. <AttributeType name="NAME" required="yes"/>
  232. <AttributeType name="SUPERCLASS" required="no"/>
  233. <attribute type="NAME"/>
  234. <attribute type="SUPERCLASS"/>
  235. <group order="seq">
  236. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  237. <group order="one" minOccurs="0" maxOccurs="*">
  238. <element type="PROPERTY"/>
  239. <element type="PROPERTY.ARRAY"/>
  240. <element type="PROPERTY.OBJECT"/>
  241. <element type="PROPERTY.OBJECTARRAY"/>
  242. <element type="PROPERTY.REFERENCE"/>
  243. <element type="PROPERTY.REFARRAY"/>
  244. </group>
  245. <group order="one" minOccurs="0" maxOccurs="*">
  246. <element type="METHOD"/>
  247. <element type="METHOD.REFERENCE"/>
  248. <element type="METHOD.OBJECT"/>
  249. </group>
  250. </group>
  251. </ElementType>
  252. <ElementType name="INSTANCE" content="eltOnly">
  253. <AttributeType name="CLASSNAME" required="yes"/>
  254. <attribute type="CLASSNAME"/>
  255. <group order="seq">
  256. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  257. <group order="one" minOccurs="0" maxOccurs="*">
  258. <element type="PROPERTY"/>
  259. <element type="PROPERTY.ARRAY"/>
  260. <element type="PROPERTY.OBJECT"/>
  261. <element type="PROPERTY.OBJECTARRAY"/>
  262. <element type="PROPERTY.REFERENCE"/>
  263. <element type="PROPERTY.REFARRAY"/>
  264. </group>
  265. </group>
  266. </ElementType>
  267. <ElementType name="QUALIFIER" content="eltOnly">
  268. <AttributeType name="NAME" required="yes"/>
  269. <AttributeType name="TYPE" dt:type="enumeration" dt:values="boolean string char16 uint8 sint8 uint16 sint16 uint32 sint32 uint64 sint64 datetime real32 real64" required="yes"/>
  270. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  271. <AttributeType name="OVERRIDABLE" dt:type="enumeration" dt:values="true false" default="true"/>
  272. <AttributeType name="TOSUBCLASS" dt:type="enumeration" dt:values="true false" default="true"/>
  273. <AttributeType name="TOINSTANCE" dt:type="enumeration" dt:values="true false" default="false"/>
  274. <AttributeType name="AMENDED" dt:type="enumeration" dt:values="true false" default="false"/>
  275. <AttributeType name="TRANSLATABLE" dt:type="enumeration" dt:values="true false" default="false"/>
  276. <attribute type="NAME"/>
  277. <attribute type="TYPE"/>
  278. <attribute type="PROPAGATED"/>
  279. <attribute type="OVERRIDABLE"/>
  280. <attribute type="TOSUBCLASS"/>
  281. <attribute type="TOINSTANCE"/>
  282. <attribute type="AMENDED"/>
  283. <attribute type="TRANSLATABLE"/>
  284. <group order="one">
  285. <element type="VALUE"/>
  286. <element type="VALUE.ARRAY"/>
  287. </group>
  288. </ElementType>
  289. <ElementType name="PROPERTY" content="eltOnly">
  290. <AttributeType name="NAME" required="yes"/>
  291. <AttributeType name="CLASSORIGIN" required="no"/>
  292. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  293. <AttributeType name="TYPE" dt:type="enumeration" dt:values="boolean string char16 uint8 sint8 uint16 sint16 uint32 sint32 uint64 sint64 datetime real32 real64" required="yes"/>
  294. <attribute type="NAME"/>
  295. <attribute type="CLASSORIGIN"/>
  296. <attribute type="PROPAGATED"/>
  297. <attribute type="TYPE"/>
  298. <group order="seq">
  299. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  300. <element type="VALUE" minOccurs="0" maxOccurs="1"/>
  301. </group>
  302. </ElementType>
  303. <ElementType name="PROPERTY.ARRAY" content="eltOnly">
  304. <AttributeType name="NAME" required="yes"/>
  305. <AttributeType name="TYPE" dt:type="enumeration" dt:values="boolean string char16 uint8 sint8 uint16 sint16 uint32 sint32 uint64 sint64 datetime real32 real64" required="yes"/>
  306. <AttributeType name="ARRAYSIZE" required="no"/>
  307. <AttributeType name="CLASSORIGIN" required="no"/>
  308. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  309. <attribute type="NAME"/>
  310. <attribute type="TYPE"/>
  311. <attribute type="ARRAYSIZE"/>
  312. <attribute type="CLASSORIGIN"/>
  313. <attribute type="PROPAGATED"/>
  314. <group order="seq">
  315. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  316. <element type="VALUE.ARRAY" minOccurs="0" maxOccurs="1"/>
  317. </group>
  318. </ElementType>
  319. <ElementType name="PROPERTY.REFERENCE" content="eltOnly">
  320. <AttributeType name="NAME" required="yes"/>
  321. <AttributeType name="REFERENCECLASS" required="no"/>
  322. <AttributeType name="CLASSORIGIN" required="no"/>
  323. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  324. <attribute type="NAME"/>
  325. <attribute type="REFERENCECLASS"/>
  326. <attribute type="CLASSORIGIN"/>
  327. <attribute type="PROPAGATED"/>
  328. <group order="seq">
  329. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  330. <group minOccurs="0" maxOccurs="1">
  331. <element type="VALUE.REFERENCE"/>
  332. </group>
  333. </group>
  334. </ElementType>
  335. <ElementType name="PROPERTY.REFARRAY" content="eltOnly">
  336. <AttributeType name="NAME" required="yes"/>
  337. <AttributeType name="ARRAYSIZE" required="no"/>
  338. <AttributeType name="REFERENCECLASS" required="no"/>
  339. <AttributeType name="CLASSORIGIN" required="no"/>
  340. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  341. <attribute type="NAME"/>
  342. <attribute type="ARRAYSIZE"/>
  343. <attribute type="REFERENCECLASS"/>
  344. <attribute type="CLASSORIGIN"/>
  345. <attribute type="PROPAGATED"/>
  346. <group order="seq">
  347. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  348. <group minOccurs="0" maxOccurs="1">
  349. <element type="VALUE.REFARRAY"/>
  350. </group>
  351. </group>
  352. </ElementType>
  353. <ElementType name="PROPERTY.OBJECT" content="eltOnly">
  354. <AttributeType name="NAME" required="yes"/>
  355. <AttributeType name="REFERENCECLASS" required="no"/>
  356. <AttributeType name="CLASSORIGIN" required="no"/>
  357. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  358. <attribute type="NAME"/>
  359. <attribute type="REFERENCECLASS"/>
  360. <attribute type="CLASSORIGIN"/>
  361. <attribute type="PROPAGATED"/>
  362. <group order="seq">
  363. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  364. <group minOccurs="0" maxOccurs="1">
  365. <element type="VALUE.OBJECT"/>
  366. </group>
  367. </group>
  368. </ElementType>
  369. <ElementType name="PROPERTY.OBJECTARRAY" content="eltOnly">
  370. <AttributeType name="NAME" required="yes"/>
  371. <AttributeType name="ARRAYSIZE" required="no"/>
  372. <AttributeType name="REFERENCECLASS" required="no"/>
  373. <AttributeType name="CLASSORIGIN" required="no"/>
  374. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  375. <attribute type="NAME"/>
  376. <attribute type="ARRAYSIZE"/>
  377. <attribute type="REFERENCECLASS"/>
  378. <attribute type="CLASSORIGIN"/>
  379. <attribute type="PROPAGATED"/>
  380. <group order="seq">
  381. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  382. <group minOccurs="0" maxOccurs="1">
  383. <element type="VALUE.OBJECTARRAY"/>
  384. </group>
  385. </group>
  386. </ElementType>
  387. <ElementType name="METHOD" content="eltOnly">
  388. <AttributeType name="NAME" required="yes"/>
  389. <AttributeType name="TYPE" dt:type="enumeration" dt:values="boolean string char16 uint8 sint8 uint16 sint16 uint32 sint32 uint64 sint64 datetime real32 real64" required="no"/>
  390. <AttributeType name="CLASSORIGIN" required="no"/>
  391. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  392. <attribute type="NAME"/>
  393. <attribute type="TYPE"/>
  394. <attribute type="CLASSORIGIN"/>
  395. <attribute type="PROPAGATED"/>
  396. <group order="seq">
  397. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  398. <group order="one" minOccurs="0" maxOccurs="*">
  399. <element type="PARAMETER"/>
  400. <element type="PARAMETER.REFERENCE"/>
  401. <element type="PARAMETER.ARRAY"/>
  402. <element type="PARAMETER.REFARRAY"/>
  403. <element type="PARAMETER.OBJECT"/>
  404. <element type="PARAMETER.OBJECTARRAY"/>
  405. </group>
  406. </group>
  407. </ElementType>
  408. <ElementType name="METHOD.OBJECT" content="eltOnly">
  409. <AttributeType name="NAME" required="yes"/>
  410. <AttributeType name="REFERENCECLASS" required="no"/>
  411. <AttributeType name="CLASSORIGIN" required="no"/>
  412. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  413. <attribute type="NAME"/>
  414. <attribute type="REFERENCECLASS"/>
  415. <attribute type="CLASSORIGIN"/>
  416. <attribute type="PROPAGATED"/>
  417. <group order="seq">
  418. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  419. <group order="one" minOccurs="0" maxOccurs="*">
  420. <element type="PARAMETER"/>
  421. <element type="PARAMETER.REFERENCE"/>
  422. <element type="PARAMETER.ARRAY"/>
  423. <element type="PARAMETER.REFARRAY"/>
  424. <element type="PARAMETER.OBJECT"/>
  425. <element type="PARAMETER.OBJECTARRAY"/>
  426. </group>
  427. </group>
  428. </ElementType>
  429. <ElementType name="METHOD.REFERENCE" content="eltOnly">
  430. <AttributeType name="NAME" required="yes"/>
  431. <AttributeType name="REFERENCECLASS" required="no"/>
  432. <AttributeType name="CLASSORIGIN" required="no"/>
  433. <AttributeType name="PROPAGATED" dt:type="enumeration" dt:values="true false" default="false"/>
  434. <attribute type="NAME"/>
  435. <attribute type="REFERENCECLASS"/>
  436. <attribute type="CLASSORIGIN"/>
  437. <attribute type="PROPAGATED"/>
  438. <group order="seq">
  439. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  440. <group order="one" minOccurs="0" maxOccurs="*">
  441. <element type="PARAMETER"/>
  442. <element type="PARAMETER.REFERENCE"/>
  443. <element type="PARAMETER.ARRAY"/>
  444. <element type="PARAMETER.REFARRAY"/>
  445. <element type="PARAMETER.OBJECT"/>
  446. <element type="PARAMETER.OBJECTARRAY"/>
  447. </group>
  448. </group>
  449. </ElementType>
  450. <ElementType name="PARAMETER" content="eltOnly">
  451. <AttributeType name="NAME" required="yes"/>
  452. <AttributeType name="TYPE" dt:type="enumeration" dt:values="boolean string char16 uint8 sint8 uint16 sint16 uint32 sint32 uint64 sint64 datetime real32 real64" required="yes"/>
  453. <attribute type="NAME"/>
  454. <attribute type="TYPE"/>
  455. <group>
  456. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  457. </group>
  458. </ElementType>
  459. <ElementType name="PARAMETER.REFERENCE" content="eltOnly">
  460. <AttributeType name="NAME" required="yes"/>
  461. <AttributeType name="REFERENCECLASS" required="no"/>
  462. <attribute type="NAME"/>
  463. <attribute type="REFERENCECLASS"/>
  464. <group>
  465. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  466. </group>
  467. </ElementType>
  468. <ElementType name="PARAMETER.ARRAY" content="eltOnly">
  469. <AttributeType name="NAME" required="yes"/>
  470. <AttributeType name="TYPE" dt:type="enumeration" dt:values="boolean string char16 uint8 sint8 uint16 sint16 uint32 sint32 uint64 sint64 datetime real32 real64" required="yes"/>
  471. <AttributeType name="ARRAYSIZE" required="no"/>
  472. <attribute type="NAME"/>
  473. <attribute type="TYPE"/>
  474. <attribute type="ARRAYSIZE"/>
  475. <group>
  476. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  477. </group>
  478. </ElementType>
  479. <ElementType name="PARAMETER.REFARRAY" content="eltOnly">
  480. <AttributeType name="NAME" required="yes"/>
  481. <AttributeType name="REFERENCECLASS" required="no"/>
  482. <AttributeType name="ARRAYSIZE" required="no"/>
  483. <attribute type="NAME"/>
  484. <attribute type="REFERENCECLASS"/>
  485. <attribute type="ARRAYSIZE"/>
  486. <group>
  487. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  488. </group>
  489. </ElementType>
  490. <ElementType name="PARAMETER.OBJECT" content="eltOnly">
  491. <AttributeType name="NAME" required="yes"/>
  492. <AttributeType name="REFERENCECLASS" required="no"/>
  493. <attribute type="NAME"/>
  494. <attribute type="REFERENCECLASS"/>
  495. <group>
  496. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  497. </group>
  498. </ElementType>
  499. <ElementType name="PARAMETER.OBJECTARRAY" content="eltOnly">
  500. <AttributeType name="NAME" required="yes"/>
  501. <AttributeType name="REFERENCECLASS" required="no"/>
  502. <AttributeType name="ARRAYSIZE" required="no"/>
  503. <attribute type="NAME"/>
  504. <attribute type="REFERENCECLASS"/>
  505. <attribute type="ARRAYSIZE"/>
  506. <group>
  507. <element type="QUALIFIER" minOccurs="0" maxOccurs="*"/>
  508. </group>
  509. </ElementType>
  510. <ElementType name="CONTEXTOBJECT" content="eltOnly">
  511. <group order="one" minOccurs="0" maxOccurs="*">
  512. <element type="CONTEXTPROPERTY"/>
  513. <element type="CONTEXTPROPERTY.ARRAY"/>
  514. <element type="CONTEXTPROPERTY.OBJECT"/>
  515. <element type="CONTEXTPROPERTY.OBJECTARRAY"/>
  516. </group>
  517. </ElementType>
  518. <ElementType name="CONTEXTPROPERTY" content="eltOnly">
  519. <AttributeType name="NAME" required="yes"/>
  520. <AttributeType name="VTTYPE" dt:type="enumeration" dt:values="VT_I4 VT_R8 VT_BOOL VT_BSTR VT_UNKNOWN VT_NULL" required="yes"/>
  521. <attribute type="NAME"/>
  522. <attribute type="VTTYPE"/>
  523. <group>
  524. <element type="VALUE" minOccurs="0" maxOccurs="1"/>
  525. </group>
  526. </ElementType>
  527. <ElementType name="CONTEXTPROPERTY.ARRAY" content="eltOnly">
  528. <AttributeType name="NAME" required="yes"/>
  529. <AttributeType name="ARRAYSIZE" required="no"/>
  530. <AttributeType name="VTTYPE" dt:type="enumeration" dt:values="VT_I4 VT_R8 VT_BOOL VT_BSTR VT_UNKNOWN VT_NULL" required="yes"/>
  531. <attribute type="NAME"/>
  532. <attribute type="ARRAYSIZE"/>
  533. <attribute type="VTTYPE"/>
  534. <group>
  535. <element type="VALUE.ARRAY" minOccurs="0" maxOccurs="1"/>
  536. </group>
  537. </ElementType>
  538. <ElementType name="CONTEXTPROPERTY.OBJECT" content="eltOnly">
  539. <AttributeType name="NAME" required="yes"/>
  540. <AttributeType name="REFERENCECLASS" required="no"/>
  541. <attribute type="NAME"/>
  542. <attribute type="REFERENCECLASS"/>
  543. <group>
  544. <element type="VALUE.OBJECT" minOccurs="0" maxOccurs="1"/>
  545. </group>
  546. </ElementType>
  547. <ElementType name="CONTEXTPROPERTY.OBJECTARRAY" content="eltOnly">
  548. <AttributeType name="NAME" required="yes"/>
  549. <AttributeType name="ARRAYSIZE" required="no"/>
  550. <AttributeType name="REFERENCECLASS" required="no"/>
  551. <attribute type="NAME"/>
  552. <attribute type="ARRAYSIZE"/>
  553. <attribute type="REFERENCECLASS"/>
  554. <group>
  555. <element type="VALUE.OBJECTARRAY" minOccurs="0" maxOccurs="1"/>
  556. </group>
  557. </ElementType>
  558. <ElementType name="EXTENDEDSTATUS" content="eltOnly">
  559. <group>
  560. <element type="INSTANCE"/>
  561. </group>
  562. </ElementType>
  563. <ElementType name="MESSAGE" content="eltOnly">
  564. <AttributeType name="ID" required="yes"/>
  565. <AttributeType name="PROTOCOLVERSION" required="yes"/>
  566. <attribute type="ID"/>
  567. <attribute type="PROTOCOLVERSION"/>
  568. <group order="one">
  569. <element type="SIMPLEREQ"/>
  570. <element type="MULTIREQ"/>
  571. <element type="SIMPLERSP"/>
  572. <element type="MULTIRSP"/>
  573. </group>
  574. </ElementType>
  575. <ElementType name="MULTIREQ" content="eltOnly">
  576. <group order="seq">
  577. <element type="SIMPLEREQ"/>
  578. <element type="SIMPLEREQ" maxOccurs="*"/>
  579. </group>
  580. </ElementType>
  581. <ElementType name="SIMPLEREQ" content="eltOnly">
  582. <group order="one">
  583. <element type="IMETHODCALL"/>
  584. <element type="METHODCALL"/>
  585. </group>
  586. </ElementType>
  587. <ElementType name="IMETHODCALL" content="eltOnly">
  588. <AttributeType name="NAME" required="yes"/>
  589. <attribute type="NAME"/>
  590. <group order="seq">
  591. <element type="LOCALNAMESPACEPATH"/>
  592. <element type="CONTEXTOBJECT" minOccurs="0" maxOccurs="1"/>
  593. <element type="IPARAMVALUE" minOccurs="0" maxOccurs="*"/>
  594. </group>
  595. </ElementType>
  596. <ElementType name="METHODCALL" content="eltOnly">
  597. <AttributeType name="NAME" required="yes"/>
  598. <attribute type="NAME"/>
  599. <group order="seq">
  600. <group order="one">
  601. <element type="LOCALINSTANCEPATH"/>
  602. <element type="LOCALCLASSPATH"/>
  603. </group>
  604. <element type="CONTEXTOBJECT" minOccurs="0" maxOccurs="1"/>
  605. <element type="PARAMVALUE" minOccurs="0" maxOccurs="*"/>
  606. </group>
  607. </ElementType>
  608. <ElementType name="PARAMVALUE" content="eltOnly">
  609. <AttributeType name="NAME" required="yes"/>
  610. <attribute type="NAME"/>
  611. <group order="one" minOccurs="0" maxOccurs="1">
  612. <element type="VALUE"/>
  613. <element type="VALUE.REFERENCE"/>
  614. <element type="VALUE.ARRAY"/>
  615. <element type="VALUE.REFARRAY"/>
  616. <element type="VALUE.OBJECT"/>
  617. <element type="VALUE.OBJECTARRAY"/>
  618. </group>
  619. </ElementType>
  620. <ElementType name="IPARAMVALUE" content="eltOnly">
  621. <AttributeType name="NAME" required="yes"/>
  622. <attribute type="NAME"/>
  623. <group order="one" minOccurs="0" maxOccurs="1">
  624. <element type="VALUE"/>
  625. <element type="VALUE.ARRAY"/>
  626. <element type="VALUE.REFERENCE"/>
  627. <element type="INSTANCENAME"/>
  628. <element type="CLASSNAME"/>
  629. <element type="QUALIFIER.DECLARATION"/>
  630. <element type="CLASS"/>
  631. <element type="INSTANCE"/>
  632. <element type="VALUE.NAMEDINSTANCE"/>
  633. </group>
  634. </ElementType>
  635. <ElementType name="MULTIRSP" content="eltOnly">
  636. <group order="seq">
  637. <element type="SIMPLERSP"/>
  638. <element type="SIMPLERSP" maxOccurs="*"/>
  639. </group>
  640. </ElementType>
  641. <ElementType name="SIMPLERSP" content="eltOnly">
  642. <group order="one">
  643. <element type="METHODRESPONSE"/>
  644. <element type="IMETHODRESPONSE"/>
  645. </group>
  646. </ElementType>
  647. <ElementType name="METHODRESPONSE" content="eltOnly">
  648. <AttributeType name="NAME" required="yes"/>
  649. <attribute type="NAME"/>
  650. <group order="one">
  651. <element type="ERROR"/>
  652. <group order="seq">
  653. <element type="RETURNVALUE" minOccurs="0" maxOccurs="1"/>
  654. <element type="PARAMVALUE" minOccurs="0" maxOccurs="*"/>
  655. </group>
  656. </group>
  657. </ElementType>
  658. <ElementType name="IMETHODRESPONSE" content="eltOnly">
  659. <AttributeType name="NAME" required="yes"/>
  660. <attribute type="NAME"/>
  661. <group order="one">
  662. <element type="ERROR"/>
  663. <element type="IRETURNVALUE" minOccurs="0" maxOccurs="1"/>
  664. </group>
  665. </ElementType>
  666. <ElementType name="ERROR" content="eltOnly">
  667. <AttributeType name="CODE" required="yes"/>
  668. <AttributeType name="DESCRIPTION" required="no"/>
  669. <attribute type="CODE"/>
  670. <attribute type="DESCRIPTION"/>
  671. <group>
  672. <element type="EXTENDEDSTATUS" minOccurs="0" maxOccurs="1"/>
  673. </group>
  674. </ElementType>
  675. <ElementType name="RETURNVALUE" content="eltOnly">
  676. <group order="one">
  677. <element type="VALUE"/>
  678. <element type="VALUE.ARRAY"/>
  679. <element type="VALUE.REFERENCE"/>
  680. <element type="VALUE.REFARRAY"/>
  681. </group>
  682. </ElementType>
  683. <ElementType name="IRETURNVALUE" content="eltOnly">
  684. <group order="one">
  685. <element type="CLASSNAME" minOccurs="0" maxOccurs="*"/>
  686. <element type="INSTANCENAME" minOccurs="0" maxOccurs="*"/>
  687. <element type="VALUE" minOccurs="0" maxOccurs="*"/>
  688. <element type="VALUE.OBJECTWITHPATH" minOccurs="0" maxOccurs="*"/>
  689. <element type="VALUE.OBJECTWITHLOCALPATH" minOccurs="0" maxOccurs="*"/>
  690. <element type="VALUE.OBJECT" minOccurs="0" maxOccurs="*"/>
  691. <element type="OBJECTPATH" minOccurs="0" maxOccurs="*"/>
  692. <element type="QUALIFIER.DECLARATION" minOccurs="0" maxOccurs="*"/>
  693. <element type="VALUE.ARRAY" minOccurs="0" maxOccurs="1"/>
  694. <element type="VALUE.REFERENCE" minOccurs="0" maxOccurs="1"/>
  695. <element type="CLASS" minOccurs="0" maxOccurs="*"/>
  696. <element type="INSTANCE" minOccurs="0" maxOccurs="*"/>
  697. <element type="VALUE.NAMEDINSTANCE" minOccurs="0" maxOccurs="*"/>
  698. </group>
  699. </ElementType>
  700. </Schema>