Stream: hapi
Topic: xml entity issue
Ben Spencer (Mar 04 2019 at 12:23):
I'm attempting to upgrade HAPI from 3.0.0 -> 3.7.0 and I have a failing test due to an issue with xml entities in narrative
Given this example:
{ "resourceType": "Patient", "id": "example", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">©</div>" } }
I can parse it, but when re-encoding the narrative is turned into:
"<div xmlns=\"http://www.w3.org/1999/xhtml\">©</div>"
Then when attempting to parse that, I get:
ca.uhn.fhir.parser.DataFormatException: String does not appear to be valid XML/XHTML (error is "ParseError at [row,col]:[1,49] Message: The entity "copy" was referenced, but not declared."): <div xmlns="http://www.w3.org/1999/xhtml">©</div> at ca.uhn.fhir.util.XmlUtil.parse(XmlUtil.java:1748) at ca.uhn.fhir.model.primitive.XhtmlDt.parse(XhtmlDt.java:83) at ca.uhn.fhir.model.primitive.XhtmlDt.parse(XhtmlDt.java:41) at ca.uhn.fhir.model.api.BasePrimitive.setValueAsString(BasePrimitive.java:111) at ca.uhn.fhir.model.primitive.XhtmlDt.setValueAsString(XhtmlDt.java:132) at ca.uhn.fhir.parser.ParserState$XhtmlState.attributeValue(ParserState.java:1530) at ca.uhn.fhir.parser.ParserState.attributeValue(ParserState.java:66) at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:1033) at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:938) at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:1021) at ca.uhn.fhir.parser.JsonParser.parseChildren(JsonParser.java:938) at ca.uhn.fhir.parser.JsonParser.doParseResource(JsonParser.java:183) at ca.uhn.fhir.parser.JsonParser.doParseResource(JsonParser.java:165) at ca.uhn.fhir.parser.BaseParser.parseResource(BaseParser.java:648) at ca.uhn.fhir.parser.BaseParser.parseResource(BaseParser.java:697) at ca.uhn.fhir.parser.BaseParser.parseResource(BaseParser.java:707) ... 28 elided Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,49] Message: The entity "copy" was referenced, but not declared. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:604) at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(XMLEventReaderImpl.java:83) at ca.uhn.fhir.util.XmlUtil.parse(XmlUtil.java:1735) ... 43 more
(this is stu3)
Last updated: Apr 12 2022 at 19:14 UTC