XML-схема разрешает наследование через элемент xs:extension
, который позволяет изменять базовую complexType
.При отображении этой XML-схемы в C # (или Java) имеет смысл сопоставить это с наследованием классов.
Так что я думаю, что вы хотите сделать, а не отображать иерархию наследования, когда xs:extension
встречаются, вы хотите вместо этого скопировать расширенные свойства в сгенерированный класс, то есть перенести все методы суперкласса в подкласс.Я очень сомневаюсь, что вы найдете инструмент, который будет иметь это в качестве опции, это довольно непонятное требование!
Лично я бы решил это, преобразовав вашу XML-схему в желаемую структуру, а затем используя вашу схему-to-C # инструмент.Подходящая технология для этого преобразования - XSLT.Однако вы можете написать свой собственный инструмент, используя Linq-to-XML или другие API-интерфейсы для работы с XML.