DFDL has this seemingly ad-hoc restriction. 

Users naturally want to model a complex element where "-" (dash) means the whole complex element is nilled, and if not "-" then we parse and produce a complex element. 

What is the rationale for this restriction?