Validation of Values Taxonomy: Principles, Creation and Validation

card or ISBN number. Taxonomies like the ISO 3166 Geographic taxonomy, which permits only existing countries, check the existence of the value against a list. A validation service may even permit or deny values depending on the context in which they are used. Oracle Service Registry Requirements Oracle Service Registry conforms to the technical note Providing A Value Set For Use In UDDI Version 3 [http:oasis- open.orgcommitteesuddi-specdoctnuddi-spec-tc-tn-valuesetprovider-20030212.htm]. To create a checked taxonomy, you must: 1. Prepare and deploy a validation service which implements the Valueset_validation API. 2. Publish the tModel categorized as a checked taxonomy and mark it as unvalidatable. 3. Publish the bindingTemplate that implements the Valueset_validation API and the taxonomys tModel. 4. Republish the tModel, without the unvalidatable categorization, and with the categorization uddi-org:validatedBy pointing to the bindingTemplate. Oracle Service Registry requires that the bindingTemplate be published in the businessService of the Operational Business Entity. If this businessService is not part of the Operational Business Entity, the checked taxonomy will not be validatable and thus it may not be used in keyedReferences. This implies that only the Oracle Service Registry administrator may publish checked taxonomies. The bindingTemplate must contain an accessPoint with its useType attribute set to endPoint . If the accessPoint starts with the prefix class:, then the remaining part is assumed to contain the fully qualified name of t h e c l a s s t h a t i m p l e m e n t s i n t e r f a c e org.systinet.uddi.client.valueset.validation.v3.UDDI_ValueSetValidation_PortType and is accessible by the Oracle Service Registry classloader. If the accessPoint does not start with the prefix class:, it is assumed to be the URL of the Web service implementing the Valueset_validation API and a stub is created for this Web service. Internal Validation Service Oracle Service Registry contains a special validation service called the Internal Validation Service. This service is used by checked taxonomies that declare a list of available values published using the Taxonomy API.

5.4.4. Types of keyValues

The creator of the taxonomy must specify types of keyValues by assigning the appropriate comparator reference comparator tModel of the systinet-com:isOrderedBy taxonomy to the categorization taxonomy you want to use to categorize a UDDI entity. The following types of key values types are supported: • string - keyValues are treated as string values. If keyValues type is unknown then keyValues are treated as strings. The maximum length is 255 characters. • numeric - keyValues are treated as decimal numbers. The value can have maximum 19 digits before the decimal point and maximum 6 digits after the decimal point. • custom - keyValues must be transformed to string or numeric values using a transformation service. Please see Section Custom Ordinal Types for more information. For example, the tModel of the categorization taxonomy with numeric key values must have the following keyedReference in its category bag: Page 214

5.4.4. Types of keyValues

keyedReference tModelKey=uddi:systinet.com:isOrderedBy keyValue=uddi:systinet.com:comparator:numeric Figure 42. Example of Numeric Categorization Figure 42 shows how the demo:location:floor taxonomy from Demo data can be assigned numeric key values. Important If you change type of keyValues of the taxonomy and there are entities in the Oracle Service Registry that were already categorized with the taxonomy, the Oracle Service Registry administrator must execute the task Transform keyed references . The button for executing this task is located in the Registry Control under the Manage tab, Registry Management link. See Administrators Guide, Section 1.1, Accessing Registry Management • To learn how to make this assignment using the Registry Control , see Users Guide, Section Adding a Category . • See Users Guide, Section 5.5.5, Searching how to search UDDI data structures using range queries with Registry Control. • See Administrators Guide , Section 1.5.3, Editing Taxonomies how to edit taxonomy type. Custom Ordinal Types You can define your custom ordinal types. To demonstrate possible extensions, Oracle Service Registry contains two demo comparators: • systinet-com:comparator:date • systinet-com:comparator:stringToLowerCase Lets assume you want to create a taxonomy with date values in keyValues. You must mark the taxonomy tModel that is, add the following keyedReference into its categoryBag by keyedReference tModelKey=uddi:systinet.com:isOrderedBy keyValue=uddi:systinet.com:comparator:date . It is quite easy because there is a demo comparator for date in the registry. Imagine the date comparator is not present. Take the following steps to create it in the registry: Page 215 Custom Ordinal Types