I am not sure though how to turn on Schema validation without using DTD validation. So here are some questions:

1) If Schema validation is turned on, and the XML Schema source is specified by an HTTP URL, is the parser supposed to fetch ( HTTP GET ) the schema from the specified URL?

2) [ Schema validation via JAXP ]
According to:
http://xml.apache.org/~edwingo/jaxp-ri-1.2.0-fcs/docs/samples.html#Schema
( referenced from: http://java.sun.com/xml/jaxp/faq.html#XMLSchema )

private static final String MM7_NS_URI = "http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0";;

private static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";;
private static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";;
private static final String JAXP_SCHEMA_SOURCE = "http://java.sun.com/xml/jaxp/properties/schemaSource";;



DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware( true ); factory.setValidating( true ); factory.setAttribute( JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA ); factory.setAttribute( JAXP_SCHEMA_SOURCE, new URL( MM7_NS_URI ));

.. but when I did that, and answer to my question [1] is true, I cannot see ( by running a sniffer on my local box ) any HTTP requests to the specified URL of the schema(s) ... not even fetching the SOAP XML schema.

( no errors are returned by the parser )

Is:

DocumentBuilderFactory.setValidating( true ) equivalent to
DOMParser.setFeature( "http://xml.org/sax/features/validation";, true ) ?

What is the equivalent of
DOMParser.setFeature( "http://apache.org/xml/features/validation/schema";, true ) and
DOMParser.setFeature( "http://apache.org/xml/features/validation/schema-full-checking";, true ) via JAXP?



3) However, if I directly do this ( not via JAXP but via Xerces 2.2 directly ):


DOMParser parser = new DOMParser();
parser.setFeature( "http://xml.org/sax/features/validation";, true );
parser.setFeature( "http://apache.org/xml/features/validation/schema";, true );
parser.setFeature( "http://apache.org/xml/features/validation/schema-full-checking";, true );


... then I do get validation ... but it was reporting a DTD validation error:

[Error] :2:178: cvc-elt.1: Cannot find the declaration of element 'SOAP-ENV:Envelope'.

... but I only want Schema validation


Any ideas?


-- Jesus M. Salvo Jr. Mobile Internet Group Pty Ltd (formerly Softgame International Pty Ltd) M: +61 409 126699 T: +61 2 94604777 F: +61 2 94603677

PGP Public key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xC0BA5348


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to