Hi Folks, I tried Mike's suggestion to avoid the UPA error: precede the element with a uniquely named empty element, e.g.,
<xs:element name="record"> <xs:complexType> <xs:sequence> <xs:element name="Section_Code" type="fixedLength_string" dfdl:length="1"/> <xs:choice dfdl:choiceDispatchKey="{Section_Code}"> <xs:sequence dfdl:choiceBranchKey="D"> <xs:element name="Unique_Name_1" type="xs:string" dfdl:lengthKind="explicit" dfdl:length="0"/> <xs:element name="Subsection_Code" type="fixedLength_string" dfdl:length="1"/> </xs:sequence> <xs:sequence dfdl:choiceBranchKey="E"> <xs:element name="Unique_Name_2" type="xs:string" dfdl:lengthKind="explicit" dfdl:length="0"/> <xs:element name="Subsection_Code" type="fixedLength_string" dfdl:length="1"/> </xs:sequence> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> However, that results in Daffodil generating these warning messages: [warn] Schema Definition Warning: Statically ambiguous or query-style paths not supported in step path: '{}Subsection_Code'. Matches are at locations: ... What is that all about? How to get rid of them? /Roger