Systinet XSD-to-UDDI mapping enables the automatic publishing of XML Schema Documents into UDDI and enables precise, flexible UDDI queries based on specific XML schema metadata.
The mapping of XML Schema Document information to UDDI covers:
XML types - Types declared at the global level in the XML Schema Document. These types are mapped to tModels in UDDI.
XML elements - XML elements declared at the global level in the XML Schema Document. These elements are mapped to tModels in UDDI.
References to other XML namespaces - Information about imported schemas are stored in the registry.
The API allows the user to search for an schema's tModels based on the namespace they define, or the elements and types they declare within that namespace. The API can also extract the published information back from the registry, so it can be accessed as a list of elements, types, and schemas rather than tModels and other UDDI entities.
This structure represents elements declared by the published XML Schema Document.
element - This argument represents an element declared by the published XML Schema Document.
This structure contains the basics of the imported XML Schema tModel.
uddi:tModelKey - The key of the tModel of the schema of the imported XML namespace.
uddi:name - The name of that schema's tModel.
This structure holds possible mappings of how the XML Schema Document can be published.
location - The location of the candidate XML Schema Document.
xsd2uddi:schemaMapping - The mapping of the candidate XML Schema Document contents
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.
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.
This structure describes a mapping of the XSD contents to an individual XSD tModel and its contents.
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.
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.
xsd2uddi:schemaImports - mapping for referenced (imported) XML Schema Documents.
xsd2uddi:schemaCandidate - an individual mapping candidate.
This structure holds mapping of an individual symbol (XSD element and type) to the registry.
localName - Local name of the mapped symbol.
xsd2uddi:symbolModel - The basics of the tModel that represents the symbol.
Basic information about a tModel that represents an element or a type declared by the XML Schema Document
uddi:name - Name of the symbol's tModel. This argument is optional when publishing a XML Schema Document; it is always filled in API responses.
uddi:tModelKey - tModelKey of the symbol's model
The structure provides detailed information about a specific XML Schema Document, its contents and its references.
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
This structure holds general information about the XML Schema Document.
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 schema's tModel
uddi:name - tModel name for the schema's tModel
This structure holds a list of XSDs, returned from a find_xsd call.
uddi:listDescription - holds a list of descriptions as specified in UDDI's API documentation.
xsd2uddi:xsdInfo - holds information about individual registered XSD models.
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.
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. 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.
This API call returns thexsdResourceList 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.
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.
uddi:authInfo - (Optional) - authentication
xsd2uddi:resourceInfo - The XSD identification (location)
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.
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.
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.
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.
Table 41. Attributes
Name | Required |
---|---|
importPolicy | optional |
contentPolicy | optional |
publishingMethod | optional |
contentPublishingMethod | optional |
importPublishingMethod | optional |
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.
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
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.
This API call returns the xsdDetail with the published XML Schema Document information on success.
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.
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.
You can find the XSD2UDDI API endpoint at http://<host name>:<port>/uddi/xsd2uddi.