XSLT Publishing  Locate

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 format may be defined by an XML Schema (its representing tModel), or it may be typed by a general tModel that represents the user's 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  Locate
compatibleSchema  Locate

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  Locate
  • namespace - the URI of the XML namespace defined by the schema

  • uddi:tModelKey - tModelKey of the tModel that represents the XML Schema

compatibleSchemaList  Locate

This structure holds a list of compatibleSchemas.

contentMapping  Locate

Describes how the contents of the XSLT transformation are mapped to the entities published in the registry.

Arguments  Locate
inputSchemaList  Locate

List of the XSL transformation's information structures and references to input schemas.

namespaceMatch  Locate

This structure represents matches found in the UDDI registry for a specific XML namespace UI referenced by the XSL Transformation Document.

Arguments  Locate
  • 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  Locate

This structure holds a list of namespaceMatches.

outputType  Locate

The types of resources the XSL transformation may produce. Currently only xml is supported, typed by a XML Schema tModel

Arguments  Locate
  • uddi:tModelKey - tModel that represents the formal description of the output format

  • xslt2uddi:xmlSchema

outputTypeList  Locate

List of descriptions of output formats the style sheet can produce.

producesOutput  Locate

Query parameter that selects results based on the output produced by the XSL Transformation Document

Arguments  Locate
  • 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  Locate

List of output format query parameters

resultMapping  Locate

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;, there's 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.

tModelRef  Locate

This structure holds a reference to a tModel representing an XML Schema document, or XML style sheet document.

Arguments  Locate
  • 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  Locate

This structure is used in find_xslt queries.

Arguments  Locate
  • location - location of the XSLT document.

  • uddi:tModelKey - tModelKey of the tModel that represents the XSLT document.

usesStylesheetList  Locate

This structure holds a list of usesStylesheets.

xmlSchema  Locate

Description of a referenced XML Schema

Arguments  Locate
  • 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

xsltDetail  Locate

This structure holds the representation of an XSLT document in the UDDI registry.

Arguments  Locate
  • 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  Locate

This structure represents a list of xsltDetails.

xsltImportMapping  Locate

This structure holds a mapping XSL Transformation Document imported to UDDI entities.

Arguments  Locate
  • location - location of the imported XSL Transformation Document.

  • xslt2uddi:tModelRef - references to tModels that match the imported XSL Transformation Document.

xsltImportMappingList  Locate

This structure represents a list of xsltImportMappings.

xsltimportMatch  Locate

This structure represents a matching between imported XSL Transformation Documents and UDDI entities.

Arguments  Locate
  • location - location of the imported XSL Transformation Document.

  • candidates - possible mappings to UDDI tModels. See xslt2uddi:tModelRef

xsltImportMatchList  Locate

This structure holds a list of xsltImportMatches.

xsltInfo  Locate

This structure represents an item from the list returned by find_xslt operations.

Arguments  Locate
  • 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  Locate

This structure holds a list of xsltInfos.

xsltMapping  Locate

This structure describes the mapping of an XSL Transformation Document.

Arguments  Locate
  • uddi:name - name for the XSLT tModel

  • uddi:tModelKey - tModelKey of the target tModel

  • location - location of the XSL Transformation Document.

  • xslt2uddi:contentMapping

xsltMappingList  Locate

This structure represents a list of xslMappings

Operations  Locate
find_xslt  Locate
Syntax  Locate

Table 42. Attributes

NameRequired
listHeadoptional
maxRowsoptional

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  Locate
Returns  Locate

This API call returns the a list of xsltInfos on success.

find_xsltMapping  Locate
Syntax  Locate

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  Locate
  • uddi:authInfo - authentication

  • location - location of the XSL Transformation Document

  • xslt2uddi:findQualifiers - see find qualifiers

Returns  Locate

This API call returns xslt2uddi:resultMapping upon success.

get_xsltDetail  Locate
Syntax  Locate

This operation gets the detail about published XSLT tModels.

Arguments  Locate
  • uddi:authInfo - This optional argument is the string representation of the uddi:authToken.

  • uddi:tModelKey - required key value representing an existing XSLT tModel.

Returns  Locate

This API call returns the xslt2uddi:xsltDetailList..

publish_xslt  Locate
Syntax  Locate

Table 43. Attributes

NameRequired
publishingMethodoptional
schemaMethodoptional
importMethodoptional

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.

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  Locate
  • 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  Locate

This API call returns the xsltDetail on success.

unpublish_xslt  Locate
Syntax  Locate

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  Locate
  • uddi:authInfo - This optional argument is the string representation of the uddi:authToken.

  • uddi:tModelKey - tModelKey of the XSLT.

Returns  Locate

This API call returns the xsltDetail on success.

WSDL  Locate

Xslt2uddi_v3.wsdl

API Endpoint  Locate

You can find the XSLT2UDDI API endpoint at http://<host name>:<port>/<context>/uddi/xslt2uddi.

Java  Locate

org.systinet.uddi.client.xslt2uddi.v3.Xslt2uddiApi