Наследование и полиморфизм в XSD - PullRequest
0 голосов
/ 07 сентября 2011

Мой вопрос в значительной степени повторяет этот вопрос , на который не было получено никаких ответов. Надеюсь, мне повезет больше.

Я бы хотел реализовать наследование в элементах XSD таким образом, чтобы поддерживать как полиморфизм в xml, так и обычное наследование ОО в классах, генерируемых из XSD.

Вот так должны выглядеть сгенерированные классы C # (в упрощенном примере):

class Zoo{ private Animal _animal; }
abstract class Animal{ private int _someProperty; }
class Lion:Animal{ }
class Zebra:Animal{ }

И вот как должен выглядеть Xml

<Zoo> <Lion /> </Zoo>
<Zoo> <Zebra /> </Zoo>

но не:

<Zoo> <Animal /> </Zoo>

Я пытался использовать расширение xs:, но оно не сработало так, как я ожидал. Есть мысли?

1 Ответ

0 голосов
/ 07 сентября 2011

developerfusion.co.uk
* 1004 MSDN *

В приведенной выше статье используется xsd.exe для перехода от класса (или иерархии классов) к схеме xsd. Вы пробовали это и проверили, приемлем ли результат?

Я также добавил статью msdn об этом инструменте.

И еще одно редактирование: такой инструмент, как Enterprise Architect (и подобные), часто имеет функцию создания xsd, начиная с диаграммы классов (uml). См. Например здесь .

Ура, Wim

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...