KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nu > xom > samples > Transformer


1 /* Copyright 2002, 2003 Elliotte Rusty Harold
2    
3    This library is free software; you can redistribute it and/or modify
4    it under the terms of version 2.1 of the GNU Lesser General Public
5    License as published by the Free Software Foundation.
6    
7    This library is distributed in the hope that it will be useful,
8    but WITHOUT ANY WARRANTY; without even the implied warranty of
9    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10    GNU Lesser General Public License for more details.
11    
12    You should have received a copy of the GNU Lesser General Public
13    License along with this library; if not, write to the
14    Free Software Foundation, Inc., 59 Temple Place, Suite 330,
15    Boston, MA 02111-1307 USA
16    
17    You can contact Elliotte Rusty Harold by sending e-mail to
18    elharo@metalab.unc.edu. Please include the word "XOM" in the
19    subject line. The XOM home page is located at http://www.xom.nu/
20 */

21
22 package nu.xom.samples;
23
24 import nu.xom.Builder;
25 import nu.xom.Document;
26 import nu.xom.Nodes;
27 import nu.xom.xslt.XSLTransform;
28
29 /**
30  * @author Elliotte Rusty Harold
31  * @version 1.0
32  *
33  */

34 public class Transformer {
35
36     /**
37       * <p>
38       * The driver method for the Transformer program.
39       * </p>
40       *
41       * @param args <code>args[0]</code> contains the URL or
42       * filename of the document to be transformed.
43       * <code>args[1]</code> contains the URL or
44       * filename of the stylesheet.
45       */

46     public static void main(String JavaDoc[] args) {
47         
48        if (args.length < 2) {
49            System.err.println(
50              "Usage: java nu.xom.samples.Transformer document stylesheet"
51            );
52            return;
53        }
54   
55        System.setProperty(
56           "javax.xml.transform.TransformerFactory",
57           "org.apache.xalan.processor.TransformerFactoryImpl");
58       /* System.setProperty(
59         "javax.xml.transform.TransformerFactory",
60         "com.icl.saxon.TransformerFactoryImpl"); */

61      
62         Builder builder = new Builder();
63         try {
64             Document doc = builder.build(args[0]);
65             Document stylesheet = builder.build(args[1]);
66             XSLTransform transform = new XSLTransform(stylesheet);
67             
68             Nodes output = transform.transform(doc);
69             
70             for (int i = 0; i < output.size(); i++) {
71                 System.out.print(output.get(i).toXML());
72             }
73             System.out.println();
74         }
75         catch (Exception JavaDoc ex) {
76             System.err.println(ex);
77             ex.printStackTrace();
78         }
79   
80     }
81
82 }
83
Popular Tags