======================================================================
The Sun XSLT Compiler (XSLTC) is a Java-based tool for compiling XSL
stylesheets into extremely lightweight and portable Java byte code.
The XSLTC Java Runtime environment can then process XML files against
these compiled stylesheets (Translets) to generate any manner of
output per the stylesheet instructions.

This Applet Demo shows you how translets can be run in a client 
browser as Java applets to perform XSLT transformations on XML 
source documents residing on a Web server. Because of XSLTC's small 
footprint, it is possible to download the compiled stylesheets 
(translets) and the runtime classes in the applet. Whereas, this
would not be easy with a fullsize Java-based XSLT processor. 

There are two important advatages of this approach: 

  1) It offloads XSLT processing from the server
  2) It enables browsers, such as Netscape 4.x, that do not have native 
     XSLT support to perform XSLT transformations today!

-----------------------------------------------------------------------
DEMO CONTENTS
-----------------------------------------------------------------------
The applet demo is very generic. It will let you run any pre-compiled
translet through an applet, and it lets you use that on any XML file
you can refer to using an URL. The contents of this demo are:

  TransformApplet.java -  The applet that wraps the XSLTC runtime 
      classes and your translet(s).

  index.html - Your main HTML document (displays two frames)

  menu.html  - The HTML document for your dialog frame. This is the
      document that invokes the TransformApplet

-----------------------------------------------------------------------
HOW TO SET UP THE DEMO ON YOUR SITE
-----------------------------------------------------------------------
1. Install and configure Xalan with XSLTC

2. Compile the stylesheets you want to export. This will result in one
   or more small Java classes (translets).

3. Create a JAR file with your the applet class (compile it first, of
   cource), your translet classes and these classes from the xalan/xsltc
   package:

     org/apache/xalan/xsltc/*.class
     org/apache/xalan/xsltc/dom/*.class
     org/apache/xalan/xsltc/runtime/*.class
     org/apache/xalan/xsltc/util/*.class

   Be sure to make the JAR file world readable!

4. Make your XML source documents readable through a URL (either place
   them behind a web server or make them readable for your browser as
   a file).

5. Open the supplied index.html and try out the demo!

----------------------------------------------------------------------
KNOW PROBLEMS
----------------------------------------------------------------------
The following problems are specific to the Netscape 4.x browser.

Class Already Loaded - If you start up the Netscape client browser on 
a Unix system where you have been running XSLTC, and consequently 
have a CLASSPATH that includes xml.jar, and xlstcrt.jar, the applet 
demo fails. You'll see a message saying a class has already been 
loaded in the Javascript console. To bring up the Javascript console,
you type

    javascript:

in the location/URL field of the browser. To work around this problem, 
unset your CLASSPATH before starting Netscape from a terminal window.
This still may not resolve the problem if Netscape is started from 
a wrapper that sets your environment from your startup file (e.g., 
your .cshrc file for the C-shell).

Parser Exception - This problem only applies to Netscape on the 
Windows platform with XML documents that have an external DTD.
If you see the following message:

    org.xml.sax.SAXParseException: 
    External parameter entity "%(DOCTYPE);"
    has characters after markup.

try removing the reference to an external DTD in your XML source.
----------------------------------------------------------------------
END OF README
