Apache Xalan XSLT 3.0 REST API documentation

 
This documentation describes, information about how to use Apache Xalan XSLT 3.0 implementation's REST API (application programming interface) to be able to use Xalan-J's XSLT 3.0 implementation from within software application code.

Following are screen paste for API invocation examples of this api, via Postman tool

1)  XSLT stylesheet test1.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                         version="3.0">

        <xsl:output method="xml" indent="yes"/>

        <xsl:template match="/">
             <result>
                 <xsl:for-each select="1 to 10">
                     <item>
                         <xsl:value-of select="."/>
                     </item>
                 </xsl:for-each>
             </result>
        </xsl:template>

</xsl:stylesheet>

 

API invocation result

2)  XSLT stylesheet test2.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                         xmlns:math="http://www.w3.org/2005/xpath-functions/math"
                         exclude-result-prefixes="#all"
                         version="3.0">

        <xsl:output method="xml" indent="yes"/>

        <xsl:template match="/info">
                <result>
                    <xsl:for-each select="(a,b,c)">
                        <item>
                            <xsl:value-of select="math:sqrt(.)"/>
                        </item>
                    </xsl:for-each>
                </result>
        </xsl:template>

</xsl:stylesheet>

XML document test2.xml

<?xml version="1.0" encoding="UTF-8"?>
<info>
    <a>1</a>
    <b>2</b>
    <c>3</c>
</info>

With an API call with following request values:

xml_file    test2.xml

xsl_file     test2.xsl

We get following API invocation result:

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <item>1</item>
    <item>1.4142135623730951</item>
    <item>1.7320508075688772</item>
</result>

3) XSLT stylesheet test3.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                        version="3.0">

        <xsl:output method="xml" indent="yes"/>

        <xsl:variable name="jsonStr1" select="unparsed-text('test3.json')"/>

        <xsl:template match="/">
             <xsl:copy-of select="json-to-xml($jsonStr1)"/>
        </xsl:template>

</xsl:stylesheet>

JSON document test3.json

[
    {
        "a" : [1,2,3],
        "b" : [1,2,3],
        "c" : [1,2]
    },
    {
        "a" : [1,2,3],
        "b" : [1,2,3]
    },
    {
        "a" : [1,2,3],
        "b" : [1,2,3],
        "c" : [1,2]
    }
]

With an API call with following request values:

xml_file    test3.xsl

xsl_file     test3.xsl

aux_file    test3.json

We get following API invocation result:

<?xml version="1.0" encoding="UTF-8"?>
<array xmlns="http://www.w3.org/2005/xpath-functions">
    <map>
        <array key="a">
            <number>1</number>
            <number>2</number>
            <number>3</number>
        </array>
        <array key="b">
            <number>1</number>
            <number>2</number>
            <number>3</number>
        </array>
        <array key="c">
            <number>1</number>
            <number>2</number>
        </array>
    </map>
    <map>
        <array key="a">
            <number>1</number>
            <number>2</number>
            <number>3</number>
        </array>
        <array key="b">
            <number>1</number>
            <number>2</number>
            <number>3</number>
        </array>
    </map>
    <map>
        <array key="a">
            <number>1</number>
            <number>2</number>
            <number>3</number>
        </array>
        <array key="b">
            <number>1</number>
            <number>2</number>
            <number>3</number>
        </array>
        <array key="c">
            <number>1</number>
            <number>2</number>
        </array>
    </map>
</array>