Description
When you have an optional element with children element, daffodil calculates the number of occurrences it has by looking at the number of children it has, rather than calculating the number of times it appears. This results in an validation error saying the element occurred NUM_OF_CHILDREN_TIME when it was expected.
Attached is a TDML test that shows this incorrect validation error
I narrowed down the error to src/main/scala/org/apache/daffodil/runtime1/processors/parsers/SequenceChildBases.scala line 543 in endArray
val occurrence = { val maybeLastChild = state.infoset.maybeLastChild if (maybeLastChild.isEmpty || maybeLastChild.get.erd != erd) 0 else maybeLastChild.get.numChildren }