I wouldn't classify myself as a java programmer so be gentle with me....

I am trying to use xerces-j to validate xml documents with an asociated
XML Schema. I have already validated with OxygenXML, xmllint and XSV so
I know all is well. It's just that I would like the option of validating
at run-time also.

I have downloaded some sample code from the IBM tutorial site and
everything seems hunky-dory until I try to enable the schema validation
feature. As soon as the setFeature lines are introduced I start to get
null pointer exceptions being thrown. I would appreciate any help or
guidance that anyone can provide as I am somewhat bemused.... 

FYI - I am currently trying this against xerces-j 2.6.2 but I seem to
get this error regardless of the version. I have included the source
code as well as the output from running this.

/*
 * Created on Aug 16, 2004
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author r_exley
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
import org.apache.xerces.parsers.DOMParser;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
import org.xml.sax.SAXNotRecognizedException;
import org.xml.sax.SAXNotSupportedException;
import java.io.IOException;

public class DOMParserDemo {

        private static void setFeature(String
                feature, boolean setting){

            System.out.println("feature: " + feature);
            System.out.println("setting: " + setting);

                try {
                        parser.setFeature(feature, setting);
                } catch (SAXNotRecognizedException e) {
                        System.out.print("Unrecognized feature: ");
                        System.out.println(feature);
                } catch (SAXNotSupportedException e) {
                        System.out.print("Unrecognized feature: ");
                        System.out.println(feature);
                }
        }

        public static DOMParser parser = null;

    public static void main (String args[]){
        DOMParser parser = new DOMParser();
        Document doc = null;

        setFeature("http://xml.org/sax/features/validation";, true);
        setFeature("http://apache.org/xml/features/validation/schema",true); 
//         try {
//           
//parser.parse("../consumer-score/example_score_request.xml");
//             doc = parser.getDocument();
//         } catch (IOException ie){
//            System.out.println("Could not read file.");
//         } catch (SAXException e) {
//            System.out.print("Could not create Document: ");
//            System.out.println(e.getMessage());
//         }

        DOMDisplay.display(doc);
    }
}

[EMAIL PROTECTED]:~/workspace/schema_validation$ echo $JAVA_HOME
/usr/java/j2sdk1.4.2_04
[EMAIL PROTECTED]:~/workspace/schema_validation$ echo $CLASSPATH
/home/r_exley/build/xerces-2_6_2/build/xercesImpl.jar:/home/r_exley/build/xerces-2_6_2/build/xml-apis.jar:.
[EMAIL PROTECTED]:~/workspace/schema_validation$ java DOMParserDemo
feature: http://xml.org/sax/features/validation
setting: true
Exception in thread "main" java.lang.NullPointerException
        at DOMParserDemo.setFeature(DOMParserDemo.java:30)
        at DOMParserDemo.main(DOMParserDemo.java:46)
[EMAIL PROTECTED]:~/workspace/schema_validation$


Thanks in advance

-- 
Rob Exley <[EMAIL PROTECTED]>

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to