Есть группы подстановки. То есть, можно сказать, что валидным является либо такое содержимое, либо этакое. Вот, по-моему, неплохой пример использования групп:
stackoverflow.com/questions/39868769/xsd-element-s...
Но Вы уверены, что стоит для этой задачи использовать XSD? Это же должно быть средством формальной валидации. То есть, если Ваш компонент получил на вход валидный XSD - значит, он умеет такой документ распарсить. А уже тогда можно проводить бизнес-валидацию, проверять инварианты и т.д.