Расширение позволяет указывать дополнительные элементы / атрибуты, не позволяет изменять количество элементов / фасетов и т. Д. Дочерних элементов / атрибутов.
Ограничение работает по-другому, так как позволяет дополнительно ограничить существующие элементы / атрибуты, поэтому, если вы хотите сделать необязательный элемент обязательным, вы можете сделать это с ограничением.расширение не позволит вам изменять существующие дочерние элементы.
Единственный способ сделать это - использовать конструкцию redefine - но это грязно и не очень хорошо поддерживается некоторыми проверяющими парсерами.