This encapsulates two definition parsers - orphan and named - and returns the
named definition parser if the "inherit" attribute is set. This allows a named
orphan to be defined (inherit="false") and then extended (inherit="true").
The two sub-parsers must be consistent, as described in