XSLT

XSLT

This page is no longer maintained (Aug 08, 2025). For the most current information, see XSLT

In this article

Snap type:

Transform

Description:

This Snap reads the binary data and applies the XSLT transformation rules and writes out the resulting documents. This Snap supports 1.0, 2.0 standards.

Prerequisites:

The input binary data must use UTF-8 encoding. If non-UTF-8 encoded data or a special character is passed, it results in an error: "Error view with behavior continue received a new type of error." Refer to the Troubleshooting section below for steps to resolve this error.

Support and limitations:

Works in Ultra Tasks

Account: 

Accounts are not used with this Snap.

Views:

Input

This Snap has exactly one binary input view, where it accepts binary data.

Output

This Snap has exactly one binary output view and produces binary data that was produced by the XSLT Transformer.

Error

This Snap has at most one document error view and produces zero or more documents in the view.

Troubleshooting:



Error Message

Reason

Resolution

Error view with behavior continue received a new type of error.

If data with coding other than UTF-8 or a special character is passed to the XSLT Snap, an error is displayed during Pipeline execution. This happens because the XSLT Snap is configured to accept UTF-8 encoded data only.

Add the Transcoder Snap before the XSLT Snap.

In the Transcoder Snap Settings, specify your current character set in the Input character-set field and UTF-8 in the Output character-set field.

Settings

Label

Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

Schema



Schema of the incoming data provided as XSD.

Example: sldb:///my_schema/foo.xsd

Validate input



Required. Specifies the incoming data to be validated against the provided XSD schema definition in Inbound Schema property.

If you enter an Inbound schema, then you must select Validate XML and Match data types properties to derive the output as per the defined schema. 

Example: False

Default value: False 

Java 8 throws an error if the maxOccurs value in your XSD file is greater than 5000. To overcome this error, set maxOccurs to unbounded. If you cannot modify the XSD, perform the following:

  1. In the SnapLogic application, navigate to Manager > Project Spaces.

  2. Click on your Project.

  3. Click the Snaplexes tab and click on the Snaplex that you want to update.
    The Update Snaplex dialog box appears.

  4. Under Global properties, click + to add a Key and Value.



  5. Enter jcc.jvm_options in Key.

  6. Enter -Djdk.xml.maxOccurLimit=0 in Value.

  7. Click Update

  8. Restart the JCC.

XSLT



Required. Transforms the incoming XML document based on the XSLT Transformation rules. 

Example: sldb:///my_xslt/converter.xslt

Pass values dynamically

You can also dynamically pass parameter values to the Snap instead of passing an XML input, by configuring the intended parameter values in an upstream Mapper Snap. Ensure that the intended parameters are defined in the template's header.  

For example, consider the following XML:

Better Code Block



To pass a dynamic value for the parameter title, you would include this parameter in the XML stylesheet template (XSLT) as follows:

Better Code Block

Format as canonical XML

Select to produce a canonical XML output.  

The canonical form of an XML output is an XML representation that excludes the XML prolog and includes the start and end tag for all the XML elements.

Default value: Not selected 

Snap Execution

Select one of the following three modes in which the Snap executes:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default ValueExecute only




Example: Validate & Execute