You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "luca.raimondo@libero.it" <lu...@libero.it> on 2002/03/12 16:36:15 UTC
http://xml.apache.org/xalan/features/incremental
Hello!
I'm writing this class:
----------------------------------------------------------------------
import java.net.*;
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.sax.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.TransformerFactory.*;
import org.apache.xalan.xslt.*;
import org.apache.xalan.processor.TransformerFactoryImpl;
//import org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl;
//import org.apache.xml.dtm.ref.IncrementalSAXSource_Xerces;
public class saxProc
{
private SAXTransformerFactory tFactory;
private String xmlSource, xslSource;
private PrintWriter out;
public saxProc(String xmlSource, String xslSource, PrintWriter out)
{
tFactory = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
// tFactory.setAttribute
("http://xml.apache.org/xalan/features/incremental",
java.lang.Boolean.TRUE);
// tFactory.getFeature(StreamSource.FEATURE);
this.xmlSource = xmlSource;
this.xslSource = xslSource;
this.out = out;
}
public void proc()
{
try{
StreamSource xsl = new StreamSource(new URL(xslSource).openStream
());//new FileReader(new File(xslSource)));
StreamSource xml = new StreamSource(new URL(xmlSource).openStream
());//(Reader)xmlSource);
Templates t = tFactory.newTemplates(xsl);
Transformer trans = t.newTransformer();
StreamResult xout = new StreamResult(out);
trans.setOutputProperty("method", "xml");
trans.setOutputProperty("omit-xml-declaration", "no");
trans.setOutputProperty("encoding", "ISO-8859-1");
trans.setOutputProperty("media-type", "text/html");
trans.transform(xml, xout);
}
catch(Exception e){ System.err.println("__xsltProc => "+ e);
/*e.printStackTrace();*/ }
}
public static void main(String[] args)
{
String anno = "2001";
if(args.length > 0)
anno = args[0];
saxProc conv = new saxProc("http://armageddon:8080/persone/doQuery?
anno=" + anno
+ "&contentType=html", "http://armageddon:8080/persone/supplementi_html.
xsl", new PrintWriter(System.out));
conv.proc();
}
}
----------------------------------------------------------------------
I have some problem with output, because it isn't incremental, but if I
try to use
tFactory.setAttribute
("http://xml.apache.org/xalan/features/incremental",
java.lang.Boolean.TRUE);
I have this exception
java.lang.ClassNotFoundException:
org/apache/xml/dtm/ref/IncrementalSAXSource_Xerces
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:130)
at org.apache.xml.dtm.ref.DTMManagerDefault.getDTM
(DTMManagerDefault.java:269)
at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:630)
at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1088)
at org.apache.xalan.transformer.TransformerImpl.transform
(TransformerImpl.java:1066)
at saxProc.proc(saxProc.java:39)
at saxProc.main(saxProc.java:51)
this is my classpath
CLASSPATH=.\;C:\j2sdk1.4.0-rc\jar\mm.mysql-2.0.4-bin.jar;C:\j2sdk1.4.0-
rc\jar\xalan.jar;C:\j2sdk1.4.0-rc\jar\xercesImpl.jar;C:\j2sdk1.4.0-
rc\jar\xml-apis.jar;C:\j2sdk1.4.0-rc\jar\xsltc.jar;C:\Apache Tomcat 4.0
\common\lib\servlet.jar;
Sorry if it is a stupit question!
Bye bye!