Merge pull request #300 from mishako/xml-parser-feature-fix

Do not set unsupported XML parser features
This commit is contained in:
Patrick Gotthard 2016-05-01 12:42:11 +02:00
commit 3c681bd4ae

View file

@ -359,7 +359,7 @@ public class WireFeedInput {
} }
} catch (final JDOMException e) { } catch (final JDOMException e) {
throw new IllegalStateException("JDOM could not create a SAX parser"); throw new IllegalStateException("JDOM could not create a SAX parser", e);
} }
saxBuilder.setExpandEntities(false); saxBuilder.setExpandEntities(false);
@ -369,13 +369,19 @@ public class WireFeedInput {
} }
private void setFeature(SAXBuilder saxBuilder, XMLReader parser, String feature, boolean value) { private void setFeature(SAXBuilder saxBuilder, XMLReader parser, String feature, boolean value) {
try { if (isFeatureSupported(parser, feature, value)) {
saxBuilder.setFeature(feature, value); saxBuilder.setFeature(feature, value);
}
}
private boolean isFeatureSupported(XMLReader parser, String feature, boolean value) {
try {
parser.setFeature(feature, value); parser.setFeature(feature, value);
return true;
} catch (final SAXNotRecognizedException e) { } catch (final SAXNotRecognizedException e) {
// ignore return false;
} catch (final SAXNotSupportedException e) { } catch (final SAXNotSupportedException e) {
// ignore return false;
} }
} }