List of usage examples for org.jdom2.input SAXBuilder setXMLReaderFactory
public void setXMLReaderFactory(final XMLReaderJDOMFactory rfac)
From source file:cz.muni.fi.mir.mathmlcanonicalization.Settings.java
License:Apache License
/** * Sets properties desired for MathML normalization purpose * * @return initialized SAXBuilder instance *///from w ww. jav a 2s . co m public static SAXBuilder setupSAXBuilder() { final SAXBuilder builder = new SAXBuilder(); builder.setXMLReaderFactory(XMLReaders.NONVALIDATING); builder.setFeature("http://xml.org/sax/features/validation", false); //builder.setFeature("http://xml.org/sax/features/external-general-entities", true); builder.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", true); builder.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", true); builder.setEntityResolver(new EntityResolver() { @Override public InputSource resolveEntity(String publicId, String systemId) { if (systemId.endsWith("dtd")) { String dtdLocation = Settings.getProperty(Settings.MATHMLDTD); return new InputSource(Settings.class.getResourceAsStream(dtdLocation)); } return null; } }); return builder; }
From source file:org.artifactory.util.XmlUtils.java
License:Open Source License
public static SAXBuilder createSaxBuilder() { SAXBuilder sb = new SAXBuilder(); // don't validate and don't load dtd sb.setXMLReaderFactory(XMLReaders.NONVALIDATING); sb.setFeature("http://xml.org/sax/features/validation", false); sb.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false); sb.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); // JNLP needs DOCTYPE //sb.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); sb.setFeature("http://xml.org/sax/features/external-general-entities", false); sb.setFeature("http://xml.org/sax/features/external-parameter-entities", false); return sb;/*w w w. j av a 2 s . co m*/ }
From source file:org.jumpmind.metl.core.runtime.component.XmlFormatter.java
License:Open Source License
private Document getTemplateDoc() { Document templateDoc = null;/*w w w. java2s . com*/ SAXBuilder builder = new SAXBuilder(); builder.setXMLReaderFactory(XMLReaders.NONVALIDATING); builder.setFeature("http://xml.org/sax/features/validation", false); try { templateDoc = builder.build(new StringReader(resolveFlowParams(template))); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException(e); } return templateDoc; }
From source file:org.jumpmind.metl.core.runtime.component.XmlParser.java
License:Open Source License
@SuppressWarnings("unchecked") protected void handleUsingXPath(Message inputMessage, ISendMessageCallback callback, boolean unitOfWorkBoundaryReached) { ArrayList<String> inputRows = ((TextMessage) inputMessage).getPayload(); ArrayList<EntityData> payload = new ArrayList<EntityData>(); if (inputRows != null) { for (String xml : inputRows) { SAXBuilder builder = new SAXBuilder(); builder.setXMLReaderFactory(XMLReaders.NONVALIDATING); builder.setFeature("http://xml.org/sax/features/validation", false); try { Document document = builder.build(new StringReader(xml)); removeNamespaces(document); for (XmlFormatterEntitySetting entitySetting : entitySettings) { List<XmlFormatterAttributeSetting> attributeSettings = entitySetting.getAttributeSettings(); List<Element> entityMatches = (List<Element>) entitySetting.getExpression() .evaluate(document.getRootElement()); for (Element element : entityMatches) { String text = toXML(element); Document childDocument = builder .build(new ByteArrayInputStream(text.getBytes(Charset.forName("utf-8")))); getComponentStatistics().incrementNumberEntitiesProcessed(threadNumber); EntityData data = new EntityData(); for (XmlFormatterAttributeSetting attributeSetting : attributeSettings) { boolean resultsFound = false; Element targetElement = element; Document targetDocument = childDocument; do { List<Object> attributeMatches = (List<Object>) attributeSetting.getExpression() .evaluate(targetDocument); for (Object object : attributeMatches) { resultsFound = true; if (object instanceof Attribute) { data.put(attributeSetting.getSetting().getAttributeId(), ((Attribute) object).getValue()); } else if (object instanceof Content) { data.put(attributeSetting.getSetting().getAttributeId(), ((Content) object).getValue()); } else if (object instanceof Element) { data.put(attributeSetting.getSetting().getAttributeId(), ((Element) object).getTextTrim()); }//w w w . ja va 2s .c om } if (!resultsFound && !attributeSetting.getExpression().getExpression() .startsWith("/" + element.getName()) && targetElement.getParentElement() != null) { targetElement = targetElement.getParentElement(); targetDocument = builder.build(new ByteArrayInputStream( toXML(targetElement).getBytes(Charset.forName("utf-8")))); } else if (!resultsFound) { info("Did not find a match for: %s\n in:\n %s", attributeSetting.getExpression().getExpression(), text); targetDocument = null; targetElement = null; } } while (!resultsFound && targetElement != null); } if (data.size() > 0) { payload.add(data); } else { log(LogLevel.WARN, "Found entity element: <%s/> with no matching attributes. Please make sure your xpath expressions match", element.getName()); } } } if (payload.size() > rowsPerMessage) { callback.sendEntityDataMessage(null, payload); payload = new ArrayList<>(); } } catch (Exception e) { throw new RuntimeException(e); } } } if (payload.size() > 0) { callback.sendEntityDataMessage(null, payload); } }
From source file:org.jumpmind.metl.core.runtime.component.XsltProcessor.java
License:Open Source License
public static String getTransformedXml(String inputXml, String stylesheetXml, String xmlFormat, boolean omitXmlDeclaration) { StringWriter writer = new StringWriter(); SAXBuilder builder = new SAXBuilder(); builder.setXMLReaderFactory(XMLReaders.NONVALIDATING); builder.setFeature("http://xml.org/sax/features/validation", false); try {/*from w w w . j ava 2 s .c o m*/ Document inputDoc = builder.build(new StringReader(inputXml)); StringReader reader = new StringReader(stylesheetXml); XSLTransformer transformer = new XSLTransformer(reader); Document outputDoc = transformer.transform(inputDoc); XMLOutputter xmlOutput = new XMLOutputter(); Format format = null; if (xmlFormat.equals(COMPACT_FORMAT)) { format = Format.getCompactFormat(); } else if (xmlFormat.equals(RAW_FORMAT)) { format = Format.getRawFormat(); } else { format = Format.getPrettyFormat(); } format.setOmitDeclaration(omitXmlDeclaration); xmlOutput.setFormat(format); xmlOutput.output(outputDoc, writer); writer.close(); } catch (Exception e) { throw new RuntimeException(e); } return writer.toString(); }
From source file:org.jumpmind.metl.ui.views.design.EditXmlFormatPanel.java
License:Open Source License
protected void buildXpathChoices() { SAXBuilder builder = new SAXBuilder(); builder.setXMLReaderFactory(XMLReaders.NONVALIDATING); builder.setFeature("http://xml.org/sax/features/validation", false); Setting setting = component.findSetting(XmlFormatter.XML_FORMATTER_TEMPLATE); if (StringUtils.isNotBlank(setting.getValue())) { try {//from ww w . ja v a2s . c o m Document document = builder.build(new StringReader(setting.getValue())); xpathChoices = new HashSet<String>(); buildXpathChoicesFromElement("/" + document.getRootElement().getName(), document.getRootElement()); } catch (Exception e) { throw new RuntimeException(e); } } }
From source file:org.jumpmind.metl.ui.views.design.EditXmlParserPanel.java
License:Open Source License
protected void buildXpathChoices() { xpathChoices = new ArrayList<>(); SAXBuilder builder = new SAXBuilder(); builder.setXMLReaderFactory(XMLReaders.NONVALIDATING); builder.setFeature("http://xml.org/sax/features/validation", false); Setting setting = component.findSetting(XmlFormatter.XML_FORMATTER_TEMPLATE); if (StringUtils.isNotBlank(setting.getValue())) { try {/*from w w w . j av a 2s . c o m*/ Document document = builder.build(new StringReader(setting.getValue())); buildXpathChoicesForElement("", document.getRootElement()); } catch (Exception e) { throw new RuntimeException(e); } } }
From source file:org.jumpmind.metl.ui.views.design.ImportXmlTemplateWindow.java
License:Open Source License
protected void importXml(String text) { SAXBuilder builder = new SAXBuilder(); builder.setXMLReaderFactory(XMLReaders.NONVALIDATING); builder.setFeature("http://xml.org/sax/features/validation", false); try {// w w w. ja v a2s . c om Document document = builder.build(new StringReader(text)); String rootName = document.getRootElement().getName(); if (rootName.equals("definitions")) { importFromWsdl(text); } else if (rootName.equals("schema")) { importFromXsd(text); } else { Notification note = new Notification("Unrecognized Content", "The XML file has a root element of " + rootName + ", but expected \"definitions\" for WSDL or \"schema\" for XSD."); note.show(Page.getCurrent()); } } catch (Exception e) { throw new RuntimeException(e); } }