1 19 20 package org.netbeans.modules.xml.wsdl.ui.netbeans.module; 21 22 import javax.xml.parsers.ParserConfigurationException ; 23 24 import org.xml.sax.InputSource ; 25 import org.xml.sax.SAXException ; 26 import org.xml.sax.SAXParseException ; 27 import org.xml.sax.XMLReader ; 28 29 public class XMLUtils { 30 31 32 private static class ErrorHandler implements org.xml.sax.ErrorHandler { 33 private int errorType=-1; 34 SAXParseException error; 35 36 public void warning(org.xml.sax.SAXParseException sAXParseException) throws org.xml.sax.SAXException { 37 if (errorType<0) { 38 errorType=0; 39 error=sAXParseException; 40 } 41 } 43 public void error(org.xml.sax.SAXParseException sAXParseException) throws org.xml.sax.SAXException { 44 if (errorType<1) { 45 errorType=1; 46 error=sAXParseException; 47 } 48 } 50 public void fatalError(org.xml.sax.SAXParseException sAXParseException) throws org.xml.sax.SAXException { 51 errorType=2; 52 throw sAXParseException; 53 } 54 55 public int getErrorType() { 56 return errorType; 57 } 58 public SAXParseException getError() { 59 return error; 60 } 61 } 62 63 public static SAXParseException parse (InputSource is) 64 throws org.xml.sax.SAXException , ParserConfigurationException , java.io.IOException { 65 XMLUtils.ErrorHandler errorHandler = new XMLUtils.ErrorHandler(); 66 try { 67 javax.xml.parsers.SAXParserFactory factory = javax.xml.parsers.SAXParserFactory.newInstance(); 68 javax.xml.parsers.SAXParser saxParser = null; 69 XMLReader reader = null; 70 71 factory.setNamespaceAware(true); 75 77 saxParser = factory.newSAXParser(); 78 79 80 81 reader = saxParser.getXMLReader(); 82 83 reader.setErrorHandler(errorHandler); 84 reader.parse(is); 87 SAXParseException error = errorHandler.getError(); 88 if (error!=null) return error; 89 } catch (SAXException ex) { 90 throw ex; 91 } catch (ParserConfigurationException ex) { 92 throw ex; 93 } 94 return null; 95 } 96 97 } 98 99 | Popular Tags |