<?xml version ="1.0"?>
<schema targetNamespace = "urn:uddi-org:api"
	 xmlns = "http://www.w3.org/1999/XMLSchema">
	<annotation>
		<appInfo>
			Copyright (c) 2000 - 2002 by Accenture, Ariba, Inc., Commerce One, Inc. 
			Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., 
			Intel Corporation, International Business Machines Corporation,  
			Microsoft Corporation, Oracle Corporation, SAP AG, Sun Microsystems, Inc., 
			and VeriSign, Inc.  All Rights Reserved.

			UDDI API schema.  Version 1.0, revision 0.  Last change 2000-09-06
			Version 1.0, revision 1.  Last change 2001-10-26
			Removed incorrect comment line claiming this schema conforms to the TR
		</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>
