UDDI entity definition file

The entity definition file contains XML that exactly describes each of the specified entities, according to the UDDI Utility Tools schema.

You can create a UDDI entity definition file in three ways:
  • Use the export or promote functions in UDDI Utility Tools to generate a file.
  • Modify a file that was generated by using the export function.
  • Create a file manually.

The extension to the uddi:tModel type to add a deleted attribute is not currently used in UDDI Utility Tools.

The file is validated for form and compliance with the UDDI Utility Tools schema, shown here:
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema id="uddiPromote" attributeFormDefault="unqualified" 
 elementFormDefault="qualified" targetNamespace=
 "http://www.ibm.com/xmlns/prod/WebSphere/UDDIUtilityTools" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:uddi="urn:uddi-org:api_v2" 
xmlns="http://www.ibm.com/xmlns/prod/WebSphere/UDDIUtilityTools" 
xmlns:promote="http://www.ibm.com/xmlns/prod/WebSphere/UDDIUtilityTools">

	<xsd:import namespace="http://www.w3.org/XML/1998/namespace" 
   schemaLocation="xml.xsd" />
	<xsd:import namespace="urn:uddi-org:api_v2" schemaLocation="uddi_v2.xsd" />

	<!-- define a type to represent the state of a tModel -->
	<xsd:simpleType name="tModelDeleted">
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="true" />
			<xsd:enumeration value="false" />
		</xsd:restriction>
	</xsd:simpleType>

	<!-- extend tModel with additional attribute of type tModelDeleted -->
	<!-- This is restricted to values true or false -->
	<xsd:complexType name="tModel">
		<xsd:complexContent>
			<xsd:extension base="uddi:tModel">
				<xsd:attribute name="deleted" type="promote:tModelDeleted" 
          use="optional" />
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>


	<!-- Top-level element definitions -->
	<xsd:element name="uddiEntities" type="promote:uddiEntities" />
	<xsd:complexType name="uddiEntities">
		<xsd:sequence>
			<xsd:element ref="promote:tModels" minOccurs="0" maxOccurs="1" />
			<xsd:element ref="promote:businesses" minOccurs="0" maxOccurs="1" />
			<xsd:element ref="promote:services" minOccurs="0" maxOccurs="1" />
			<xsd:element ref="promote:bindings" minOccurs="0" maxOccurs="1" />
			<xsd:element ref="promote:referencedTModels" minOccurs="0" 
        maxOccurs="1" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="businesses" type="promote:businesses" />
	<xsd:complexType name="businesses">
		<xsd:sequence>
			<xsd:element ref="uddi:businessEntity" minOccurs="0" 
        maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="tModels" type="promote:tModels" />
	<xsd:complexType name="tModels">
		<xsd:sequence>
			<xsd:element ref="uddi:tModel" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="services" type="promote:services" />
	<xsd:complexType name="services">
		<xsd:sequence>
			<xsd:element ref="uddi:businessService" minOccurs="0" 
        maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="bindings" type="promote:bindings" />
	<xsd:complexType name="bindings">
		<xsd:sequence>
			<xsd:element ref="uddi:bindingTemplate" minOccurs="0" 
        maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>

	<xsd:element name="referencedTModels" type="promote:referencedTModels" />
	<xsd:complexType name="referencedTModels">
		<xsd:sequence>
			<xsd:element ref="uddi:tModel" minOccurs="0" maxOccurs="unbounded" />
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>

UDDI entity definition file example for canonical tModel entities

You can use UDDI Utility Tools to create new UDDI entities in a target UDDI registry. A typical example of this is to introduce a new canonical tModel entity that has a publicly known tModel key.

The following example entity definition file following shows the five main sections for tModels, businesses, services, bindings, and referencedTModels:

<?xml version="1.0" encoding="UTF-8"?>
<promote:uddiEntities xmlns="urn:uddi-org:api_v2" xmlns:promote=
 "http://www.ibm.com/xmlns/prod/WebSphere/UDDIUtilityTools">

  <!-- tModels -->
  <promote:tModels>

    <tModel tModelKey="uuid:ee3966a8-faa5-416e-9772-128554343571" > 
      <name>http://schemas.xmlsoap.org/ws/2002/07/policytmodel</name> 
      <description>WS-PolicyAttachment policy expression</description>
    </tModel> 

    <tModel tModelKey="uuid:ad61de98-4db8-31b2-a299-a2373dc97212" >
      <name>uddi-org:wsdl:address</name>
	<description xml:lang="en">
This tModel is used to specify the URL fact that the address must be obtained 
from the WSDL deployment file.
      </description>
      <overviewDoc>
        <overviewURL>
http://www.oasis-open.org/committees/uddi-spec/doc/tn/
uddi-spec-tc-tn-wsdl-v2.htm#Address 
        </overviewURL>
      </overviewDoc>
    </tModel>

  </promote:tModels>

  <!-- businesses -->
  <promote:businesses>
  </promote:businesses>

  <!-- services -->
  <promote:services>
  </promote:services>

  <!-- bindings -->
  <promote:bindings>
  </promote:bindings>

  <!-- referenced tModels -->
  <promote:referencedTModels>
  </promote:referencedTModels>

</promote:uddiEntities>