[xsl] Adding text to a transformed file

Subject: [xsl] Adding text to a transformed file
From: "Sergio Lorenzo" <negpfe@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 28 May 2003 14:13:42 +0200
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


Current Thread