<br><font size=2 face="sans-serif">I commented this line in my code</font>
<br>
<br><font size=2><tt>&nbsp;saxBuilder.setValidation(true);</tt></font>
<br>
<br><font size=2 face="sans-serif">But still getting the same err.</font>
<br>
<br>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Tatu Saloranta &lt;cowtowncoder@yahoo.com&gt;</b>
</font>
<br><font size=1 face="sans-serif">Sent by: jdom-interest-bounces@jdom.org</font>
<p><font size=1 face="sans-serif">02/21/2008 06:08 PM</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">&quot;jdom-interest@jdom.org&quot; &lt;jdom-interest@jdom.org&gt;</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">Re: [jdom-interest] org.xml.sax.SAXParseException:
cvc-elt.1: Cannot &nbsp; &nbsp; &nbsp; &nbsp;find the declaration
of element</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Do not call <br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; saxBuilder.setValidation(true);<br>
<br>
unless you want to enabled DTD-based validation (it<br>
does neither enable or disable schema-based<br>
validation), and for what you need document to have<br>
DOCTYPE declaration.<br>
Without that Xerces gives this somewhat cryptic error<br>
messsage: basically saying it doesn't have DTD-based<br>
definition for the root element it sees.<br>
<br>
Hope this helps,<br>
<br>
-+ Tatu +-<br>
<br>
--- Jasmin_Mehta@nexweb.org wrote:<br>
<br>
&gt; Hi,<br>
&gt; <br>
&gt; I am using org.jdom.input.SAXBuilder to validate the<br>
&gt; xml againts the <br>
&gt; schema and I am getting this exception:<br>
&gt; <br>
&gt; org.xml.sax.SAXParseException: cvc-elt.1: Cannot<br>
&gt; find the declaration of <br>
&gt; element 'Transmission'.<br>
&gt; at <br>
&gt;<br>
org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt;<br>
org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt;<br>
org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt;<br>
org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at <br>
&gt;<br>
org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at <br>
&gt;<br>
org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown<br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at <br>
&gt;<br>
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at <br>
&gt;<br>
org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at <br>
&gt;<br>
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at <br>
&gt;<br>
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt;<br>
org.apache.xerces.parsers.XML11Configuration.parse(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt;<br>
org.apache.xerces.parsers.XML11Configuration.parse(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt; org.apache.xerces.parsers.XMLParser.parse(Unknown<br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt;<br>
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown<br>
&gt; <br>
&gt; Source)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt; org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at<br>
&gt; org.jdom.input.SAXBuilder.build(SAXBuilder.java:851)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; at <br>
&gt;<br>
org.nexweb.otm.util.JDOMSchemaValidator.validateSchema(JDOMSchemaValidator.java:39)<br>
&gt; Where 'Transmission' is the root element of my xml.<br>
&gt; <br>
&gt; Here is my class<br>
&gt; <br>
&gt; public class JDOMSchemaValidator<br>
&gt; { <br>
&gt; &nbsp; &nbsp; public void validateSchema(String<br>
&gt; schemaFileName, File <br>
&gt; xmlDocumentFile)<br>
&gt; &nbsp; &nbsp; {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; try<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; { //Create SAXBuilder object<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SAXBuilder saxBuilder =
<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new<br>
&gt; SAXBuilder(&quot;org.apache.xerces.parsers.SAXParser&quot;, <br>
&gt; true);<br>
&gt; <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Set SAXBuilder parser
to be a<br>
&gt; validating parser<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; saxBuilder.setValidation(true);<br>
&gt; <br>
&gt;<br>
saxBuilder.setFeature(&quot;http://apache.org/xml/features/validation/schema&quot;,<br>
&gt; <br>
&gt; <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; true);<br>
&gt; <br>
&gt; &nbsp;<br>
&gt;<br>
saxBuilder.setFeature(&quot;http://apache.org/xml/features/validation/schema-full-checking&quot;,<br>
&gt; <br>
&gt; <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; true);<br>
&gt; &nbsp;<br>
&gt;<br>
saxBuilder.setProperty(&quot;http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation&quot;,<br>
&gt; <br>
&gt; <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;schemaFileName);<br>
&gt; <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Create a ErrorHandler
and set<br>
&gt; ErrorHandler on parser.<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Validator handler = new
Validator();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; saxBuilder.setErrorHandler(handler);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Parse XML Document<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; saxBuilder.build(xmlDocumentFile);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Output Validation Errors<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (handler.validationError
== true)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(&quot;XML
Document has<br>
&gt; Error:&quot; + <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>
&gt; handler.validationError + &quot; &quot; + <br>
&gt; &nbsp;handler.saxParseException.getMessage());<br>
&gt; &nbsp;handler.saxParseException.printStackTrace();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(&quot;XML
Document is<br>
&gt; valid&quot;);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; catch (JDOMException jde)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(&quot;JDOMException&quot;);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; jde.printStackTrace();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; catch (IOException ioe)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(&quot;IOException&quot;);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ioe.printStackTrace();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; }<br>
&gt; <br>
&gt; public static void main(String[] argv) {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String schemaFile
= <br>
&gt;<br>
&quot;file://F:/JavaProjects/WorkspaceDev/OTM/xml/catalog.xsd&quot;;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; File XmlFile
= &quot;catalog.xml&quot;;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; JDOMValidator
validator = new<br>
&gt; JDOMValidator();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; validator.validateSchema(schemaFile,<br>
&gt; XmlFile);<br>
&gt; <br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; }<br>
&gt; catalog.xsd<br>
&gt; <br>
&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;<br>
&gt; &lt;xsd:schema<br>
&gt; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; attributeFormDefault=&quot;unqualified&quot;&gt;
<br>
&gt; &nbsp;<br>
&gt; &nbsp;<br>
&gt; &nbsp; &lt;xsd:element name = &quot;Transmission&quot;&gt;<br>
&gt; &nbsp;.........<br>
&gt; <br>
&gt; catalog.xml<br>
&gt; <br>
&gt; &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br>
&gt; &lt;Transmission<br>
&gt; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema&quot; <br>
&gt;<br>
xsi:noNamespaceSchemaLocation=&quot;file://F:/JavaProjects/WorkspaceDev/OTM/xml/GLogXML.xsd&quot;&gt;<br>
&gt; &nbsp; &lt;TransmissionHeader&gt;<br>
&gt; &nbsp; &nbsp;.........................<br>
&gt; <br>
&gt; <br>
&gt;<br>
******************************************************************************<br>
&gt; ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION <br>
&gt; Our domain name is changing. &nbsp;Please take note of<br>
&gt; the sender's<br>
&gt; e-Mail address and make changes to your personal<br>
&gt; address list,<br>
&gt; if needed. &nbsp;Both domains will continue to work, only<br>
&gt; for a limited<br>
&gt; time.<br>
&gt;<br>
******************************************************************************<br>
&gt; This email and any files transmitted with it are<br>
&gt; intended solely for <br>
&gt; the use of the individual or agency to whom they are<br>
&gt; addressed. <br>
&gt; If you have received this email in error please<br>
&gt; notify the Navy <br>
&gt; Exchange Service Command e-mail administrator. This<br>
&gt; footnote <br>
&gt; also confirms that this email message has been<br>
&gt; scanned for the<br>
&gt; presence of computer viruses.<br>
&gt; <br>
&gt; Thank You! &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br>
&gt;<br>
******************************************************************************<br>
&gt; <br>
&gt; &gt; _______________________________________________<br>
&gt; To control your jdom-interest membership:<br>
&gt;<br>
http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com<br>
<br>
<br>
<br>
 &nbsp; &nbsp; &nbsp;____________________________________________________________________________________<br>
Never miss a thing. &nbsp;Make Yahoo your home page. <br>
http://www.yahoo.com/r/hs<br>
_______________________________________________<br>
To control your jdom-interest membership:<br>
http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com<br>
</tt></font>
<br>