我已经看到了几个关于使用xsd.exe
从XML Schema生成类的问题,以及如何预处理模式(通常使用XSLT)来解决生成之前的一些棘手问题的建议。我的问题是,是否可以构建一个100%符合XML Schema的C#代码生成器。 xsd.exe
的问题仅仅是它的实现问题,还是它们指向XML Schema和C#之间的根本不一致?
特别是,我对如何将XML Schema中的概念映射到C#感兴趣 - 接受的映射是什么,哪些映射是有争议的,是否存在本质上不可映射的XML Schema结构是否存在未充分利用的C#构造?是否存在可以提供映射规则的合规性规范,以便可以实施和测试?
编辑:为了清楚起见,我完全清楚XML Schema不会为我提供完全实现的C#接口,我对它是否可以完全映射到C#类层次结构感兴趣。
编辑2:我添加了一笔不小的赏金,因为我有兴趣获得更多细节。编辑3:Bounty仍然开放,但到目前为止仍然朝着stakx迈进 - 这是一个很好的答案,但主要是处理如何在XML Schema中复制C#结构,而不是相反。但是输入很好。
答案 0 :(得分:26)
答案 1 :(得分:3)
这不是代码生成的限制。这是XML模式不描述类。它描述了XML,这是另一回事。
结果是XML Schema和C#类,Java类或任何其他类之间存在“阻抗不匹配”。这两者并不等同,并不是故意的。