Roger, I believe that choiceDispatchKey requires a string. You cast your unsignedint to a string, not another int.
From: Roger L Costello <coste...@mitre.org> Sent: Wednesday, May 29, 2024 7:53 AM To: users@daffodil.apache.org Subject: id: deprecatedExpressionResultCoercion I have this: <xs:element name="ENVIRONMENT"> <xs:complexType> <xs:sequence> <xs:element name="BitCode" type="unsignedint3"/> And then I have this: <xs:choice dfdl:choiceDispatchKey="{ENVIRONMENT/BitCode}"> Daffodil gave an error, saying the I needed to cast ENVIRONMENT/BitCode, so I did: <xs:choice dfdl:choiceDispatchKey="{xs:unsignedInt(ENVIRONMENT/BitCode)}"> Now Daffodil gives this opaque error message: In expression xs:unsignedInt(ENVIRONMENT/BitCode), result type (unsignedInt) should be manually cast to the expected type (NonEmptyString) with the appropriate constructor.Performing deprecated automatic conversion. (id: deprecatedExpressionResultCoercion) What does that error message mean? Why didn't xs:unsignedInt(...) fix the casting problem? What's the solution?