Я не понимаю, почему вы хотите начать с xsd, если у вас его еще нет. Если вы свободны в отношении схемы, она будет начинаться с кода Java и генерирует XSD оттуда.
Вы можете комментировать список следующим образом:
@XmlElements({
@XmlElement(name = "child1", type = Child1.class),
@XmlElement(name = "child2", type = Child2.class),
@XmlElement(name = "child3", type = Child3.class)})
private final List<IChild> children = new ArrayList<IChild>();
Где IChild
- интерфейс для подклассов superClass
. В результате будет сгенерирована XSD-схема, как вы и описали.