The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
<?xml version ="1.0"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/TR/xmlschema-1/-->
<schema targetNamespace = "urn:uddi-org:api"
	 xmlns = "http://www.w3.org/1999/XMLSchema">
	<annotation>
		<appInfo>
	UDDI API schema.  Version 1.0, revision 0.  Last change 2000-09-06
		</appInfo>
	</annotation>
	<element name = "addressLine" type = "string"/>
	<element name = "bindingKey" type = "string"/>
	<element name = "businessKey" type = "string"/>
	<element name = "description" type = "string"/>
	<element name = "keyValue" type="string" />
	<element name = "name" type = "string"/>
	<element name = "overviewURL" type = "string"/>
	<element name = "personName" type = "string"/>
	<element name = "serviceKey" type = "string"/>
	<element name = "tModelKey" type = "string"/>
	<element name = "uploadRegister" type = "string"/>
	<element name = "address">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Data: a printable, free form address.  Typed by convention.  Sort not used.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "addressLine" minOccurs = "0" maxOccurs = "*"/>
			</group>
			<attribute name = "useType" type = "string"/>
			<attribute name = "sortCode" type = "string"/>
		</type>
	</element>
	
	<element name = "contacts">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Service element: accessor for one or more contacts.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "contact" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "contact">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Data: a contact
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "personName"/>
				<element ref = "phone" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "email" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "address" minOccurs = "0" maxOccurs = "*"/>
			</group>
			<attribute name = "useType" type = "string"/>
		</type>
	</element>
	
	<element name = "discoveryURL">
		<type source = "string" content = "textOnly">
			<annotation>
				<appInfo>
	Data:  A url pointing to an external (typed by convention) discovery doc.
	</appInfo>
			</annotation>
			<attribute name = "useType" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "discoveryURLs">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Service Element: accessor for one or more discoveryURL elements
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "discoveryURL" minOccurs = "1" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "phone">
		<type content = "textOnly">
			<annotation>
				<appInfo>
	Data: an telephone number.
	</appInfo>
			</annotation>
			<attribute name = "useType" type = "string"/>
		</type>
	</element>
	
	<element name = "email">
		<type content = "textOnly">
			<annotation>
				<appInfo>
	Data: an email address.
	</appInfo>
			</annotation>
			<attribute name = "useType" type = "string"/>
		</type>
	</element>
	
	<element name = "businessEntity">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Primary Data type: Describes an instance of a business or business unit.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "discoveryURLs" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "name"/>
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "contacts" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "businessServices" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "identifierBag" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "categoryBag" minOccurs = "0" maxOccurs = "1"/>
			</group>
			<attribute name = "businessKey" minOccurs = "1" type = "string"/>
			<attribute name = "operator" type = "string"/>
			<attribute name = "authorizedName" type = "string"/>
		</type>
	</element>
	
	<element name = "businessServices">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Service element.  Accessor collection point for businessService data.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessService" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "businessService">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Primary Data type: Describes a logical service type in business terms.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "name"/>
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "bindingTemplates"/>
				<element ref = "categoryBag" minOccurs = "0" maxOccurs = "1"/>
			</group>
			<attribute name = "serviceKey" minOccurs = "1" type = "string"/>
			<attribute name = "businessKey" type = "string"/>
		</type>
	</element>
	
	<element name = "bindingTemplates">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Service element.  Collection accessor for bindingTemplate information.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "bindingTemplate" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "identifierBag">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Service element.  Used in searching and categorization.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "keyedReference" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "keyedReference">
		<type content = "empty">
			<annotation>
				<appInfo>
	Service element.  Represents a namespace qualified name-value
	pair.  Depending on use context, this structure can be used
	within different convention frameworks.
	</appInfo>
			</annotation>
			<attribute name = "tModelKey" type = "string"/>
			<attribute name = "keyName" minOccurs = "1" type = "string"/>
			<attribute name = "keyValue" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "categoryBag">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Service element.  Used in searching and categorization.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "keyedReference" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "bindingTemplate">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Primary Data type: Describes an instance of a web service in technical terms.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<group order = "choice">
					<element ref = "accessPoint" minOccurs = "0" maxOccurs = "1"/>
					<element ref = "hostingRedirector" minOccurs = "0" maxOccurs = "1"/>
				</group>
				<element ref = "tModelInstanceDetails"/>
			</group>
			<attribute name = "bindingKey" minOccurs = "1" type = "string"/>
			<attribute name = "serviceKey" type = "string"/>
		</type>
	</element>
	
	<element name = "accessPoint">
		<type source = "string" content = "textOnly">
			<annotation>
				<appInfo>
	Data: present when a service is directly accessible at a particular
	address (e.g. URL, etc).  Mutually exclusive with hostingRedirector.
	</appInfo>
			</annotation>
			<attribute name = "URLType" minOccurs = "1">
				<datatype source = "NMTOKEN">
					<enumeration value = "mailto"/>
					<enumeration value = "http"/>
					<enumeration value = "https"/>
					<enumeration value = "ftp"/>
					<enumeration value = "fax"/>
					<enumeration value = "phone"/>
					<enumeration value = "other"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "hostingRedirector">
		<type content = "empty">
			<annotation>
				<appInfo>
	Data: present only when the service is provisioned via remote hosting,
	load balancing, etc.  Mutually exclusive with accessPoint.
	</appInfo>
			</annotation>
			<attribute name = "bindingKey" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "tModelInstanceDetails">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Support element used as a container for tModel references within a
	web service bindingTemplate metadata set.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "tModelInstanceInfo" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "tModelInstanceInfo">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Support element used to contain implementation instance specific information
	about compatible specications (via tModel reference) and optional settings
	details.  
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "instanceDetails" minOccurs = "0" maxOccurs = "1"/>
			</group>
			<attribute name = "tModelKey" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "instanceDetails">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Support element used to contain optional information about the way an
	instance of a web service is implemented or varies from the general
	specifications outlined in a specific tModel.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "overviewDoc" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "instanceParms" minOccurs = "0" maxOccurs = "1"/>
			</group>
		</type>
	</element>
	
	<element name = "instanceParms" type = "string">
		<annotation>
			<appInfo>
	This is a URL pointing to the settings file, or the settings themselves
	that are needed to invoke a registered service (for getting fixed parm
	values prior to call)
	</appInfo>
		</annotation>
	</element>
	
	<element name = "tModel">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This structure defines a metadata about a technology, specification
	or namespace qualified list (e.g. taxonomy, organizaton, etc.)
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "name"/>
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "overviewDoc" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "identifierBag" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "categoryBag" minOccurs = "0" maxOccurs = "1"/>
			</group>
			<attribute name = "tModelKey" minOccurs = "1" type = "string"/>
			<attribute name = "operator" type = "string"/>
			<attribute name = "authorizedName" type = "string"/>
		</type>
	</element>
	
	<element name = "tModelBag">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Support element used in searches by tModel key values
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "tModelKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "overviewDoc">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Support element - used to contain an on-line description and a
	URL pointer to more in-depth or external documentation.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "overviewURL" minOccurs = "0" maxOccurs = "1"/>
			</group>
		</type>
	</element>
	
	<element name = "authInfo" type = "string">
		<annotation>
			<appInfo>
	This structure is used in all messages that update data on
	behalf of a user initiated request.
	</appInfo>
		</annotation>
	</element>
	
	<element name = "get_authToken">
		<type content = "empty">
			<annotation>
				<appInfo>
	This optional message is used to request an authentication token.  The
	response is an authToken message.
	</appInfo>
			</annotation>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "userID" minOccurs = "1" type = "string"/>
			<attribute name = "cred" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "authToken">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to return an authentication token in response
	to a "get_authToken" message.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "discard_authToken">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This optional message is used to deactivate an authentication token
	that was obtained by a call to get_authToken.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "save_tModel">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to register or update a tModel.  One of tModel or
	uploadRegister is required.  Invalid if contains both or neither type.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
				<element ref = "tModel" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "uploadRegister" minOccurs = "0" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "delete_tModel">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to delete information about a previously
	registered tModel.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
				<element ref = "tModelKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "save_business">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to save (add/update) information describing
	one or more businessEntity structures.  One of businessEntity or
	uploadRegister is required.  Invalid if contains both or neither type.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
				<element ref = "businessEntity" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "uploadRegister" minOccurs = "0" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "delete_business">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to delete information about a previously
	registered businessEntity.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
				<element ref = "businessKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "save_service">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to save (add/update) information
	about one or more businessService structures.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
				<element ref = "businessService" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "delete_service">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to delete information about a previously
	registered businessService structure.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
				<element ref = "serviceKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "save_binding">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to save (add/update) information about 
	one or more bindingTemplate structures.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
				<element ref = "bindingTemplate" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "delete_binding">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to delete information about a previously
	registered bindingTemplate structure.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
				<element ref = "bindingKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "dispositionReport">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used report the outcome of calls.  It is used within
	error (fault) messages, and can stand alone when indicating success.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "result" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "result">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This structure supports the dispositionReport structure.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "errInfo" minOccurs = "0" maxOccurs = "1"/>
			</group>
			<attribute name = "keyType" minOccurs = "0">
				<datatype source = "NMTOKEN">
					<enumeration value = "businessKey"/>
					<enumeration value = "tModelKey"/>
					<enumeration value = "serviceKey"/>
					<enumeration value = "bindingKey"/>
				</datatype>
			</attribute>
			<attribute name = "errno" minOccurs = "1" type = "integer"/>
		</type>
	</element>
	
	<element name = "errInfo">
		<type content = "textOnly">
			<annotation>
				<appInfo>
	Supports the DispositionReport structure.
	This structure is provided for conveying text and structured
	error code (alphanumeric) information.  Error message text
	is contained by this element.
	</appInfo>
			</annotation>
			<attribute name = "errCode" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "findQualifiers">
		<type content = "elementOnly">
			<annotation>
				<appInfo>container/accessor for findQualifiers</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "findQualifier" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "findQualifier" type = "string">
		<annotation>
			<appInfo>
	This structure is provided to signal the behavior of the find
	operations.  See appropriate appendix in API specification.
	</appInfo>
		</annotation>
	</element>
	
	<element name = "find_tModel">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to search for summary results listing registered
	tModel data matching specific criteria.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "findQualifiers" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "name" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "identifierBag" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "categoryBag" minOccurs = "0" maxOccurs = "1"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "maxRows" type = "integer"/>
		</type>
	</element>
	
	<element name = "find_business">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to search for summary results listing registered
	businessEntity data matching specific criteria.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "findQualifiers" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "name" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "identifierBag" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "categoryBag" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "tModelBag" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "discoveryURLs" minOccurs = "0" maxOccurs = "1"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "maxRows" type = "integer"/>
		</type>
	</element>
	
	<element name = "find_binding">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to search for summary results listing registered
	bindingTemplate data within a businessService matching specific criteria.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "findQualifiers" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "tModelBag"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "maxRows" type = "integer"/>
			<attribute name = "serviceKey" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "find_service">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to search for summary results listing registered
	businessService data matching specific criteria.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "findQualifiers" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "name" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "categoryBag" minOccurs = "0" maxOccurs = "1"/>
				<element ref = "tModelBag" minOccurs = "0" maxOccurs = "1"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "maxRows" type = "integer"/>
			<attribute name = "businessKey" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "serviceList">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to return results of a find_service request.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "serviceInfos"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "businessList">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This is a report - a list of businesses in short form.
	This message is the response to a find_businessEntity query.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessInfos"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "tModelList">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This is a report - a list of tModels in short form.
	This message is the response to a find_tModel query.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "tModelInfos"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "businessInfo">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This element is used as a short form of the BusinessEntity
	element as a first pass result set for "find businesses" queries.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "name"/>
				<element ref = "description" minOccurs = "0" maxOccurs = "*"/>
				<element ref = "serviceInfos"/>
			</group>
			<attribute name = "businessKey" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "businessInfos">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Accessor container for one or more businessInfo structures
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessInfo" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "serviceInfo">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This structure is used as the short form of a service for list purposes.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "name"/>
			</group>
			<attribute name = "serviceKey" minOccurs = "1" type = "string"/>
			<attribute name = "businessKey" type = "string"/>
		</type>
	</element>
	
	<element name = "serviceInfos">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Accessor container for one or more serviceInfo structures
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "serviceInfo" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "get_businessDetail">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to get the detailed information registered
	about businessEntity data matching specific key value(s).
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "businessDetail">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This structure is used to return businessEntity structures.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessEntity" minOccurs = "0" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "get_serviceDetail">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to get the detailed information registered
	about businessService data matching specific key value(s).
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "serviceKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "serviceDetail">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This structure is used to return full businessService details.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessService" minOccurs = "0" maxOccurs = "*" />
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "get_registeredInfo">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to support tool resynch by allowing a
	query to get summarized information about registered businessEntity
	and tModels for a given userID.  This API is intended to let
	publishers determine what they've published.  As such, authentication
	is required.  The response is a registeredInfo message.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "authInfo"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "registeredInfo">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This structure is used in the resynch process and is a response
	to a get_registeredInfo message.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessInfos"/>
				<element ref = "tModelInfos"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "tModelInfo">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This structure is used to enumerate short form tModel information.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "name"/>
			</group>
			<attribute name = "tModelKey" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "tModelInfos">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	Support element - accessor container for tModelInfo.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "tModelInfo" minOccurs = "0" maxOccurs = "*"/>
			</group>
		</type>
	</element>
	
	<element name = "get_tModelDetail">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This message is used to request the details about a specific tModel.  Results
	are returned in a tModelDetail message.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "tModelKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "tModelDetail">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This is a response message that returns all exposed details about a tModel.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "tModel" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "businessEntityExt">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	This structure is the container for safely extending the businessEntity
	information in private implementations of UDDI compatible registries.
	Official operator nodes may not provide extended data but must return
	a properly populated businessEntity structure within this structure in
	response to a get_businessDetailExt message.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessEntity"/>
			</group>
		</type>
	</element>
	
	<element name = "get_businessDetailExt">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	The extended businessDetail messages define an API that allows non-operator
	nodes to provide extended information via a consistent API.  This message
	is the request that will cause a businessDetailExt message to be returned.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "businessDetailExt">
		<type content = "elementOnly">
			<annotation>
				<appInfo>
	The extended businessDetail messages define an API that allows non-operator
	nodes to provide extended information via a consistent API.  This message
	is the response to get_businessDetailExt.
	</appInfo>
			</annotation>
			<group order = "seq">
				<element ref = "businessEntityExt" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "get_bindingDetail">
		<type content = "elementOnly">
			<group order = "seq">
				<element ref = "bindingKey" minOccurs = "1" maxOccurs = "*"/>
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
	<element name = "bindingDetail">
		<type content = "elementOnly">
			<group order = "seq">
				<element ref = "bindingTemplate" minOccurs = "0" maxOccurs = "*" />
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
			<attribute name = "operator" minOccurs = "1" type = "string"/>
			<attribute name = "truncated">
				<datatype source = "NMTOKEN">
					<enumeration value = "true"/>
					<enumeration value = "false"/>
				</datatype>
			</attribute>
		</type>
	</element>
	
	<element name = "validate_categorization">
		<type content = "elementOnly">
			<group order = "seq">
				<element ref = "tModelKey"/>
				<element ref = "keyValue"/>
				<element ref = "businessEntity" minOccurs = "0" maxOccurs = "1" />
				<element ref = "businessService" minOccurs = "0" maxOccurs = "1" />
				<element ref = "tModel" minOccurs = "0" maxOccurs = "1" />
			</group>
			<attribute name = "generic" minOccurs = "1" type = "string"/>
		</type>
	</element>
	
</schema>