KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.io.IOException JavaDoc;
25
26 import nu.xom.Builder;
27 import nu.xom.ParsingException;
28
29 import org.xml.sax.SAXException JavaDoc;
30 import org.xml.sax.XMLReader JavaDoc;
31 import org.xml.sax.helpers.XMLReaderFactory JavaDoc;
32
33 /**
34  * <p>
35  * Demonstrates schema validation by setting SAX properties
36  * on an <code>XMLReader</code>
37  * </p>
38  *
39  * @author Elliotte Rusty Harold
40  * @version 1.0
41  *
42  */

43 public class SchemaValidator {
44
45   public static void main(String JavaDoc[] args) {
46   
47     if (args.length <= 0) {
48       System.out.println(
49         "Usage: java nu.xom.samples.SchemaValidator URL");
50       return;
51     }
52     
53     try {
54       XMLReader JavaDoc xerces = XMLReaderFactory.createXMLReader(
55        "org.apache.xerces.parsers.SAXParser");
56       xerces.setFeature(
57         "http://apache.org/xml/features/validation/schema",
58          true
59       );
60
61       Builder parser = new Builder(xerces, true);
62       parser.build(args[0]);
63       System.out.println(args[0] + " is schema valid.");
64     }
65     catch (SAXException JavaDoc ex) {
66       System.out.println("Could not load Xerces.");
67       System.out.println(ex.getMessage());
68     }
69     catch (ParsingException ex) {
70       System.out.println(args[0] + " is not schema valid.");
71       System.out.println(ex.getMessage());
72       ex.printStackTrace();
73       System.out.println(" at line " + ex.getLineNumber()
74         + ", column " + ex.getColumnNumber());
75     }
76     catch (IOException JavaDoc ex) {
77       System.out.println(
78        "Due to an IOException, Xerces could not check "
79        + args[0]
80       );
81       ex.printStackTrace();
82     }
83   
84   }
85
86 }
Popular Tags