Я думаю, что схема на сущность слишком сильно распространяет вещи. Обычно для данной системы у меня есть одна схема, которая имеет все наиболее распространенные типы. Таким образом, когда я говорю о «foo: bar» в одном xsd и «foo: bar» в другом xsd, я знаю, что они эквивалентны. Затем каждый контекст данных попадает в другую схему.
Например, если мы говорим о финансовой системе, у меня был бы один xsd с такими типами, как номер заказа, номер счета-фактуры, имя поставщика и т. Д. ... вещи, которые потребуются для всех видов документов. Тогда будет один xsd для «выставления счетов», один для «заказа», один для «счетов» и так далее. Эти схемы могут также ссылаться друг на друга, и у каждого из них будет свое собственное пространство имен, чтобы упорядочить любые необычные типы, имеющие одинаковые имена.