source: trunk/gsdl-documentation/shared/ApplyXSLT.java@ 13882

Last change on this file since 13882 was 13632, checked in by lh92, 17 years ago

Initial revision

  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1/**
2 *#########################################################################
3 *
4 * A component of the Greenstone Librarian Interface (GLI) application,
5 * part of the Greenstone digital library software suite from the New
6 * Zealand Digital Library Project at the University of Waikato,
7 * New Zealand.
8 *
9 * Author: Michael Dewsnip
10 * Greenstone Project, New Zealand Digital Library
11 * University of Waikato
12 * http://www.nzdl.org
13 *
14 * Copyright (C) 2004 New Zealand Digital Library, University of Waikato
15 *
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
20 *
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, write to the Free Software
28 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
29 *########################################################################
30 */
31
32import java.io.*;
33import javax.xml.transform.Transformer;
34import javax.xml.transform.TransformerFactory;
35import javax.xml.transform.TransformerConfigurationException;
36import javax.xml.transform.TransformerException;
37import javax.xml.transform.stream.StreamSource;
38import javax.xml.transform.stream.StreamResult;
39
40/** Any class that wants to act as the owner of an AppendLineOnlyFileDocument has to implement this.
41 * @author Michael Dewsnip, Greenstone Project, New Zealand Digital Library, University of Waikato
42 * @version 2.41 final
43 */
44public class ApplyXSLT
45{
46 static public void main(String[] args)
47 {
48 if (args.length < 2) {
49 System.err.println("Usage: ApplyXSLT <XSLfile> <XMLfile>");
50 System.exit(1);
51 }
52
53 System.setProperty("javax.xml.transform.TransformerFactory",
54 "org.apache.xalan.processor.TransformerFactoryImpl");
55 TransformerFactory t_factory = null;
56 try {
57 t_factory = org.apache.xalan.processor.TransformerFactoryImpl.newInstance();
58 }
59 catch (Exception ex) {
60 System.err.println("XMLTransformer() exception " + ex.getMessage());
61 System.exit(1);
62 }
63
64 String stylesheet = args[0];
65 String xml_in = args[1];
66 try {
67 // Use the TransformerFactory to process the stylesheet Source and generate a Transformer
68 Transformer transformer = t_factory.newTransformer(new StreamSource(stylesheet));
69
70 // Use the Transformer to transform an XML Source and send the output to a Result object
71 StreamSource input = (xml_in.equals("-") ? new StreamSource(System.in) : new StreamSource(xml_in));
72 OutputStreamWriter output = new OutputStreamWriter(System.out, "UTF-8");
73 transformer.transform(input, new StreamResult(output));
74 }
75 catch (TransformerConfigurationException ex) {
76 //System.err.println("XMLTransformer: couldn't create transformer object: " + ex.getMessageAndLocation());
77 //System.err.println(ex.getLocationAsString());
78 ex.printStackTrace();
79 System.exit(1);
80 }
81 catch (Exception ex) {
82 //System.err.println("XMLTransformer: couldn't transform the source: " + ex.getMessage());
83 ex.printStackTrace();
84 System.exit(1);
85 }
86 }
87
88
89 static public String replaceAll(String source_string, String match_regexp, String replace_string)
90 {
91 return source_string.replaceAll(match_regexp, replace_string);
92 }
93}
Note: See TracBrowser for help on using the repository browser.