List of usage examples for org.xml.sax XMLReader setEntityResolver
public void setEntityResolver(EntityResolver resolver);
From source file:nl.b3p.kaartenbalie.service.ImageCollector.java
/** * * @param byteStream InputStream object in which the serviceexception is stored. * * @ return String with the given exception * * @throws IOException, SAXException// w w w .j a v a2 s .co m */ private static String getServiceException(InputStream byteStream) throws IOException, SAXException { Switcher s = new Switcher(); s.setElementHandler("ServiceException", new ServiceExceptionHandler()); XMLReader reader = org.xml.sax.helpers.XMLReaderFactory.createXMLReader(); IgnoreEntityResolver r = new IgnoreEntityResolver(); reader.setEntityResolver(r); reader.setContentHandler(s); InputSource is = new InputSource(byteStream); is.setEncoding(KBConfiguration.CHARSET); reader.parse(is); return (String) stack.pop(); }
From source file:XMLUtilities.java
/** * Convenience method for parsing an XML file. This method will * wrap the resource in an InputSource and set the source's * systemId to "jedit.jar" (so the source should be able to * handle any external entities by itself). * * <p>SAX Errors are caught and are not propagated to the caller; * instead, an error message is printed to jEdit's activity * log. So, if you need custom error handling, <b>do not use * this method</b>.// w ww. ja v a 2s . c o m * * <p>The given stream is closed before the method returns, * regardless whether there were errors or not.</p> * * @return true if any error occured during parsing, false if success. */ public static boolean parseXML(InputStream in, DefaultHandler handler) throws IOException { try { XMLReader parser = XMLReaderFactory.createXMLReader(); InputSource isrc = new InputSource(new BufferedInputStream(in)); isrc.setSystemId("jedit.jar"); parser.setContentHandler(handler); parser.setDTDHandler(handler); parser.setEntityResolver(handler); parser.setErrorHandler(handler); parser.parse(isrc); } catch (SAXParseException se) { int line = se.getLineNumber(); return true; } catch (SAXException e) { return true; } finally { try { if (in != null) in.close(); } catch (IOException io) { } } return false; }
From source file:mx.itesm.mexadl.metrics.util.Util.java
/** * Transform a logging report from XML to HTML format. * /*from w w w. ja v a2 s . c om*/ * @param xmlFile * @param xsltFile * @param outputFile * @param componentTypes * @throws TransformerException * @throws SAXException * @throws IOException */ public static void transformXMLReport2Html(final File xmlFile, final InputStream xsltFile, final File outputFile, final Map<String, String> componentTypes) throws TransformerException, SAXException, IOException { Source xmlSource; Source xsltSource; Result outputTarget; XMLReader xmlReader; String reportContents; Transformer transformer; // Blank reader xmlReader = XMLReaderFactory.createXMLReader(); xmlReader.setEntityResolver(new EntityResolver() { @Override public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException { if (systemId.endsWith(".dtd")) { StringReader stringInput = new StringReader(" "); return new InputSource(stringInput); } else { return null; // use default behavior } } }); xmlSource = new SAXSource(xmlReader, new InputSource(new FileInputStream(xmlFile))); xsltSource = new StreamSource(xsltFile); outputTarget = new StreamResult(outputFile); // Generate output file transformer = transformerFactory.newTransformer(xsltSource); transformer.transform(xmlSource, outputTarget); // Add components type information reportContents = FileUtils.readFileToString(outputFile, "UTF-8"); for (String componentType : componentTypes.keySet()) { reportContents = reportContents.replace("[ " + componentType + " ]", componentTypes.get(componentType)); } FileUtils.writeStringToFile(outputFile, reportContents); }
From source file:architecture.common.model.factory.ModelTypeFactory.java
private static List<ModelList> parseLegacyXmlFile(List<ModelList> list) throws Exception { ClassLoader cl = Thread.currentThread().getContextClassLoader(); Enumeration<URL> enumeration = cl.getResources(IF_PLUGIN_PATH); SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(true);// w ww .j a va2 s .co m XMLReader xmlreader = factory.newSAXParser().getXMLReader(); ImplFactoryParsingHandler handler = new ImplFactoryParsingHandler(); xmlreader.setContentHandler(handler); xmlreader.setDTDHandler(handler); xmlreader.setEntityResolver(handler); xmlreader.setErrorHandler(handler); System.out.println("Model Enum:"); do { if (!enumeration.hasMoreElements()) break; URL url = (URL) enumeration.nextElement(); System.out.println(" - " + url); try { xmlreader.parse(new InputSource(url.openStream())); ModelList factorylist = new ModelList(); factorylist.rank = handler.rank; factorylist.modelTypes.addAll(handler.getModels()); list.add(factorylist); } catch (Exception exception) { } } while (true); return list; }
From source file:org.solmix.runtime.support.spring.TunedDocumentLoader.java
@Override public Document loadDocument(InputSource inputSource, EntityResolver entityResolver, ErrorHandler errorHandler, int validationMode, boolean namespaceAware) throws Exception { if (validationMode == XmlBeanDefinitionReader.VALIDATION_NONE) { SAXParserFactory parserFactory = namespaceAware ? nsasaxParserFactory : saxParserFactory; SAXParser parser = parserFactory.newSAXParser(); XMLReader reader = parser.getXMLReader(); reader.setEntityResolver(entityResolver); reader.setErrorHandler(errorHandler); // SAXSource saxSource = new SAXSource(reader, inputSource); // W3CDOMStreamWriter writer = new W3CDOMStreaXMLStreamWriterImplmWriter(); // StaxUtils.copy(saxSource, writer); // return writer.getDocument(); return null; } else {/*from ww w . j ava 2s. c om*/ return super.loadDocument(inputSource, entityResolver, errorHandler, validationMode, namespaceAware); } }
From source file:org.callimachusproject.xml.XdmNodeFactory.java
private XdmNode parse(InputSource isource) throws SAXException { // Make sure the builder uses our entity resolver XMLReader reader = XMLReaderFactory.createXMLReader(); reader.setEntityResolver(xmlResolver); SAXSource source = new SAXSource(reader, isource); if (isource.getSystemId() != null) { source.setSystemId(isource.getSystemId()); }/*from ww w.ja va 2 s .c o m*/ return parse(source); }
From source file:de.tbuchloh.kiskis.persistence.exporter.XMLTransformer.java
/** * @param stylesheet/*from ww w . j ava 2s. c o m*/ * is the stylesheet to use. * @param is * is the input source. * @param os * is the output sink. */ public void transform(final URL stylesheet, final InputStream is, final OutputStream os) throws TransformException { try { LOG.debug("transforming with stylesheet=" + stylesheet); final XMLReader reader = XMLReaderFactory.createXMLReader(); reader.setEntityResolver(new EntityResolver() { @Override public InputSource resolveEntity(final String publicId, final String systemId) throws SAXException, IOException { if (systemId == null) { throw new IllegalArgumentException("systemId must not be null!"); } final int pos = systemId.lastIndexOf(File.separator); String resource = systemId; if (pos >= 0) { resource = resource.substring(pos + 1); } final URL dtd = ClassLoader.getSystemResource(resource); LOG.debug("Resolving " + "systemId=" + systemId + ", resource=" + resource + ", dtd=" + dtd); return new InputSource(dtd.openStream()); } }); try { final Builder builder = new Builder(reader, false); final Document s = builder.build(stylesheet.openStream()); final Document source = builder.build(is); final XSLTransform transform = new XSLTransform(s); final Document target = XSLTransform.toDocument(transform.transform(source)); final Serializer ser = new Serializer(os); ser.setIndent(2); ser.write(target); } catch (final Exception e) { LOG.error(e, e); throw new XMLException(e.getMessage()); } } catch (final Exception e) { throw new TransformException(e.getMessage(), e); } }
From source file:com.sap.prd.mobile.ios.mios.xcodeprojreader.jaxb.JAXBPlistParser.java
private SAXSource createSAXSource(InputSource project, final InputSource dtd) throws SAXException, ParserConfigurationException { XMLReader xmlReader = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); xmlReader.setEntityResolver(new EntityResolver() { @Override//from w w w. j a v a 2 s.co m public InputSource resolveEntity(String pid, String sid) throws SAXException { if (sid.equals("http://www.apple.com/DTDs/PropertyList-1.0.dtd")) return dtd; throw new SAXException("unable to resolve remote entity, sid = " + sid); } }); SAXSource ss = new SAXSource(xmlReader, project); return ss; }
From source file:com.wudaosoft.net.httpclient.SAXSourceResponseHandler.java
private SAXSource readSAXSource(InputStream body) throws IOException { try {//from www . ja va2s . c om XMLReader reader = XMLReaderFactory.createXMLReader(); reader.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); reader.setFeature("http://xml.org/sax/features/external-general-entities", false); reader.setEntityResolver(NO_OP_ENTITY_RESOLVER); return new SAXSource(reader, new InputSource(body)); } catch (SAXException ex) { throw new ClientProtocolException("Could not parse document: " + ex.getMessage(), ex); } }
From source file:com.xpn.xwiki.internal.pdf.XHTML2FOTest.java
private String getTransformedXML(String xml) throws Exception { InputStream xslt = getClass().getClassLoader().getResourceAsStream("xhtml2fo.xsl"); assertNotNull(xslt);/*from ww w .j a va 2 s . c o m*/ XMLReaderFactory xmlReaderFactory = this.oldcore.getMocker().getInstance(XMLReaderFactory.class); XMLReader xmlReader = xmlReaderFactory.createXMLReader(); EntityResolver entityResolver = this.oldcore.getMocker().getInstance(EntityResolver.class); xmlReader.setEntityResolver(entityResolver); SAXSource xmlSource = new SAXSource(xmlReader, new InputSource(new StringReader(xml))); SAXSource xsltSource = new SAXSource(xmlReader, new InputSource(xslt)); String transformedXML = XMLUtils.transform(xmlSource, xsltSource); validateFOP(transformedXML); return transformedXML; }