Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Problem using compiled translets with Xalan !!

Problem using compiled translets with Xalan !!

2006-09-01       - By Ambika.Das@(protected)
Reply:     1     2     3     4     5     6  

Hi Brian,

Just to add some more info.

We are working on performance enhancement by using compiled translets
for XML transformation. We are using Xalan 2.7.0. Currently we are
getting transformation failure exception for some requests if the number
of concurrent requests is 100. The approach we are following is as
follows.

1.   Compile the XSL files into .class files using XSLTC API and put
in the WEB-INF/classes directory of the web application.
2.   For each transformation, construct a transformer factory and set
use-classpath attribute to true.
3.   Construct a StreamSource object out of the translet name.
4.   Construct a transformer object out of the transformer factory by
passing the StreamSource object.
5.   Call transformer.transform() to perform the transformation.

JDK 1.4.2 ships with a default JAXP implementation which conflicts with
Xalan 2.7.0. For this we have put the latest built jar files in
$JAJA_HOME/jre/endorsed directory.

Please let us know if this approach is correct for multiple
transformations. FYI, we have also tried with templates i.e. Constructed
Templates out of translets and then the transformer. But the problem
still persists.

The pseudo code is as follows

public String transform(Source  xmlSource, String transletName){

transformerFactory = TransformerFactory.newInstance();
      transformerFactory.setAttribute("use-classpath",
Boolean.TRUE);
      transformer transformerFactory.newTransformer(new StreamSource(
          transletName));
transformer.transform(xmlSource, ResultSource);
}

The stack trace is as follows.

       ... 15 more
ERROR:  'Content is not allowed in prolog.'
ERROR:  'org.apache.xml.utils.WrappedRuntimeException: Content is not
allowed in
prolog.'
javax.xml.transform.TransformerException:
javax.xml.transform.TransformerExcepti
on: org.apache.xml.utils.WrappedRuntimeException: Content is not allowed
in prol
og.
       at
org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl
.java:640)
       at
org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl
.java:301)
       at
com.citibank.rmds.test.RI_TransformServlet_RIS.doGet(RI_TransformServ
let_RIS.java:86)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
       at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:996)
       at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:419)
       at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:315)
       at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6452)
       at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
       at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
118)
       at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3661)
       at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2630)
       at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
       at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Caused by: javax.xml.transform.TransformerException:
org.apache.xml.utils.Wrappe
dRuntimeException: Content is not allowed in prolog.
       at
org.apache.xalan.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.ja
va:484)
       at
org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl
.java:630)
       ... 14 more
Caused by: org.apache.xml.utils.WrappedRuntimeException: Content is not
allowed
in prolog.
       at
org.apache.xalan.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.jav
a:393)
       at
org.apache.xalan.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.jav
a:228)
       at
org.apache.xalan.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.ja
va:462)
       ... 15 more


Some times we are also getting ArrayIndexOutOfBoundsException. Please
let me know if this is related to usage and if there is any specific
usage for using translets in multi threaded environment.

Thanks & Regards,
Ambika Prasad Das


-----Original Message-----
From: Ambika Das-IC
Sent: Friday, September 01, 2006 11:16 AM
To: 'Brian Minchau'
Cc: xalan-j-users@(protected)
Subject: RE: Problem using compiled translets with Xalan !!

Hi Brian,

We are using the latest version of Xalan. The HTTP server generates XML
data depending on the parameters passed. We have compiled the XSL file
into class files and put in WEB-INF/classes folder of our web
application. But When we send concurrent requests, some the
transformations fail.

We are using the following approach for transformation

transformerFactory = TransformerFactory.newInstance();
      transformerFactory.setAttribute("use-classpath",
Boolean.TRUE);
      transformer transformerFactory.newTransformer(new StreamSource(transletName)
);

transformer.transform(xmlSource, resultSource);

Thanks & Regards,
Ambika Prasad Das

-----Original Message-----
From: Brian Minchau [mailto:minchau@(protected)]
Sent: Friday, September 01, 2006 10:50 AM
To: Ambika Das-IC
Cc: xalan-j-users@(protected)
Subject: Re: Problem using compiled translets with Xalan !!
Importance: Low

Ambika,
more information is needed. This could be an error totally outside of
Xalan, like a bug in an underlying database concurrency (unlikely, but
possible).

What version of Xalan are you using?  The latest published 2.7.0 ?

What is the HTTP server doing?  Is it running servlets that run an XSLT
transformation to generate and return XML?
If that is the case what is each servlet keeping a reference to from
each
invocation to the next?  The transformer factory? The compiled
transformation?

Please provide more information, possibly code fragments or pseudo code,
othewise no progress can be made.


- Brian
- - - - - - - - - - - - - - - - - - - -
Brian Minchau, Ph.D.
XSLT Development, IBM Toronto
(780) 431-2633
e-mail:        minchau@(protected)





            <Ambika.Das@(protected)

            solutions.com>


To
            09/01/2006 12:24          <xalan-j-users@(protected)>

            AM
cc



Subject
                                      Problem using compiled translets

                                      with Xalan !!

















Hi All,

We are using compiled translets to transform XML data into XSL. The
application makes HTTP URL connection to a remote site which generates
XML
based on the request. The same is transformed using compiled translets.

We have observed that out of 100 concurrent requests, 1 or 2 requests
fail
due to transformation failure. Does anybody know why this happens?

For each request we are creating a transformer factory and a
transformer.
We have even tested with templates, but the problem still persists.

Thanks & Regards,
Ambika Prasad Das