FHIR Chat · xml entity issue · hapi

Stream: hapi

Topic: xml entity issue


view this post on Zulip 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\">&copy;</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">&copy;</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