Переопределение классов объектов#
Могут возникнуть ситуации, когда вы хотите переопределить некоторые настройки (например, кардинальность значений атрибутов, защищенные объекты или стратегию выборки атрибутов) не только для выбранного типа объекта(ов), но и для всех объектов данного класса объектов. Например, вам может потребоваться указать стратегию выборки для определенного атрибута groupOfUniqueNames класса объектов и последовательно применять это ко всем типам объектов, определенным для этого класса объектов. Для этого можно использовать определение schemaHandling/objectClass.
Это было достигнуто путем установки default=true для определения выбранного типа объекта. Однако использование адаптации определения класса объектов является более целенаправленным и (в определенном смысле) более понятным способом достижения этой цели.
Внимание: Хотя формально тип XSD является ResourceObjectTypeDefinitionType (главным образом из-за причин реализации), здесь поддерживаются не все элементы ResourceObjectTypeDefinitionType. Например, невозможно указать вид, намерение или супертип здесь. Из-за ограничения языка XSD мы не можем выразить эти ограничения без изменения порядка элементов XML в соответствующих документах (потому что типичное решение: производные от обоих ResourceObjectTypeDefinitionType и чего-то вроде ResourceObjectClassDefinitionType от общего предка означало бы, что порядок элементов XML в результирующих документах будет отличаться от того, который существует сейчас).
Мы также рекомендуем избегать указания концепций чистого типа объекта (таких как сопоставления) в этих определениях. Лучше создать специальный (абстрактный) тип объекта для этого.