XSLT Publishing Advanced APIs

format may be defined by an XML Schema its representing tModel, or it may be typed by a general tModel that represents the users definition of the output. The UDDI also stores the output method used by the stylesheet: html, xml, text. The XSLT Publishing API allows to search for the stylesheets by types of their input and output in order to locate a XSL suitable for processing a particular document, or a XSL that may produce some desired format. Data Structures compatibleSchema A query for the input format of the style sheet. Selects those style sheets, which accept the specified schema. The schema can be given either using a namespace URI or directly using the tModelKey of the XML Schema tModel representation in the UDDI. Arguments • namespace - the URI of the XML namespace defined by the schema • uddi:tModelKey - tModelKey of the tModel that represents the XML Schema compatibleSchemaList This structure holds a list of compatibleSchemas . contentMapping Describes how the contents of the XSLT transformation are mapped to the entities published in the registry. Arguments • xslt2uddi:inputSchemaList • xslt2uddi:xsltImportMappingList • xslt2uddi:outputTypeList • outputMethod - One or more output methods, as defined by the XSLT specification. The default value substituted by the API when no output method is given is xml. Page 485 Arguments inputSchemaList List of the XSL transformations information structures and references to input schemas. namespaceMatch This structure represents matches found in the UDDI registry for a specific XML namespace UI referenced by the XSL Transformation Document. Arguments • namespace - XML namespace URI referenced in the XSL transformation • schemaLocation - explicit location of the XML schema for the namespace. Optional. • candidates - possible mappings to tModels. For more information, please see xslt2uddi:tModelRef . namespaceMatchList This structure holds a list of namespaceMatches . outputType The types of resources the XSL transformation may produce. Currently only xml is supported, typed by a XML Schema tModel Arguments • uddi:tModelKey - tModel that represents the formal description of the output format • xslt2uddi:xmlSchema outputTypeList Page 486 outputTypeList List of descriptions of output formats the style sheet can produce. producesOutput Query parameter that selects results based on the output produced by the XSL Transformation Document Arguments • uddi:tModelKey - key of a tModel that represents the formal description of the output format. Currently only tModels that represent XML schemas are supported • namespace - the namespace URI of the XML namespace that defines output elements produced by the XSL Transformation Document producesOutputList List of output format query parameters resultMapping This structure holds the result of find_xsltMapping . It describes possible mappings for XML namespaces their schemas and mappings for stylesheet imported to the XSLT passed to the request. Finally, the tModels that match the XSL Transformation Document itself are reported in the mapping. For each of tModel that matches the mapped xslt;, theres a suggested mapping of the XSLT Document contents onto the particular tModel and its related data. The nested contentMapping structure is a suggestion how to map the XSL Transformation Document on a new tModel, rather than on some existing one. Mappings to already existing tModels are described in xsltMappingList nested structure. It may happen, that a XML namespace URI or an importer XSL Transformation Document has several mappings into the UDDI. In such cases, the entries in the xsltMappingList or the contentMapping may contain no tModelKeys as an indication that the mapping algorithm could not decide the mapping. It is up to the caller to resolve such ambiguities. Arguments • xslt2uddi:namespaceMatchList • xslt2uddi:xsltImportMatchList • xslt2uddi:xsltMappingList Page 487 Arguments • xslt2uddi:contentMapping tModelRef This structure holds a reference to a tModel representing an XML Schema document, or XML style sheet document. Arguments • uddi:name - name of the tModel. This name is always present in API response messages. • uddi:tModelKey - tModelKey that represents an XML schema or XSLT document. usesStylesheet This structure is used in find_xslt queries. Arguments • location - location of the XSLT document. • uddi:tModelKey - tModelKey of the tModel that represents the XSLT document. usesStylesheetList This structure holds a list of usesStylesheets . xmlSchema Description of a referenced XML Schema Arguments • namespace - The namespace referenced from the XSL Transformation Document • location - The explicit location of the XML Schema for the namespace, if given in the XSLT. Optional. • xslt2uddi:tModelRef Page 488 Arguments xsltDetail This structure holds the representation of an XSLT document in the UDDI registry. Arguments • uddi:name - name of the XSL Transformation Document tModel . • uddi:tModelKey - the tModelKey of the tModel that represents the XSL Transformation Document • location - the URI of the XSL Transformation Document document • xslt2uddi:contentMapping xsltDetailList This structure represents a list of xsltDetails . xsltImportMapping This structure holds a mapping XSL Transformation Document imported to UDDI entities. Arguments • location - location of the imported XSL Transformation Document. • xslt2uddi:tModelRef - references to tModels that match the imported XSL Transformation Document. xsltImportMappingList This structure represents a list of xsltImportMappings . Page 489 xsltImportMappingList xsltimportMatch This structure represents a matching between imported XSL Transformation Documents and UDDI entities. Arguments • location - location of the imported XSL Transformation Document. • candidates - possible mappings to UDDI tModels. See xslt2uddi:tModelRef xsltImportMatchList This structure holds a list of xsltImportMatches . xsltInfo This structure represents an item from the list returned by find_xslt operations. Arguments • location - location of the XSL Transformation Document • uddi:name - name of the XSL Transformation Document • uddi:tModelKey - the key of tModel that represents the XSL Transformation Document. xsltInfos This structure holds a list of xsltInfos . Page 490 xsltInfos xsltMapping This structure describes the mapping of an XSL Transformation Document. Arguments • uddi:name - name for the XSLT tModel • uddi:tModelKey - tModelKey of the target tModel • location - location of the XSL Transformation Document. • xslt2uddi:contentMapping xsltMappingList This structure represents a list of xslMappings Operations find_xslt Syntax Table 42. Attributes Required Name optional listHead optional maxRows Page 491 Syntax This operation finds the XSLT tModel that satisfies the search criteria. The caller may limit the number of results or page through the list of results usinglistHead andmaxRows attributes. They have the same semantics as in find_tModel in the UDDI Inquiry API. The name and URI lists passed as the input search criteria may use wildcard characters provided that the approximateMatch findQualifier is present. If the ownEntities findQualifier is used, the operation returns only entities owned by the authenticated user. Other entities are not returned even though they match the other search criteria. Arguments • uddi:authInfo - This optional argument is the string representation of the uddi:authToken. • location - location of the XSL Transformation Document. • xslt2uddi:compatibleSchemaList • xslt2uddi:usesStylesheetList • xslt2uddi:producesOutputList • uddi:find_tModel - a generic query parameter to further restrict the search using user-defined criteria • xslt2uddi:findQualifiers - see find qualifiers Returns This API call returns the a list of xsltInfos on success. find_xsltMapping Syntax This operation finds a suitable mapping for contents of the given XSL Transformation Document. The mapping algorithm tries not to report ambiguous mapping unless necessary. If some reference to a XML namespace or an imported XSL Transformation Document is ambiguous, the mapping algorithm will consider the already published data and suggest the tModelKey used by the existing tModel that represents the XSL Transformation Document. So in other words, if there is an XSL Transformation Document tModel already published, that references a specific tModelKey for a XML namespace, that tModelKey will be reported in the XsltMappingList even though there are more possible matching entities for the XML namespace. Arguments • uddi:authInfo - authentication • location - location of the XSL Transformation Document • xslt2uddi:findQualifiers - see find qualifiers Page 492 Arguments Returns This API call returns xslt2uddi:resultMapping upon success. get_xsltDetail Syntax This operation gets the detail about published XSLT tModels. Arguments • uddi:authInfo - This optional argument is the string representation of the uddi:authToken. • uddi:tModelKey - required key value representing an existing XSLT tModel. Returns This API call returns the xslt2uddi:xsltDetailList. . publish_xslt Syntax Table 43. Attributes Required Name optional publishingMethod optional schemaMethod optional importMethod A request to publish XSLT information to the UDDI registry. The publishingMethod defines how the XSL Transformation Document will be published in the UDDI registry. The schemaMethod and importMethod attributes define the defaults for publishing XML schema references, or references to imported XSL Transformation Documents, respectively. It is possible to override those defaults in entries of the passed contentMapping . The registry will need to read the XSL Transformation Document document being published. If the XSLT is not available to the UDDI registry, the operation will fail. Page 493 Syntax If the caller does not specify a mapping for some referenced XML namespace URI, or an imported XSL Transformation Document, and there will be more possible matching UDDI entities, the call will fail because the mapping is considered ambiguous. It is the responsibility of the caller to provide specific directions for the publishing in such cases. If a mapping entry specifies create as its publishing method, a new entity will be created to represent the particular part of the XSL Transformation Document. In this case the tModelKey of the mapping, if present, is used to provide a publisher- assigned key to the new entity. If a mapping entry specifies ignore publishing method, the information is not propagated into the UDDI registry at all. When updating an existing XSL Transformation Document tModel, such information are purged. So when a XML namespace is ignored, the publishing operation will remove the association between the XSL Transformation Document and the ignored XML Schema. Ignoring an element or type will delete the representing tModel entity from the UDDI. Arguments • uddi:authInfo - Optional - authentication • location - XSLT identification location of the XSL Transformation Document. • uddi:tModelKey - the tModelKey to be updated • uddi:name - the name of the tModel, optional • xslt2uddi:contentMapping • publishingMethod - The publishing method for the XSLT itself create, update. default = update. • schemaMethod - The publishing method for the referenced schemas create, reuse, ignore. Default = reuse. Returns This API call returns the xsltDetail on success. unpublish_xslt Syntax Unpublish the XSL Transformation Document. The contents of the UDDI Registry are checked whether there are referencies to this XSLT representant. If so, the operation fails with a disposition report that clearly shows tModelKeys of the referencing entities. Only references between XSLTs are checked the uddi:uddi.org:resource:reference taxonomy. Arguments • uddi:authInfo - This optional argument is the string representation of the uddi:authToken. • uddi:tModelKey - tModelKey of the XSLT. Returns This API call returns the xsltDetail on success. Page 494 Returns WSDL Xslt2uddi_v3.wsdl [http:www.systinet.comdocsr-65wsdlxslt2uddi_v3.wsdl] API Endpoint You can find the XSLT2UDDI API endpoint at http:host name:portcontextuddixslt2uddi. Java org.systinet.uddi.client.xslt2uddi.v3.Xslt2uddiApi

2.2.12. Inquiry UI

The Inquiry UI API has been implemented for improving the performance of the Business Service Control. The basic idea is to retrieve data that appear in the Business Service Control using a single API call. This API contains only one operation get_entityDetail . Its input includes a query specification and an output format: • The query specification comprises one of the standard UDDI v3 API data structures: find_business, find_services, find_binding, find_tModel, get_businessDetail, get_serviceDetail, get_bindingDetail and get_tModelDetail. • The output format defines which data structures will be returned and how they will be pruned. The operation get_entityDetail returns a list of UDDI data structures. ACLs are also applied to retrieved data. For example, if you specify the following inquiry: get_entityDetail xmlns=http:systinet.comuddiinquiryUI6.0 outputFormat businessEntityMask descriptionIncluded=true identifierBagIncluded=true businessServiceMask descriptionIncluded=true outputFormat find_binding serviceKey=uddi:systinet.com:demo:hr:employeesList xmlns=urn:uddi-org:api_v3 get_entityDetail You will receive the following output: entityDetail xmlns=http:systinet.comuddiinquiryUI6.0 businessEntity businessKey=uddi:systinet.com:demo:hr xmlns=urn:uddi-org:api_v3 nameHRname descriptionHR departmentdescription businessServices businessService serviceKey=uddi:systinet.com:demo:hr:employeesList businessKey=uddi:systinet.com:demo:hr nameEmployeeListname descriptionwsdl:type representing servicedescription businessService businessServices identifierBag keyedReference tModelKey=uddi:systinet.com:demo:departmentID keyName=department id keyValue=002 identifierBag Page 495

2.2.12. Inquiry UI

businessEntity entityDetail If there are matching bindingTemplates accessible while associated businessServices are not because of ACLs, such bindingTemplates will be included in the result in a separate list of bindingTemplates. The same behavior applies to accessible businessServices of inaccessible businessEntities. Data Structures The following structures are used by the Inquiry UI API: •