Ciao, sto cercando di fare una semplice trasformazione XSL usando saxon e la libreria javax.xml, ma ottengo questo errore:
Come se non leggesse i file, ma i file ci sono e i permessi sembrano a posto... quando avevo usato saxon con le librerie jdom infatti aveva funzionato. Ora devo usare queste altre perchè mi serve xalan per il passaggio di parametri al foglio xsl.codice:root cause javax.xml.transform.TransformerConfigurationException: java.io.EOFException: no more input
Le policy
e il sorgente jsp:codice:permission java.io.FilePermission "/tmp/*", "read,write"; permission java.util.PropertyPermission "user.dir", "read"; permission java.util.PropertyPermission "javax.xml.transform.TransformerFactory", "write";
Uso Java 5, Tomcat 4 e Saxon 6.xcodice:<%@ page import="java.io.*, javax.xml.transform.*, javax.xml.transform.stream.*" %> <% final String XMLPATH = "/tmp/db.xml"; final String XSLPATH = "/tmp/stile.xsl"; final String HTMPATH = "/tmp/menu.htm"; StreamSource xmlSource = new StreamSource(XMLPATH); StreamSource xslSource = new StreamSource(XSLPATH); FileOutputStream fos = new FileOutputStream(HTMPATH); StreamResult htmResult = new StreamResult(fos); synchronized(this){ System.setProperty( "javax.xml.transform.TransformerFactory", "com.icl.saxon.TransformerFactoryImpl"); TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(xslSource); transformer.transform(xmlSource, htmResult); } %> <div id="menu"> <jsp:include page="/tmp/menu.htm" /> </div>
Se al posto di Saxon provo ad usare xalan stesso, in questo modo:
Ottengo invece questo errorecodice:System.setProperty( "javax.xml.transform.TransformerFactory", "org.apache.xalan.transformer.TransformerImpl");
E non capisco perchè non riesca ad instanziarlo.codice:root cause javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.transformer.TransformerImpl could not be instantiated: java.lang.InstantiationException: org.apache.xalan.transformer.TransformerImpl at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
Aiuto![]()

Rispondi quotando
