Создать класс для схемы с абстрактным сложным типом

Я работаю с некоторой схемой, которая определяет абстрактный сложный тип, например.

<xs:complexType name="MyComplexType" abstract="true">

Затем на этот тип ссылается другой сложный тип в схеме:

<xs:complexType name="AnotherType">
  <xs:sequence>
    <xs:element name="Data" type="MyComplexType" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>

Когда я запускаю «xsd.exe /d /l: CS MySchema.xsd», я получаю эту ошибку:

  

Ошибка: произошла ошибка обработки MySchema.xsd '.     - Ошибка генерации кода для DataSet ''.     - Невозможно преобразовать входной XML-файл в DataSet. DataSet не может создать экземпляр абстрактного ComplexType для узла Data.     - DataSet не может создать экземпляр абстрактного ComplexType для узла Data.

Кажется, это неверная схема. Кто-нибудь еще сталкивался с этой проблемой?

Спасибо

Ник

4 голоса | спросил ng5000 20 42008vEurope/Moscow11bEurope/MoscowThu, 20 Nov 2008 19:00:43 +0300 2008, 19:00:43

3 ответа


0

После оценки нескольких различных инструментов для схемы и кода мы обнаружили только один способ, который смог справиться с нашей схемой (очень большой и чрезвычайно сложный), - это Liquid XML ( http://www.liquid-technologies.com/).

ответил ng5000 15 MonEurope/Moscow2008-12-15T17:55:18+03:00Europe/Moscow12bEurope/MoscowMon, 15 Dec 2008 17:55:18 +0300 2008, 17:55:18
0

Я никогда не сталкивался с этой проблемой, но быстро узнал, что у xsd.exe много недостатков. Мы начали использовать CodeXS очень давно. Продукт представляет собой веб-службу, но код доступен в качестве инструмента командной строки.

У него есть свои бородавки, но код, который он генерирует, намного лучше и он бесплатный. Кроме того, он расширяемый, и добавить собственные плагины для него на самом деле довольно просто.

Возможно, у него не будет такого же ограничения?

ответил Brian Genisio 20 42008vEurope/Moscow11bEurope/MoscowThu, 20 Nov 2008 19:06:43 +0300 2008, 19:06:43
0

Я знаю, что это старый вопрос, но мне нужен был ответ на этот вопрос на этой неделе. Я попробовал Liquid Studios в соответствии с предложением @ ng5000 и обнаружил, что программное обеспечение очень неуклюжее. Кроме того, вывод cs был настолько сложным, что он дал мне более 800 строк кода для одного объекта с 12 простыми свойствами.

Я очень рекомендую Xml2CSharp , веб-инструмент, который генерирует красивые простые POCO с декораторами атрибутов XML.

ответил Don Rolling 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 21 Sep 2017 17:50:04 +0300 2017, 17:50:04

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132