KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > sax > FilterTest


1 /*--
2
3  Copyright (C) 2000 Brett McLaughlin & Jason Hunter.
4  All rights reserved.
5  
6  Redistribution and use in source and binary forms, with or without
7  modification, are permitted provided that the following conditions
8  are met:
9  
10  1. Redistributions of source code must retain the above copyright
11     notice, this list of conditions, and the following disclaimer.
12  
13  2. Redistributions in binary form must reproduce the above copyright
14     notice, this list of conditions, and the disclaimer that follows
15     these conditions in the documentation and/or other materials
16     provided with the distribution.
17
18  3. The name "JDOM" must not be used to endorse or promote products
19     derived from this software without prior written permission. For
20     written permission, please contact license@jdom.org.
21  
22  4. Products derived from this software may not be called "JDOM", nor
23     may "JDOM" appear in their name, without prior written permission
24     from the JDOM Project Management (pm@jdom.org).
25  
26  In addition, we request (but do not require) that you include in the
27  end-user documentation provided with the redistribution and/or in the
28  software itself an acknowledgement equivalent to the following:
29      "This product includes software developed by the
30       JDOM Project (http://www.jdom.org/)."
31  Alternatively, the acknowledgment may be graphical using the logos
32  available at http://www.jdom.org/images/logos.
33
34  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
35  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
36  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
37  DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
38  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
39  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
40  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
41  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
42  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
43  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
44  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
45  SUCH DAMAGE.
46
47  This software consists of voluntary contributions made by many
48  individuals on behalf of the JDOM Project and was originally
49  created by Brett McLaughlin <brett@jdom.org> and
50  Jason Hunter <jhunter@jdom.org>. For more information on the
51  JDOM Project, please see <http://www.jdom.org/>.
52  
53  */

54 package sax;
55
56 import java.io.InputStream JavaDoc;
57
58 import org.jdom.Document;
59 import org.jdom.input.SAXBuilder;
60 import org.jdom.output.XMLOutputter;
61
62 /**
63  * Tests SAXBuilder's XMLFilter feature
64  *
65  * @author joe.bowbeer
66  */

67 public class FilterTest {
68
69     /** Creates new FilterTest */
70     public FilterTest() {
71     }
72
73     /**
74     * @param args the command line arguments
75     */

76     public static void main (String JavaDoc args[]) throws Exception JavaDoc {
77
78         /* XMLWriter for viewing unfiltered input. */
79         
80         XMLWriter echo = new XMLWriter();
81         
82         /* Add pretty formatting to unformatted xml file. */
83         
84         SAXBuilder builder = new SAXBuilder();
85         DataFormatFilter format = new DataFormatFilter(echo);
86         format.setIndentStep(4);
87         builder.setXMLFilter(format);
88         InputStream JavaDoc in = FilterTest.class.getResourceAsStream("test1.xml");
89
90         System.out.println(" -- test1.xml unfiltered -- \n");
91         Document doc = builder.build(in);
92
93         System.out.println(" -- test1.xml filtered by DataFormatFilter --\n");
94         XMLOutputter outputter = new XMLOutputter();
95         outputter.output(doc, System.out);
96
97         System.out.println("\n");
98         
99         /* Remove pretty formatting from formatted xml file. */
100         
101         builder = new SAXBuilder();
102         builder.setXMLFilter( new DataUnformatFilter(echo) );
103         in = FilterTest.class.getResourceAsStream("test2.xml");
104
105         System.out.println(" -- test2.xml unfiltered --\n");
106         doc = builder.build(in);
107
108         System.out.println(" -- test2.xml filtered by DataUnformatFilter --\n");
109         outputter = new XMLOutputter();
110         outputter.output(doc, System.out);
111
112         System.out.println("\n");
113     }
114
115 }
116
Popular Tags