These terms are problematic. I will add these to the glossary. A logical value is a value of the underlying type of the element. It is a reserved value of the type, which is used to represent nil.
So, if the data is say type xs:float, then 0.0 is a logical value for a float zero, but this is not "0.0" the text string, but 0.0 the float value, so 0.00000 is the same as 0.0 is the same as 0.0E0 because those are just different text that represent the same value. For type xs:string there is no difference between a literal value and a logical value. We've never had a need for logical value nils that couldn't be worked around, so we've not implemented nilKind='logicalValue' in daffodil. ________________________________ From: Costello, Roger L. <coste...@mitre.org> Sent: Tuesday, April 21, 2020 1:05 PM To: users@daffodil.apache.org <users@daffodil.apache.org> Subject: What is a "logicalValue" for the nilKind property? nilKind :: literalCharacter | literalValue | logicalValue What is a logicalValue? /Roger