From 9899906045d3f377dafae2dba28d5f8ec8218c3c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 28 Aug 2023 12:57:01 +0200 Subject: [PATCH] Suppress XML fatal errors to System.err --- .../hl7/fhir/r5/elementmodel/XmlParser.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java index 32b49d22c..e6e555395 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java @@ -78,7 +78,9 @@ import org.hl7.fhir.utilities.xml.XMLUtil; import org.hl7.fhir.utilities.xml.XMLWriter; import org.w3c.dom.Document; import org.w3c.dom.Node; +import org.xml.sax.ErrorHandler; import org.xml.sax.InputSource; +import org.xml.sax.SAXParseException; import org.xml.sax.XMLReader; public class XmlParser extends ParserBase { @@ -98,8 +100,6 @@ public class XmlParser extends ParserBase { this.schemaPath = schemaPath; } - - public boolean isAllowXsiLocation() { return allowXsiLocation; } @@ -154,6 +154,7 @@ public class XmlParser extends ParserBase { nullTransformer.transform(saxSource, domResult); } else { DocumentBuilder builder = factory.newDocumentBuilder(); + builder.setErrorHandler(new NullErrorHandler()); doc = builder.parse(stream); } } catch (Exception e) { @@ -822,4 +823,20 @@ public class XmlParser extends ParserBase { return "?xml-p2?"; } + class NullErrorHandler implements ErrorHandler { + @Override + public void fatalError(SAXParseException e) { + // do nothing + } + + @Override + public void error(SAXParseException e) { + // do nothing + } + + @Override + public void warning(SAXParseException e) { + // do nothing + } +} } \ No newline at end of file