Hi Jesus, This is a schema validation error. (You can tell; cvc == complexType validation constraint). It's produced when Xerces can't find your schema file. Usually this means that something went wrong with Xerces's attempt to resolve the location of the file, but other things could be wrong as well--the schema it found has a different targetNamespace than your document's expecting, for instance...
Good luck! Neil Neil Graham XML Parser Development IBM Toronto Lab Phone: 905-413-3519, T/L 969-3519 E-mail: [EMAIL PROTECTED] |---------+----------------------------> | | "Jesus M. Salvo | | | Jr." | | | <[EMAIL PROTECTED]| | | sia.com> | | | | | | 01/09/2003 06:23 | | | PM | | | Please respond to| | | xerces-j-user | | | | |---------+----------------------------> >---------------------------------------------------------------------------------------------------------------------------------------------| | | | To: [EMAIL PROTECTED] | | cc: | | Subject: Turning off DTD validation but allow Schema validation ( was Re: Schema validation with Xerces and JAXP ) | | | | | >---------------------------------------------------------------------------------------------------------------------------------------------| Okay ... I now know how to do Schema validation with JAXP: http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JAXPDOM9.html .... but another problem that I have which I mentioned above is: Error: URI=null Line=6: cvc-elt.1: Cannot find the declaration of element 'SOAP-ENV:Envelope'. ... and "SOAP-ENV:Envelope" is the root element. Is this an error from the DTD validation? How can I turn off DTD validation but allow Schema validation? Here is a portion of the SOAP message: <?xml version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation=" http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-0 "> <SOAP-ENV:Header> <TransactionID>123</TransactionID> </SOAP-ENV:Header> <SOAP-ENV:Body> .... snip ..... </SOAP-ENV:Body> </SOAP-ENV:Envelope> Jesus M. Salvo Jr. wrote: > > > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]