Oh I didn't answer your first question. Yes you use dfdl:choiceBranchKey="0 1" if you want either of those values to select that same branch.
On Thu, May 18, 2023 at 5:07 PM Mike Beckerle <mbecke...@apache.org> wrote: > Here's the trick: > > dfdl:choiceDispatchKey='{ if (Continuation_Record_Number gt 1) then 2 else > 1 }' > > Then you only have choice branches for 1 and for 2. > > > On Thu, May 18, 2023 at 8:58 AM Roger L Costello <coste...@mitre.org> > wrote: > >> I read one character from the input and use it to populate >> Continuation_Record_Number: >> >> <xs:element name="Continuation_Record_Number" type="validString" >> dfdl:lengthKind="explicit" dfdl:length="1" /> >> >> If the value that was read is 0 or 1, then the remaining input contains >> data for vhf_navaids. If the value is greater than 1, then the remaining >> input contains data for vhf_navaids_continuation: >> >> <xs:choice dfdl:choiceDispatchKey='{Continuation_Record_Number}'> >> <xs:sequence dfdl:choiceBranchKey="0 1"> >> <xs:group ref="vhf-navaids"/> >> </xs:sequence> >> <xs:sequence dfdl:choiceBranchKey="greater than 1"> >> <xs:group ref="vhf-navaids-continuation"/> >> </xs:sequence> >> </xs:choice> >> >> Two questions: >> >> 1. The specification says that the value of choiceBranchKey is a "List of >> DFDL String Literals". Is the correct way to express the list 0, 1 like >> this: >> >> dfdl:choiceBranchKey="0 1" >> >> 2. How to express this value for choiceBranchKey: any value greater than 1 >> >> >>