internal static OperationOutcome ValidatedParseXml(this Validator me, XmlReader instance, out Resource poco) { var result = new OperationOutcome(); try { if (me.Settings.EnableXsdValidation) { var doc = XDocument.Load(instance, LoadOptions.SetLineInfo); result.Add(me.ValidateXml(doc)); instance = doc.CreateReader(); } poco = (Resource)(new FhirXmlParser()).Parse(instance, typeof(Resource)); } catch (Exception e) { result.AddIssue($"Parsing of Xml into a FHIR Poco failed: {e.Message}", Issue.XSD_CONTENT_POCO_PARSING_FAILED, (string)null); poco = null; } return(result); }