ws-discovery.xsd 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Copyright Notice
  4. (c) 2004-2005 Microsoft Corporation, Inc. All rights reserved.
  5. Permission to copy, display, perform, modify and distribute the
  6. WS-Discovery Specification (the "Specification", which includes
  7. WSDL and schema documents), and to authorize others to do the
  8. foregoing, in any medium without fee or royalty is hereby granted
  9. for the purpose of developing and evaluating the Specification.
  10. BEA Systems, Canon, Intel, Microsoft, and webMethods, Inc.
  11. (collectively, the "Co-Developers") each agree to grant a license
  12. to third parties, under royalty-free and other reasonable,
  13. non-discriminatory terms and conditions, to their respective
  14. essential Licensed Claims, which reasonable, non-discriminatory
  15. terms and conditions may include, for example, but are not limited
  16. to, an affirmation of the obligation to grant reciprocal licenses
  17. under any of the licensee's patents that are necessary to implement
  18. the Specification.
  19. DISCLAIMERS:
  20. THE SPECIFICATION IS PROVIDED "AS IS," AND THE CO-DEVELOPERS MAKE
  21. NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING,
  22. BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  23. PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS
  24. OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE
  25. IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY
  26. PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
  27. THE CO-DEVELOPERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
  28. SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY
  29. USE OF THE SPECIFICATION OR THE PERFORMANCE OR IMPLEMENTATION OF
  30. THE CONTENTS THEREOF.
  31. You may remove these disclaimers from your modified versions of the
  32. Specification provided that you effectively disclaim all warranties
  33. and liabilities on behalf of all Co-developers and any copyright
  34. holders in the copies of any such modified versions you distribute.
  35. The name and trademarks of the Co-developers may NOT be used in any
  36. manner, including advertising or publicity pertaining to the
  37. Specification or its contents without specific, written prior
  38. permission. Title to copyright in the Specification will at all
  39. times remain with Microsoft.
  40. No other rights are granted by implication, estoppel or otherwise.
  41. -->
  42. <xs:schema
  43. targetNamespace="http://schemas.xmlsoap.org/ws/2005/04/discovery"
  44. xmlns:tns="http://schemas.xmlsoap.org/ws/2005/04/discovery"
  45. xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
  46. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  47. elementFormDefault="qualified"
  48. blockDefault="#all" >
  49. <xs:import
  50. namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
  51. schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/addressing" />
  52. <!-- //////////////////// Discovery Messages //////////////////// -->
  53. <xs:element name="Hello" type="tns:HelloType" />
  54. <xs:complexType name="HelloType" >
  55. <xs:sequence>
  56. <xs:element ref="wsa:EndpointReference" />
  57. <xs:element ref="tns:Types" minOccurs="0" />
  58. <xs:element ref="tns:Scopes" minOccurs="0" />
  59. <xs:element ref="tns:XAddrs" minOccurs="0" />
  60. <xs:element ref="tns:MetadataVersion" />
  61. <xs:any namespace="##other"
  62. processContents="lax"
  63. minOccurs="0"
  64. maxOccurs="unbounded" />
  65. </xs:sequence>
  66. <xs:anyAttribute namespace="##other" processContents="lax" />
  67. </xs:complexType>
  68. <xs:simpleType name="RelationshipType" >
  69. <xs:restriction base="xs:QName" >
  70. <xs:enumeration value="tns:Suppression" />
  71. </xs:restriction>
  72. </xs:simpleType>
  73. <xs:simpleType name="OpenRelationshipType" >
  74. <xs:union memberTypes="tns:RelationshipType xs:QName" />
  75. </xs:simpleType>
  76. <xs:element name="Bye" type="tns:ByeType" />
  77. <xs:complexType name="ByeType" >
  78. <xs:sequence>
  79. <xs:element ref="wsa:EndpointReference" />
  80. <xs:element ref="tns:Types" minOccurs="0" />
  81. <xs:element ref="tns:Scopes" minOccurs="0" />
  82. <xs:element ref="tns:XAddrs" minOccurs="0" />
  83. <xs:element ref="tns:MetadataVersion" minOccurs="0" />
  84. <xs:any namespace="##other"
  85. processContents="lax"
  86. minOccurs="0"
  87. maxOccurs="unbounded" />
  88. </xs:sequence>
  89. <xs:anyAttribute namespace="##other" processContents="lax" />
  90. </xs:complexType>
  91. <xs:element name="Probe" type="tns:ProbeType" />
  92. <xs:complexType name="ProbeType" >
  93. <xs:sequence>
  94. <xs:element ref="tns:Types" minOccurs="0" />
  95. <xs:element ref="tns:Scopes" minOccurs="0" />
  96. <xs:any namespace="##other"
  97. processContents="lax"
  98. minOccurs="0"
  99. maxOccurs="unbounded" />
  100. </xs:sequence>
  101. <xs:anyAttribute namespace="##other" processContents="lax" />
  102. </xs:complexType>
  103. <xs:element name="ProbeMatches" type="tns:ProbeMatchesType" />
  104. <xs:complexType name="ProbeMatchesType" >
  105. <xs:sequence>
  106. <xs:element name="ProbeMatch"
  107. type="tns:ProbeMatchType"
  108. minOccurs="0"
  109. maxOccurs="unbounded" >
  110. </xs:element>
  111. <xs:any namespace="##other"
  112. processContents="lax"
  113. minOccurs="0"
  114. maxOccurs="unbounded" />
  115. </xs:sequence>
  116. <xs:anyAttribute namespace="##other" processContents="lax" />
  117. </xs:complexType>
  118. <xs:complexType name="ProbeMatchType" >
  119. <xs:sequence>
  120. <xs:element ref="wsa:EndpointReference" />
  121. <xs:element ref="tns:Types" minOccurs="0" />
  122. <xs:element ref="tns:Scopes" minOccurs="0" />
  123. <xs:element ref="tns:XAddrs" minOccurs="0" />
  124. <xs:element ref="tns:MetadataVersion" />
  125. <xs:any namespace="##other"
  126. processContents="lax"
  127. minOccurs="0"
  128. maxOccurs="unbounded" />
  129. </xs:sequence>
  130. <xs:anyAttribute namespace="##other" processContents="lax" />
  131. </xs:complexType>
  132. <xs:element name="Resolve" type="tns:ResolveType" />
  133. <xs:complexType name="ResolveType" >
  134. <xs:sequence>
  135. <xs:element ref="wsa:EndpointReference" />
  136. <xs:any namespace="##other"
  137. processContents="lax"
  138. minOccurs="0"
  139. maxOccurs="unbounded" />
  140. </xs:sequence>
  141. <xs:anyAttribute namespace="##other" processContents="lax" />
  142. </xs:complexType>
  143. <xs:element name="ResolveMatches" type="tns:ResolveMatchesType" />
  144. <xs:complexType name="ResolveMatchesType" >
  145. <xs:sequence>
  146. <xs:element name="ResolveMatch"
  147. type="tns:ResolveMatchType"
  148. minOccurs="0" />
  149. <xs:any namespace="##other"
  150. processContents="lax"
  151. minOccurs="0"
  152. maxOccurs="unbounded" />
  153. </xs:sequence>
  154. <xs:anyAttribute namespace="##other" processContents="lax" />
  155. </xs:complexType>
  156. <xs:complexType name="ResolveMatchType" >
  157. <xs:sequence>
  158. <xs:element ref="wsa:EndpointReference" />
  159. <xs:element ref="tns:Types" minOccurs="0" />
  160. <xs:element ref="tns:Scopes" minOccurs="0" />
  161. <xs:element ref="tns:XAddrs" />
  162. <xs:element ref="tns:MetadataVersion" />
  163. <xs:any namespace="##other"
  164. processContents="lax"
  165. minOccurs="0"
  166. maxOccurs="unbounded" />
  167. </xs:sequence>
  168. <xs:anyAttribute namespace="##other" processContents="lax" />
  169. </xs:complexType>
  170. <xs:element name="Types" type="tns:QNameListType" />
  171. <xs:simpleType name="QNameListType" >
  172. <xs:list itemType="xs:QName" />
  173. </xs:simpleType>
  174. <xs:element name="Scopes" type="tns:ScopesType" />
  175. <xs:complexType name="ScopesType" >
  176. <xs:simpleContent>
  177. <xs:extension base="tns:UriListType" >
  178. <xs:attribute name="MatchBy" type="xs:anyURI" />
  179. <xs:anyAttribute namespace="##other" processContents="lax" />
  180. </xs:extension>
  181. </xs:simpleContent>
  182. </xs:complexType>
  183. <xs:element name="XAddrs" type="tns:UriListType" />
  184. <xs:simpleType name="UriListType" >
  185. <xs:list itemType="xs:anyURI" />
  186. </xs:simpleType>
  187. <xs:element name="MetadataVersion" type="xs:unsignedInt" />
  188. <!-- //////////////////// Faults //////////////////// -->
  189. <xs:simpleType name="FaultCodeType" >
  190. <xs:restriction base="xs:QName" >
  191. <xs:enumeration value="tns:MatchingRuleNotSupported" />
  192. </xs:restriction>
  193. </xs:simpleType>
  194. <xs:simpleType name="FaultCodeOpenType" >
  195. <xs:union memberTypes="tns:FaultCodeType xs:QName" />
  196. </xs:simpleType>
  197. <xs:element name="SupportedMatchingRules" type="tns:UriListType" />
  198. <!-- //////////////////// Compact Signature //////////////////// -->
  199. <xs:attribute name="Id" type="xs:ID"/>
  200. <xs:element name="Security" type="tns:SecurityType" />
  201. <xs:complexType name="SecurityType" >
  202. <xs:sequence>
  203. <xs:element ref="tns:Sig" minOccurs="0" />
  204. </xs:sequence>
  205. <xs:anyAttribute namespace="##other" processContents="lax" />
  206. </xs:complexType>
  207. <xs:element name="Sig" type="tns:SigType" />
  208. <xs:complexType name="SigType" >
  209. <xs:sequence>
  210. <xs:any namespace="##other"
  211. processContents="lax"
  212. minOccurs="0"
  213. maxOccurs="unbounded" />
  214. </xs:sequence>
  215. <xs:attribute name="Scheme" type="xs:anyURI" use="required" />
  216. <xs:attribute name="KeyId" type="xs:base64Binary" />
  217. <xs:attribute name="Refs" type="xs:IDREFS" use="required" />
  218. <xs:attribute name="Sig" type="xs:base64Binary" use="required" />
  219. <xs:anyAttribute namespace="##other" processContents="lax" />
  220. </xs:complexType>
  221. <!-- //////////////////// General Headers //////////////////// -->
  222. <xs:element name="AppSequence" type="tns:AppSequenceType" />
  223. <xs:complexType name="AppSequenceType" >
  224. <xs:complexContent>
  225. <xs:restriction base="xs:anyType" >
  226. <xs:attribute name="InstanceId"
  227. type="xs:unsignedInt"
  228. use="required" />
  229. <xs:attribute name="SequenceId" type="xs:anyURI" />
  230. <xs:attribute name="MessageNumber"
  231. type="xs:unsignedInt"
  232. use="required" />
  233. <xs:anyAttribute namespace="##other" processContents="lax" />
  234. </xs:restriction>
  235. </xs:complexContent>
  236. </xs:complexType>
  237. </xs:schema>