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