Turns out that my entity "problem" was actually operator stupidity--I
was using double quotes inside double quotes:
<!ENTITY encodingDesc "
Changing to single quotes for the unit attribute value fixes it.
Thanks to everyone who helped.