CONTEXT
JDK 1.4.1
Orion 1.5.4
Maverick (root framework of the web-app)
TROUBLE
When my XML input is relatively large (about 30Ko), sometimes,
I've an exception (DTMException) fired by Xalan (sea end of the message ford
etails).
We used some Templates to cache XSLT processing (there is the code below).
QUESTIONSIs there some limitation in the amount of datas allowed as xml input ?
Do someone encounter this trouble ? (and, in this case, have you solved it?)
Have I done something wrong ?
---------------------------------------------------------------------------------------
javax.xml.transform.TransformerException: org.apache.xml.dtm.DTMException: Aucun ID DTM disponible (meaning no DTM ID available)at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1226)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:638)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1088)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1066)
at org.infohazard.maverick.transform.XSLTransform$Step.go(XSLTransform.java:254)
...
---------------------------------------------------------------------------------------
public void go(Source input) throws IOException, ServletException{
Transformer trans;
try{
}catch (TransformerConfigurationException ex){
throw new ServletException(ex);
}
// Populate any params which might have been
set
if (this.getTransformCtx().getParams() !=
populateParams(trans,<
B>this.getTransformCtx().getParams());
Result
res;
...
res = new StreamResult(this.getNext().getResponse().getOutputStream());
...
try{
trans.transform(input,r
es);
}catch (TransformerExceptione
x){
}
...
}
---------------------------------------------------------------------------------------
(path is the xsl file
path)
protected Templates
loadTemplate(String path, ServletContext servletCtx) throws
ConfigException{
TransformerFactory tFactory = TransformerFactory.newInstance();
if (this.uriResolver != null)
tFactory.setURIResolver(this.uriResolver);java.net.URL resURL = servletCtx.getResource(path);
if (resURL == null){
log.fatal("Resource not found: " + path);
throw new ConfigException("Resource not found: " + path);
}log.debug("Template url is: " + resURL.toString());
return tFactory.newTemplates(new StreamSource(resURL.openStream(), resURL.toString()));
}
**********************************************************************
Ce message et ses �ventuels fichiers attach�s sont confidentiels
et sont uniquement � l'attention de la personne physique ou morale
destinatrice. Si vous avez re�u ce message par erreur, merci d'en
avertir l'exp�diteur.
Ce bas de page assure �galement que ce message a �t� v�rifi� par un anti-virus
**********************************************************************
