I want to validate an xml document with an
existing schema. I know there is a code to do it when the schema is present as
a URL. BUt in my case schema is present with in the application (since it is
stored in the database) and that is not the url.
I have the following code:
public static void DOMValidate(String XMLfile,
String Schema){
long startTime =
System.currentTimeMillis();
//
Instantiate the DOM parser.
DOMParser parser = new DOMParser();
}
catch (SAXNotSupportedException
ex){
System.out.println("SAXNotSupportedException
Exception");
} catch
(SAXNotRecognizedException
ex){
System.out.println("SAXNotRecognizedException
Exception");
}
//
parse the xml file, the errorhandler class has
callbacks,
// so those will be
called automatically there is a parse
error
try{
parser.parse(new
File(XMLfile).toURL().toExternalForm());
//System.out.println("Parsed Successfully by DOM
Parser");
} catch
(org.xml.sax.SAXException
ex){
//System.out.println("SAXException
Exception");
//ex.printStackTrace();
log.error(ex);
} catch
(java.io.IOException
ex){
System.out.println("IOException Exception");
} finally
{
long endTime =
System.currentTimeMillis();
//System.out.println("Total time of
DOMValidate:"+(endTime-startTime));
}
}
How can I do the validation if the Schema is the
actual schema string not the url. This looks like a common problem. I assume
that its not universal that schema is not always stored
externally.
Any suggestions are appreciated.
Praveen