<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="../make-menu.xsl" type="text/xsl"?><html>
   <head>
      <this-is section="using-xsl" page="embedding" subpage=""/>
      <!--
           Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: Invoking XSLT from an application</title>
      <meta name="coverage" content="Worldwide"/>
      <meta name="copyright" content="Copyright Saxonica Ltd"/>
      <meta name="title"
            content="Saxonica: XSLT and XQuery Processing: Invoking XSLT from an application"/>
      <meta name="robots" content="noindex,nofollow"/>
      <link rel="stylesheet" href="../saxondocs.css" type="text/css"/>
   </head>
   <body class="main">
      <h1>Invoking XSLT from an application</h1>
      <p>Rather than using the XSLT interpreter from the command line, you may want to include it in your
own application, perhaps one that enables it to be used within an applet or servlet. If you run
the interpreter repeatedly, this will always be much faster than running it each time from
 a command line.</p>
      <p>There are several APIs you can use to invoke Saxon's XSLT processor from an application.</p>
      <p class="subhead">The JAXP interface (Java)</p>
      <p>On the Java platform, Saxon incorporates support for the
standard <a href="http://jaxp.java.net/" class="bodylink">JAXP transformation API</a> (originally known as TrAX).
 This is compatible with the API for invoking other XSLT processors such as
 Xalan and Oracle.</p>
      <p>This API is described in the documentation provided with JDK 1.5 and later. 
 It is available online at <a href="http://download.oracle.com/javase/6/docs/api/" class="bodylink">http://download.oracle.com/javase/6/docs/api/</a>
 Look for the <a href="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/package-summary.html"
            class="bodylink">javax.xml.transform</a> package.</p>
      <p class="subhead">The s9api interface (Java)</p>
      <p>Alternatively, you can use Saxon's own <b>s9api</b> interface. This is designed
 to provide an integrated approach to XML processing across the different range of languages supported by Saxon;
 unlike JAXP, it includes support for XSLT 2.0 capabilities, and it also takes advantage of generics in Java 5.</p>
      <p class="subhead">The Saxon.Api interface (.NET)</p>
      <p><i>There is also an API for Saxon on the .NET platform, designed to make Saxon available from
.NET languages such as C#, VB.NET, and ASP.NET. See <a class="bodylink" href="../dotnet/intro.xml">Saxon on .NET</a>.</i></p>
      <p class="subhead">Links</p>
      <ul>
         <li>
            <p><a class="bodylink" href="embedding/s9api-transformation.xml">Using s9api for Transformations</a></p>
         </li>
         <li>
            <p><a class="bodylink" href="embedding/jaxp-transformation.xml">Using JAXP for Transformations</a></p>
         </li>
      </ul>
      <table width="100%">
         <tr>
            <td>
               <p align="right"><a class="nav" href="embedding/s9api-transformation.xml">Next</a></p>
            </td>
         </tr>
      </table>
   </body>
</html>