Hello!

I am trying to compile multiple stylesheets at web-appserver-startup.  I
have tried a couple of ways.
-------------------------------------
First way
-------------------------------------
The most simple sets the URL to an XSL resource and then sends it to:

public void newTransformer(URL xsl) {
      XSLTC xsltc = new XSLTC();
        xsltc.init();
        xsltc.compile(xsl);
   }

Doing this causes an Error in the compilation of the Init Servlet [Error 1 -
below]. I have the jaxp.properties file with the following entries:
javax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.runtime.Transf
ormerFactoryImpl
javax.xml.parsers.DocumentBuilderFactory=javax.xml.parsers.DocumentBuilderFa
ctory
javax.xml.parsers.SAXParserFactory=javax.xml.parsers.SAXParserFactory
-------------------------------------
Second way
-------------------------------------
If I try another way to compile the XSL, the System output says the
...xsltc.TransletTemplate@xxxxxs were created:

public void newTransformer(String id, URL xsl) {

      File xslt_file = new File(xsl);
      long xsl_last_mod = xslt_file.lastModified();
      // CONTEXT = global ServletContext var - basically a Hashtable
      Templates entry = (Templates) CONTEXT.getAttribute(id);

      if (entry == null) {
         Source xsl_source = new StreamSource(xslt_file);
         TransformerFactory transfact = TransformerFactory.newInstance();
         Templates templates = transfact.newTemplates(xsl_source);
System.out.println(id + " Templates Obj: " + templates);
         // global ServletContext var - basically a Hashtable
         CONTEXT.setAttribute(id, templates);

      }
   }

When I try to access the compiled XSL with the method directly below I get a
different error sent to the browser (500). They seem to be the same error
[Error 2 - below].

public void doTransform(String source_uri,
                                Templates style,
                                Hashtable params,
                                PrintWriter out)
    throws FileNotFoundException, TransformerException  {

      try {

         Transformer transformer = style.newTransformer();
         transformer.transform ((Source) new InputSource(source_uri),
                                        new StreamResult(out));

      } catch (Exception e) {
         out.write(e.getMessage());
         e.printStackTrace(out);
      }
   }


----------------------------------------------
Please help. I don't understand what I am doing wrong.

Thanks!
-Rob
----------------------------------------------
ERRORS
===== ERROR 1 =================
[2001/10/02 12:01:19] de/fub/bytecode/generic/InstructionConstants
java.lang.NoClassDefFoundError: de/fub/bytecode/generic/InstructionConstants
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
        at org.apache.xalan.xsltc.compiler.XSLTC.<init>(XSLTC.java:138)
        at
com.koberg.makecontent.InitMasterApp.newTransformer(InitMasterApp.java:60)
        at com.koberg.makecontent.InitMasterApp.init(InitMasterApp.java:43)
        at javax.servlet.GenericServlet.init(GenericServlet.java:82)
        at com.caucho.server.http.Application.createServlet(Application.java:2212)
        at com.caucho.server.http.Application.loadServlet(Application.java:2169)
        at com.caucho.server.http.Application.initServlets(Application.java:1404)
        at com.caucho.server.http.Application.init(Application.java:1359)
        at com.caucho.server.http.VirtualHost.init(VirtualHost.java:456)
        at com.caucho.server.http.ServletServer.initHosts(ServletServer.java:480)
        at com.caucho.server.http.ServletServer.init(ServletServer.java:386)
        at com.caucho.server.http.ServletServer.<init>(ServletServer.java:214)
        at com.caucho.server.http.ResinServer.init(ResinServer.java:279)
        at com.caucho.server.http.ResinServer.main(ResinServer.java:852)
        at com.caucho.server.http.HttpServer.main(HttpServer.java:93)
----------------------------------------
========= ERROR 2 ===========
java.lang.NoClassDefFoundError: de/fub/bytecode/generic/InstructionConstants
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
        at org.apache.xalan.xsltc.compiler.XSLTC.<init>(XSLTC.java:138)
        at
org.apache.xalan.xsltc.runtime.TransletTemplates.newTransformer(TransletTemp
lates.java:92)
        at com.koberg.makecontent.MCTransformer.doTransform(MCTransformer.java:29)
        at com.koberg.makecontent.MasterLogin.doPost(MasterLogin.java:58)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:165)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
        at
com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:8
2)
        at com.caucho.server.http.Invocation.service(Invocation.java:272)
        at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:128)
        at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:216)
        at
com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:158)
        at com.caucho.server.TcpConnection.run(TcpConnection.java:140)
        at java.lang.Thread.run(Thread.java:484)

Reply via email to