public synchronized ValidationMessage[] validate(String prefix,
String uri,
PageData page) {
try {
// initialize
this.uri = uri;
permittedTaglibs = readConfiguration();
// get a handler
DefaultHandler h = new PermittedTaglibsHandler();
// parse the page
SAXParserFactory f = SAXParserFactory.newInstance();
f.setValidating(true);
SAXParser p = f.newSAXParser();
p.parse(page.getInputStream(), h);
if (failed)
return vmFromString(
"taglib " + prefix + " (" + uri + ") allows only the "
+ "following taglibs to be imported: " + permittedTaglibs);
else
return null;
} catch (SAXException ex) {
return vmFromString(ex.toString());
} catch (ParserConfigurationException ex) {
return vmFromString(ex.toString());
} catch (IOException ex) {
return vmFromString(ex.toString());
}
}
|