Say I have the below xml
<parent>
<a/>
<b/>
<c/>
<d/>
</parent>

I'm trying to write an xsd that will allow a choice that can have either:
- all will be empty
- if b is present a should be there
- if d is present b should be there
- if c is present b doesn't have to be there

It seems you can't create groups with the same element in the the different groups. Is there a way to accomplish this with XSD?