Я видел несколько вопросов относительно проблем с генерацией классов из XML-схемы с помощью xsd.exe
, а также предложения о том, как предварительно обработать схему (часто используя XSLT), чтобы решить некоторые из более сложных аспектов до генерации. Мой вопрос заключается в том, можно ли построить генератор кода С#, который на 100% совместим с XML-схемой. Являются ли проблемы с xsd.exe
просто вопросом его реализации или они указывают на фундаментальную несогласованность между XML Schema и С#?
В частности,, я заинтересован в том, как сопоставить понятия в XML-схеме с С# - каковы принятые сопоставления, какие отображения являются дискуссионными, существуют ли конструкции XML Schema, которые по своей сути неотменяемы и существуют ли конструкции С#, которые недостаточно используются? Существует ли спецификация соответствия, которая обеспечивала бы правила для сопоставления, чтобы ее можно было реализовать и протестировать?
EDIT: Для ясности я полностью понимаю, что XML Schema не предоставит мне полностью реализованные интерфейсы С#, меня интересует, может ли она полностью отображаться в иерархии классов С#.
EDIT 2: Я добавил небольшую награду, так как мне интересно узнать немного больше.
EDIT 3: Bounty все еще открыт, но пока идет в сторону stakx - хороший ответ, но в основном касается того, как реплицировать структуры С# в XML-схеме, а не наоборот. Хороший ввод, хотя.