ok. problem solved.
----- Original Message -----
From: "Sergio Lorenzo" <negpfe(_at_)usuarios(_dot_)retecal(_dot_)es>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Wednesday, May 28, 2003 2:13 PM
Subject: [xsl] Adding text to a transformed file
Hi everyone,
I got transform an XML file with an XSL engine, but I would like to
write in the output file (pocholo2.html) a line that says : "File
transformed from hello.xml", where hello.xml (origin XML file) is a
parameter given by this java program. So I would like to pass this
parameter
to the XSL engine, but I can't get the idea to do it. Maybe, at first
time,
I can create pocholo2.HTML and add the line:
fout.writeBytes("File transformed from ",filename);
and then add the tranformed XML file. I've tried this: create
pocholo2.html,
open it, write the line, and when I write the transformed XML file, it
rewrites over all, obtaining just the XML transformed file, without the
above line.
Any solutions for this problem? Thanks in advance.
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
// For write operation
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import java.io.*;
public class XML2HTML extends Object{
static Document document;
public static void main (String argv[]) {
if (argv.length != 2) {
System.err.println ("Usage: java Stylizer stylesheet
xmlfile");
System.exit (1);
}
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
//factory.setNamespaceAware(true);
//factory.setValidating(true);
try {
String filename = "pocholo2.html";
File stylesheet = new File(argv[0]);
System.out.println("1.- XSL stylesheet leido");
File datafile = new File(argv[1]);
System.out.println("2.- XML leido");
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(datafile);
System.out.println("3.- XML parsed");
// Use a Transformer for output
TransformerFactory tFactory =
TransformerFactory.newInstance();
StreamSource stylesource = new StreamSource(stylesheet);
Transformer transformer = tFactory.newTransformer(stylesource);
System.out.println("4.- XSL transformado");
DOMSource source = new DOMSource(document);
System.out.println("5.- HTML creado");
StreamResult result = new StreamResult(filename);
transformer.transform(source, result);
} catch (TransformerConfigurationException tce) {
// Error generated by the parser
System.out.println ("\n** Transformer Factory error");
System.out.println(" " + tce.getMessage() );
// Use the contained exception, if any
Throwable x = tce;
if (tce.getException() != null)
x = tce.getException();
x.printStackTrace();
} catch (TransformerException te) {
// Error generated by the parser
System.out.println ("\n** Transformation error");
System.out.println(" " + te.getMessage() );
// Use the contained exception, if any
Throwable x = te;
if (te.getException() != null)
x = te.getException();
x.printStackTrace();
} catch (SAXException sxe) {
// Error generated by this application
// (or a parser-initialization error)
Exception x = sxe;
if (sxe.getException() != null)
x = sxe.getException();
x.printStackTrace();
} catch (ParserConfigurationException pce) {
// Parser with specified options can't be built
pce.printStackTrace();
} catch (IOException ioe) {
// I/O error
ioe.printStackTrace();
}
}
}
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list