I've fixed the issues identified by Suman and Alan.

RE:

1. On the last WG call Steve H suggested allowing lengthUnit='bits' for any logical type as long as the length was a multiple of 8. Did you decide against that?


I did not decide on this either way. Which ever requires the least writing in the spec is fine with me.  

Consider: dfdl:lengthUnits="bits" for dfdl:representation="text". This is exactly equivalent to dfdl:lengthUnits="bytes" with the length, however it is determined (prefix, or explicit) to be divided by 8. Now, what if the length comes back from the expression or prefix as not a multiple of 8. Then we have to detect a processing error..... length in bits not a multiple of 8, and we have to explain why this is an error, etc.

Unless there is a use case that requires this, I'd rather not put it in just for uniformity's sake. I'd rather say that lengthKind="bits" is available only for a specific narrow set of types.