Hidden elements - summary of approaches

Let's state the two options being considered, as I said I'd do this for the wider DFDL WG for the call today: 1) Global group approach Summary: Particle to hide can be a local element, element ref, local sequence, local choice or group ref Particle is removed from its parent into a dedicated global group of composition sequence and replaced in the parent by a new empty local sequence The new empty local sequence carries a dfdl:hidden annotation that has a property dfdl:groupRef, other DFDL properties are not allowed Alternatively, the new empty local sequence carries a dfdl:hiddenGroupRef property, other DFDL properties are not allowed Pros: Removal of all DFDL annotations and use of the resultant pure XSD results in same infoset Global group can be reused Cons: Making something hidden is a refactor operation Global group sequence needs DFDL properties setting correctly 2) Hidden flag approach Summary: Particle to hide can be a local element, element ref Particle takes a dfdl:hidden property xs:minOccurs MUST be 0 A dfdl:minOccurs property takes the place of xs:minOccurs. Pros: Easy to make something hidden Cons: Removal of all DFDL annotations and using pure XSD does not guarantee the same infoset Breaks validation Duplication of minOccurs property Have to wrap a local sequence, choice or group ref in a complex element in order to hide it (they can't take minOccurs = 0) Regards Steve Hanson Strategy, Common Transformation & DFDL Co-Chair, OGF DFDL WG IBM SWG, Hursley, UK, smh@uk.ibm.com, tel +44-(0)1962-815848 Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
participants (1)
-
Steve Hanson