Description
Found when
<element ref="foo"...>
|
<dfdl:discriminator>{ ../foo/bar eq 2 }</dfdl:discriminator>
|
</element>
|
|
<element name="foo" dfdl:lengthKind="explicit" dfdl:length="75" >
|
.... complex type contains child bar
|
</element>
|
Given hundreds of bits this was spuriously saying that there were "insufficient bits for elmeent foo. only 7 found but 75 required" So it doesn't create element foo, but evaluates the discriminator anyway, which fails with a runtime SDE (another bug - separate ticket).
This bug is about the spurious length limit of 7 bits. That's just wrong in this situation.
This occurred in a dense bit packed format. Not publishable, so a test case that mimics it needs to be created.