USYSXSLT
USYSXSLT is a Uniface component that provides services for transforming XML streams at runtime using XSLT stylesheets.
USYSXSLT uses the Xalan XSLT processor from the Apache Software Foundation to do this transform, via the Java Native Interface (JNI). Xalan is a Java-based application that implements the XSLT specification issued by the World Wide Web Consortium.
Note: Uniface is not committed to supporting any Xalan XSLT extensions such as embedding Java in the XSL stylesheets. We support the XSL Transformation Version 1.0 standard.
System requirements
USYSXSLT has the following system requirements:
- Operating system—Microsoft Windows, Unix, or Linux.
- Java Virtual Machine (JVM)—Java runtime, versions 1.2.2 or higher.
For your convenience, the JVM is included on your Uniface distribution (Microsoft Windows installations only).
Note: On Microsoft Windows systems, ensure that the
path to JVM.dll is declared in the PATHS
environment variable.
Operations
For a description of the XMLTRANSFORM operation, see the sub-topic.
Remote Execution
You can specify remote execution of the USYSXSLT component in your assignment file.
On Linux, the USYSXSLT component calls the Java shared library when using Xalan to transform an XML stream. This is configured in the assignment file as follows:
[USER_3GL] /h/superuser/java/openjdk/jdk-11.0.1/lib/server/libjvm.so(JNI_CreateJavaVM)
This calls the shared Java library when using Xalan to transform an XML stream. When successful, the JVM is loaded in Uniface’s process space. Each subsequent call to Xalan first checks whether the JVM is loaded, and if this is the case, Uniface uses the running JVM.
As a fallback mechanism, if Uniface cannot find the shared Java library, for example if the path is incorrectly specified in the assignment file, Uniface uses a plain spawn with command line arguments to spawn the JVM in a different process. Any subsequent call restarts the complete JVM.