XSD Publishing Advanced APIs

Data Structures Elements This structure represents elements declared by the published XML Schema Document. Arguments • element - This argument represents an element declared by the published XML Schema Document. importedSchemaModel This structure contains the basics of the imported XML Schema tModel. Arguments • uddi:tModelKey - The key of the tModel of the schema of the imported XML namespace. • uddi:name - The name of that schemas tModel. resourceInfo This structure describes the location of the XML Schema Document. schemaCandidate This structure holds possible mappings of how the XML Schema Document can be published. Arguments • location - The location of the candidate XML Schema Document. • xsd2uddi:schemaMapping - The mapping of the candidate XML Schema Document contents Page 476 Arguments schemaImport This structure holds the imported namespace, that is, the list of possible mappings for this xsd:import, for an xsd:import clause in the XML Schema Document. If a specific location is specified in the XML Schema Document text for the imported XML Schema Document, it is also present. Arguments • xsd2uddi:namespace - The imported namespace. If missing, a no-namespaced XML schema is imported • schemaLocation - The location for the XML Schema Document, if given explicitly. If the imported XML Schema Document does not specify an exact schema location, this value is null. • xsd2uddi:importedSchemaModel - The tModel information of the candidates for this import. schemaImports This structure describes a list of xs:imports in the schema. schemaMapping This structure describes a mapping of the XSD contents to an individual XSD tModel and its contents. Arguments • uddi:name - Name of the XML Schema tModel. • uddi:tModelKey - tModelKey for the XML Schema tModel • xsd2uddi:elements - Mapping for contained XML elements • xsd2uddi:types - Mapping for contained XML types. Page 477 Arguments schemaMappings This structure describes a mapping from the contents of a XML Schema Document to UDDI entities. There are two parts. The first part describes possible matches for xs:imports specified by the XML Schema Document; the second, individual candidates that may match the XML Schema Document contents. The candidate structure then contains a mapping of the XML Schema Document onto the particular candidate tModel and the related UDDI entities. Arguments • xsd2uddi:schemaImports - mapping for referenced imported XML Schema Documents. • xsd2uddi:schemaCandidate - an individual mapping candidate. symbol This structure holds mapping of an individual symbol XSD element and type to the registry. Arguments • localName - Local name of the mapped symbol. • xsd2uddi:symbolModel - The basics of the tModel that represents the symbol. symbols A common structure for mapping types and elements. symbolModel Basic information about a tModel that represents an element or a type declared by the XML Schema Document Arguments • uddi:name - Name of the symbols tModel. This argument is optional when publishing a XML Schema Document; it is always filled in API responses. • uddi:tModelKey - tModelKey of the symbols model Page 478 Arguments types Mapping of types declared by the XML Schema Document being mapped xsdDetail The structure provides detailed information about a specific XML Schema Document, its contents and its references. Arguments • xsd2uddi:xsdInfo - General information about the XML Schema Document itself • xsd2uddi:schemaImports - Information about XML namespaces imported into the XML Schema Document • xsd2uddi:elements - List of elements in the schema • xsd2uddi:types - List of types in the schema xsdDetails Details of the XSD xsdInfo This structure holds general information about the XML Schema Document. Arguments • location - The location of the XML Schema Document. This location can be used to retrieve the contents • xsd2uddi:namespace - The URI of the XML namespace defined by the XML Schema Document • uddi:tModelKey - tModel key for the schemas tModel Page 479 Arguments • uddi:name - tModel name for the schemas tModel xsdResourceList Table 39. Attributes Required Name optional truncated This structure holds a list of XSDs, returned from a find_xsd call. Arguments • uddi:listDescription - holds a list of descriptions as specified in UDDIs API documentation. • xsd2uddi:xsdInfo - holds information about individual registered XSD models. Operations find_xsd Syntax This operation finds the XML Schema Document. The caller can limit the number of search results to be returned and can iterate through the search results using the listHead and maxRows arguments. 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. Table 40. Attributes Required Name optional listHead optional maxRows Page 480 Syntax Arguments • uddi:authInfo - This optional argument is the string representation of the uddi:authToken. • xsd2uddi:resourceInfo - URI location of the published XML Schema Document. The registry does not read from the location, it is used as a search criteria for the current UDDI contents only. • xsd2uddi:namespace - Allows to search by the namespace defined by a XML Schema Document. Contains a list of XML namespace URIs. An XML Schema Document satisfies this condition if its targetNamespace attribute is among the URIs. • definesType - Allows the user to search by defined type. Contains a list of type names. An XML Schema Document satisfies this condition if it defines a global type with a name passed in the list. • definesElement - The returned schemas must define the named element. • uddi:find_tModel - An argument used for a more detailed description of search criteria. For more information, see uddi:find_tModel [http:uddi.orgpubsuddi_v3.htm_Toc53709284]. These criteria are combined with the other criteria specified by the find_xsd structure. In the case of a conflict, the criteria in find_xsd take precedence. Returns This API call returns the xsdResourceList on success. If the caller specifies the maxRows attribute, the returned xsdResourceList will contain, at most, that many results. Note that the search may yield a tModel, which does not entirely comply with the XSD-to-UDDI mapping specification, such as when the tModel information is altered manually. In these cases, an attempt to use get_xsdDetail on such a tModel will produce an exception. find_xsdMapping Syntax This operation finds a suitable mapping for contents of the given XML Schema Document. The operation downloads and parses the XML Schema Document at the given location, and matches the contents against the information already published in the registry. It will produce zero or more possible mappings for the given XML Schema Document. The caller may request that the mapping is attempted only against a specific tModel that represents an XML Schema Document. In that case, only one mapping will be returned. If the document at the specified location, or one of its dependencies for example, schemas for XML namespaces which the document imports are not accessible to the registry, an exception will be raised. If the document is not an XML schema or contains errors, the operation will throw an exception. Arguments • uddi:authInfo - Optional - authentication • xsd2uddi:resourceInfo - The XSD identification location Page 481 Arguments • uddi:tModelKey - Optional, the proposed schema tModel whose contents should be matched. If set, only published contents of that XML Schema Document will be considered for mapping. Returns This API call returns xsd2uddi:schemaMapping upon success. The structure contains possible matches for the XML Schema Document at the specified location, which are already stored in the UDDI. There are also possible matches for the XML Schema Documents for XML namespaces imported into the main XML Schema Document. The call will fail if it cannot access the XML Schema Document or one of its dependencies. get_xsdDetail Syntax Gets the detail about a published XML Schema Document tModels. Arguments • uddi:authInfo - This optional argument is the string representation of the uddi:authToken. • uddi:tModelKey - Required uddiKey value representing an existing XML Schema Document tModel. Returns This API call returns the xsd2uddi:xsdDetails. If the passed tModelKey does not exist, or identifies a tModel that does not represent an XML Schema Document, an exception is raised. publish_xsd Syntax Page 482 Syntax Table 41. Attributes Required Name optional importPolicy optional contentPolicy optional publishingMethod optional contentPublishingMethod optional importPublishingMethod Request to publish XML schema information to the registry. The user may pass only minimal information and rely on the matching algorithm used internally to find the appropriate mapping for the published XML Schema Document. Using the importPolicy and contentPolicy, the caller may limit the scope of the published data. By thepublishingMethod, contentPublishingMethod and importPublishingMethod attributes, the caller may specify the default behavior for publishing - whether an existing UDDI entity is reused and possibly updated, or a new UDDI entity is created, or the particular kind of information is ignored at all. The registry will need to read the XML Schema Document during the call as well as any resources referenced imported by it. If a XML Schema Document or a referenced resource is not available, the operation will fail. If the caller does not specify a mapping for some element, type, or XML namespace import and there will be more possible matching UDDI entities, the call will fail because the mapping of that XML schema entity is considered ambiguous. It is the responsibility of the caller to provide specific directions for the publishing in such cases. If the schemaMapping entry for a type, an element or an import specifies a publishingMethod reuse, the API will try to find a suitable UDDI entity. If such an entity is not found, the API will create one. If the caller provides a specific tModelKey with the reuse publishingMethod, the tModelKey must exist and that tModel will be updated with the element, type or import data. If the schemaMapping entry for a type, an element or an import specifies a publishing method create, the API will always create a new UDDI entity for that XML Schema Document piece. If the caller specifies the tModelKey in the schemaMapping entry, the new UDDI entity will be assigned that tModelKey. The caller may specify a name for the new tModel, too. If the caller specifies ignore publishing method for an element, a type or an import, that particular XML Schema Document piece will not be published at all. If the publishing operation updates an existing entity in the registry that contains a reference to the element, type or an import, the reference will be purged. When an element or type is ignored, the matching UDDI entity will be deleted from the registry as well by the publish operation. Arguments • uddi:authInfo - Optional - authentication • location - XSD identification location. • xsd2uddi:schemaImports - Mapping for referenced imported XML Schema Documents • xsd2uddi:schemaMapping - Optional customized mapping for the schema contents and references • importPolicy - attribute specifying which imports will be published • contentPolicy - attribute specifying which content will be published Page 483 Arguments • publishingMethod - attribute specifying the default publishing method for the contents elements, types declared by the schema; default = update • contentPublishingMethod - The default publishing method for elements and types ignore, create, reuse; default = reuse. This publishing method will be used for all elements or types unless the schemaMapping contains an entry for the element or type that provides a different value. • contentPublishingMethod - The default publishing method for imports ignore, create, reuse; default = reuse. This publishing method will be used for all imported XML namespaces unless the schemaMapping contains an entry for the XML namespace that provides a different value. Returns This API call returns the xsdDetail with the published XML Schema Document information on success. unpublish_xsd Syntax Unpublish the XML Schema Document. The operation checks whether the XML Schema Document is referenced from other data published in the UDDI. If so, the operation fails as the semantics of the referencing data might break if the XML Schema Document information is removed from the UDDI registry. Arguments • uddi:authInfo - This optional argument is the string representation of the uddi:authToken. • uddi:tModelKey - tModelKey of the tModel that represents the XML Schema Document. Returns This API call returns the xsdDetail on success. WSDL xsd2uddi_v3.wsdl [http:www.systinet.comdocsr-65wsdlxsd2uddi_v3.wsdl] API Endpoint You can find the XSD2UDDI API endpoint at http:host name:portcontextuddixsd2uddi. Java org.systinet.uddi.client.xsd2uddi.v3.Xsd2uddiApi

2.2.11. XSLT Publishing

XSLT-to-UDDI mapping enables the automatic publishing of XSLT into UDDI and enables precise, flexible UDDI queries based on specific XSL Transformation Documents. The UDDI stores information about the input and output formats accepted and produced by the XSL transformation and about other XSL stylesheets imported into the transformation. The input format is defined by an XML Schema. The output Page 484

2.2.11. XSLT Publishing

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.