Software AG Products 10.7 | Integrating On-Premises and Cloud Applications | Service Development | Building XSLT Services | XSLT Service Signature
 
XSLT Service Signature
All XSLT services use the same set of input and output parameters.
The standard input variables for the XSLT service are described below. These specify the type of XML input the service expects, as well as any name/value pairs.
Input Parameters
xmldata
byte[] Optional. XML to transform.
xmlUrl
String Optional. URL of the XML to transform.
filename
String Optional. Fully qualified name of the file that contains the XML to transform. The file must be located on the local machine.
xmlStream
Input stream Optional. XML to transform.
node
com.wm.lang.xml.Node Optional. Node that contains the XML to transform.
xslParamInput
Document Optional. Name/value pairs to pass to the style sheet. For instructions on setting up your style sheet to work with this input variable, see Passing Name/Value Pairs from the Pipeline to the Style Sheet.
encoding
String Optional. Default character set to use for encoding the data transferred during this session. Specify an IANA-registered character set (for example, ISO-8859-1). If you do not set encoding, the default JVM encoding is used.
$useCache
String Optional. Specifies whether to use the cached version of the style sheet or the most recent version. To use this parameter, add $useCache to the input pipeline of the XSLT service and set the value to false to always call the most recent version of the style sheet.
Important:
By default, the XSLT transformation engine caches style sheets, which improves performance significantly. However, if you are working on the XSLT service in a development environment and making frequent changes to the style sheet, it is convenient to always specify the most recent version when you call the XSLT service from a flow service.
useCompilingProcessor
Boolean Optional. Specifies whether or not to use the Xalan compiling processor (XSLTC), which creates and uses compiled style sheets or translets. Set to:
*true to use the org.apache.xalan.xsltc.trax.TransformerFactoryImpl class as a transformer factory.
If no translet currently exists for the style sheet, the processor creates one. If a translet exists and the style sheet has changed since the translet was created, the processor replaces the existing translet with a new one. If the style sheet has not changed since the translet was created, the processor reuses the existing translet. This setting overrides the setting specified on the home page of the WmXSLT package.
*false to use the transformer factory that is specified on the home page of the WmXSLT package. The default is false.
Note:
The compiling processor is only supported by the Xalan processor that supports XSLT 1.0. Consequently, to create translets you must only use style sheets that are XSLT 1.0 compatible.
loadExternalEntities
String Optional. Specifies whether or not to load external entities (file URIs, HTTP URLs, and so on) referenced in the XML that the service receives or in the XSLT style sheet the service uses to transform the XML. Set to:
*true to load content from all external entities that are referenced in the XSLT style sheet or in the XML. This is the default.
*false to not load content from external entities that are referenced in the XSLT style sheet or in the XML. Use this setting to prevent attacks from external entities by blocking those entities.
Important:
To help prevent an external entity attack in a production environment, set loadExternalEntities to false in each instance of the transformSerialXML service.
Output Parameters
results
String String that contains the transformed XML.
xslParamOutput
Document Conditional. Document that contains name/value pairs that were returned by the style sheet. This value is present only if you add name/value pairs to it from your style sheet. For more information about passing name/value pairs from the style sheet to the pipeline and for instructions on setting up your style sheet to work with this parameter, see Using Name/Value Pairs with an XSLT Service.
Usage Notes
The xmldata, xmlUrl, filename, xmlStream, and node input parameters are mutually exclusive. Use any one of these parameters to specify the type of XML input.
If the loadExternalEntities input parameter is set to false, you can have the service load, read, and transform content from a trusted external entity by doing one of the following:
*Place the trusted external entity file in the Integration Server installation directory or subdirectories.
*Include the trusted external entity in the list of trusted entities identified in the server parameter watt.core.xml.allowedExternalEntities. For more information about this parameter, see webMethods Integration Server Administrator’s Guide.
If the loadExternalEntities input parameter is not specified in the service signature, Integration Server checks the value of the server parameter watt.core.xml.expandGeneralEntities. If this parameter is set to false, the service blocks all external entities that are not included in the list of trusted entities specified in watt.core.xml.allowedExternalEntities. For more information about watt.core.xml.expandGeneralEntities, see webMethods Integration Server Administrator’s Guide.