List of usage examples for org.xml.sax XMLReader setContentHandler
public void setContentHandler(ContentHandler handler);
From source file:org.apache.ode.bpel.compiler.bom.BpelObjectFactory.java
/** * Parse a BPEL process found at the input source. * @param isrc input source.//www .j a va 2 s .co m * @return * @throws SAXException */ public Process parse(InputSource isrc, URI systemURI) throws IOException, SAXException { XMLReader _xr = XMLParserUtils.getXMLReader(); LocalEntityResolver resolver = new LocalEntityResolver(); resolver.register(Bpel11QNames.NS_BPEL4WS_2003_03, getClass().getResource("/bpel4ws_1_1-fivesight.xsd")); resolver.register(Bpel20QNames.NS_WSBPEL2_0, getClass().getResource("/wsbpel_main-draft-Apr-29-2006.xsd")); resolver.register(Bpel20QNames.NS_WSBPEL2_0_FINAL_ABSTRACT, getClass().getResource("/ws-bpel_abstract_common_base.xsd")); resolver.register(Bpel20QNames.NS_WSBPEL2_0_FINAL_EXEC, getClass().getResource("/ws-bpel_executable.xsd")); resolver.register(Bpel20QNames.NS_WSBPEL2_0_FINAL_PLINK, getClass().getResource("/ws-bpel_plnktype.xsd")); resolver.register(Bpel20QNames.NS_WSBPEL2_0_FINAL_SERVREF, getClass().getResource("/ws-bpel_serviceref.xsd")); resolver.register(Bpel20QNames.NS_WSBPEL2_0_FINAL_VARPROP, getClass().getResource("/ws-bpel_varprop.xsd")); resolver.register(XML, getClass().getResource("/xml.xsd")); resolver.register(WSDL, getClass().getResource("/wsdl.xsd")); resolver.register(Bpel20QNames.NS_WSBPEL_PARTNERLINK_2004_03, getClass().getResource("/wsbpel_plinkType-draft-Apr-29-2006.xsd")); _xr.setEntityResolver(resolver); Document doc = DOMUtils.newDocument(); _xr.setContentHandler(new DOMBuilderContentHandler(doc)); _xr.setFeature("http://xml.org/sax/features/namespaces", true); _xr.setFeature("http://xml.org/sax/features/namespace-prefixes", true); _xr.setFeature("http://xml.org/sax/features/validation", true); XMLParserUtils.addExternalSchemaURL(_xr, Bpel11QNames.NS_BPEL4WS_2003_03, Bpel11QNames.NS_BPEL4WS_2003_03); XMLParserUtils.addExternalSchemaURL(_xr, Bpel20QNames.NS_WSBPEL2_0, Bpel20QNames.NS_WSBPEL2_0); XMLParserUtils.addExternalSchemaURL(_xr, Bpel20QNames.NS_WSBPEL2_0_FINAL_EXEC, Bpel20QNames.NS_WSBPEL2_0_FINAL_EXEC); XMLParserUtils.addExternalSchemaURL(_xr, Bpel20QNames.NS_WSBPEL2_0_FINAL_ABSTRACT, Bpel20QNames.NS_WSBPEL2_0_FINAL_ABSTRACT); boolean strict = Boolean .parseBoolean(System.getProperty("org.apache.ode.compiler.failOnValidationErrors", "false")); BOMSAXErrorHandler errorHandler = new BOMSAXErrorHandler(strict); _xr.setErrorHandler(errorHandler); _xr.parse(isrc); if (strict) { if (!errorHandler.wasOK()) { throw new SAXException("Validation errors during parsing"); } } else { if (!errorHandler.wasOK()) { __log.warn( "Validation errors during parsing, continuing due to -Dorg.apache.ode.compiler.failOnValidationErrors=false switch"); } } return (Process) createBpelObject(doc.getDocumentElement(), systemURI); }
From source file:org.apache.ojb.broker.metadata.RepositoryPersistor.java
/** * Read metadata by populating an instance of the target class * using SAXParser.//from www .j a v a2 s.com */ private Object readMetadataFromXML(InputSource source, Class target) throws MalformedURLException, ParserConfigurationException, SAXException, IOException { // TODO: make this configurable boolean validate = false; // get a xml reader instance: SAXParserFactory factory = SAXParserFactory.newInstance(); log.info("RepositoryPersistor using SAXParserFactory : " + factory.getClass().getName()); if (validate) { factory.setValidating(true); } SAXParser p = factory.newSAXParser(); XMLReader reader = p.getXMLReader(); if (validate) { reader.setErrorHandler(new OJBErrorHandler()); } Object result; if (DescriptorRepository.class.equals(target)) { // create an empty repository: DescriptorRepository repository = new DescriptorRepository(); // create handler for building the repository structure ContentHandler handler = new RepositoryXmlHandler(repository); // tell parser to use our handler: reader.setContentHandler(handler); reader.parse(source); result = repository; } else if (ConnectionRepository.class.equals(target)) { // create an empty repository: ConnectionRepository repository = new ConnectionRepository(); // create handler for building the repository structure ContentHandler handler = new ConnectionDescriptorXmlHandler(repository); // tell parser to use our handler: reader.setContentHandler(handler); reader.parse(source); //LoggerFactory.getBootLogger().info("loading XML took " + (stop - start) + " msecs"); result = repository; } else throw new MetadataException( "Could not build a repository instance for '" + target + "', using source " + source); return result; }
From source file:org.apache.oozie.util.GraphGenerator.java
/** * Stream the PNG file to client/*from ww w . jav a2 s. co m*/ * @param out * @throws Exception */ public void write(OutputStream out) throws Exception { SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setFeature("http://xml.org/sax/features/external-general-entities", false); spf.setFeature("http://xml.org/sax/features/external-parameter-entities", false); spf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); spf.setNamespaceAware(true); SAXParser saxParser = spf.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); xmlReader.setContentHandler(new XMLParser(out)); xmlReader.parse(new InputSource(new StringReader(xml))); }
From source file:org.apache.openmeetings.db.dao.label.LabelDao.java
private static List<StringLabel> getLabels(InputStream is) throws Exception { final List<StringLabel> labels = new ArrayList<StringLabel>(); SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setNamespaceAware(true);//ww w .ja v a2s.co m try { SAXParser parser = spf.newSAXParser(); XMLReader xr = parser.getXMLReader(); xr.setContentHandler(new ContentHandler() { StringLabel label = null; @Override public void startPrefixMapping(String prefix, String uri) throws SAXException { } @Override public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { if (ENTRY_ELEMENT.equals(localName)) { label = new StringLabel(atts.getValue(KEY_ATTR), ""); } } @Override public void startDocument() throws SAXException { } @Override public void skippedEntity(String name) throws SAXException { } @Override public void setDocumentLocator(Locator locator) { } @Override public void processingInstruction(String target, String data) throws SAXException { } @Override public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException { } @Override public void endPrefixMapping(String prefix) throws SAXException { } @Override public void endElement(String uri, String localName, String qName) throws SAXException { if (ENTRY_ELEMENT.equals(localName)) { labels.add(label); } } @Override public void endDocument() throws SAXException { } @Override public void characters(char[] ch, int start, int length) throws SAXException { StringBuilder sb = new StringBuilder(label.getValue()); sb.append(ch, start, length); label.setValue(sb.toString()); } }); xr.parse(new InputSource(is)); } catch (Exception e) { throw e; } return labels; }
From source file:org.apache.poi.xssf.eventusermodel.XLSX2CSV.java
/** * Parses and shows the content of one sheet * using the specified styles and shared-strings tables. * * @param styles//from ww w . j av a 2 s. c o m * @param strings * @param sheetInputStream */ public void processSheet(StylesTable styles, ReadOnlySharedStringsTable strings, InputStream sheetInputStream) throws IOException, ParserConfigurationException, SAXException { InputSource sheetSource = new InputSource(sheetInputStream); SAXParserFactory saxFactory = SAXParserFactory.newInstance(); SAXParser saxParser = saxFactory.newSAXParser(); XMLReader sheetParser = saxParser.getXMLReader(); ContentHandler handler = new MyXSSFSheetHandler(styles, strings, this.minColumns, this.output); sheetParser.setContentHandler(handler); sheetParser.parse(sheetSource); }
From source file:org.apache.tika.parser.microsoft.ooxml.xwpf.XWPFEventBasedWordExtractor.java
private void handlePart(PackagePart packagePart, XWPFListManager xwpfListManager, StringBuilder buffer) throws IOException, SAXException { Map<String, String> hyperlinks = loadHyperlinkRelationships(packagePart); try (InputStream stream = packagePart.getInputStream()) { XMLReader reader = SAXHelper.newXMLReader(); reader.setContentHandler( new OOXMLWordAndPowerPointTextHandler(new XWPFToTextContentHandler(buffer), hyperlinks)); reader.parse(new InputSource(new CloseShieldInputStream(stream))); } catch (ParserConfigurationException e) { e.printStackTrace();/*from w w w.ja v a 2 s . c o m*/ } }
From source file:org.apache.vxquery.xtest.util.DiskPerformance.java
public Pair<XMLReader, SAXContentHandler> getNewParser() { XMLReader parser; SAXContentHandler handler;//www . j a v a 2 s . c o m try { parser = XMLReaderFactory.createXMLReader(); List<SequenceType> childSeq = new ArrayList<SequenceType>(); NameTest nt = new NameTest(createUTF8String(""), createUTF8String("data")); childSeq.add(SequenceType.create(new ElementType(nt, AnyType.INSTANCE, false), Quantifier.QUANT_ONE)); handler = new SAXContentHandler(false, new TreeNodeIdProvider((short) 0), null, null, childSeq); parser.setContentHandler(handler); parser.setProperty("http://xml.org/sax/properties/lexical-handler", handler); return new Pair<XMLReader, SAXContentHandler>(parser, handler); } catch (Exception e) { e.printStackTrace(); } return null; }
From source file:org.apache.xmlrpc.client.XmlRpcStreamTransport.java
/** * This method was modified, because the xml-parser fails with certain * invalid XML-characters like the unicode-characters: cx0, 0x8, etc. * *///from w ww. j av a 2 s . c om protected Object readResponse(XmlRpcStreamRequestConfig pConfig, InputStream pStream) throws XmlRpcException { InputSource isource = new InputSource(pStream); XMLReader xr = newXMLReader(); XmlRpcResponseParser xp; try { xp = new XmlRpcResponseParser(pConfig, getClient().getTypeFactory()); xr.setContentHandler(xp); // Remove the invalid characters before parsing String pStreamAsStr = convertInputStreamIntoString(pStream); String pStreamAsStrWithValidChars = stripNonValidXMLCharacters(pStreamAsStr); InputStream is = IOUtils.toInputStream(pStreamAsStrWithValidChars, "UTF-8"); isource = new InputSource(is); xr.parse(isource); } catch (SAXException e) { throw new XmlRpcClientException("Failed to parse server's response: " + e.getMessage(), e); } catch (IOException e) { throw new XmlRpcClientException("Failed to read server's response: " + e.getMessage(), e); } if (xp.isSuccess()) { return xp.getResult(); } Throwable t = xp.getErrorCause(); if (t == null) { throw new XmlRpcException(xp.getErrorCode(), xp.getErrorMessage()); } if (t instanceof XmlRpcException) { throw (XmlRpcException) t; } if (t instanceof RuntimeException) { throw (RuntimeException) t; } throw new XmlRpcException(xp.getErrorCode(), xp.getErrorMessage(), t); }
From source file:org.apache.xmlrpc.server.XmlRpcStreamServer.java
protected XmlRpcRequest getRequest(final XmlRpcStreamRequestConfig pConfig, InputStream pStream) throws XmlRpcException { final XmlRpcRequestParser parser = new XmlRpcRequestParser(pConfig, getTypeFactory()); final XMLReader xr = SAXParsers.newXMLReader(); xr.setContentHandler(parser); try {/*from ww w . ja v a 2 s . c o m*/ xr.parse(new InputSource(pStream)); } catch (SAXException e) { Exception ex = e.getException(); if (ex != null && ex instanceof XmlRpcException) { throw (XmlRpcException) ex; } throw new XmlRpcException("Failed to parse XML-RPC request: " + e.getMessage(), e); } catch (IOException e) { throw new XmlRpcException("Failed to read XML-RPC request: " + e.getMessage(), e); } final List params = parser.getParams(); return new XmlRpcRequest() { public XmlRpcRequestConfig getConfig() { return pConfig; } public String getMethodName() { return parser.getMethodName(); } public int getParameterCount() { return params == null ? 0 : params.size(); } public Object getParameter(int pIndex) { return params.get(pIndex); } }; }
From source file:org.apereo.portal.groups.GroupServiceConfiguration.java
protected void parseXml() throws Exception { InputSource xmlSource = new InputSource( ResourceLoader.getResourceAsStream(GroupServiceConfiguration.class, SERVICES_XML)); if (xmlSource != null) { XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader(); reader.setContentHandler(serviceHandler); reader.parse(xmlSource);/*from w w w.j a va 2 s . c o m*/ } }