0

光环

我敢肯定这个问题在过去已经被问过很多次,但我正在做噩梦。

我有一组包含大量复杂类型的 XSD 模式。其中之一是:

<complexType name="commandType">
  <sequence>
    <choice>
      <element name="check" type="epp:readWriteType"/>
    </choice>
  </sequence>
</complexType>

但是,“check”实际上应该是一个“checkType”......但它不可能,因为这样做会在包含文件中创建某种疯狂的循环,所以设计工具就是不允许你这样做. 因此,可能将 readWriteType 放入一个类,该类可能是 checkType 派生自(我不知道,我可能在撒谎)。

然而,readWriteType 看起来像这样:

<complexType name="readWriteType">
  <sequence>
    <any namespace="##other"/>
  </sequence>
</complexType>

所以代码生成工具只是不知道如何处理它,或者 checkType 与 readWriteType 的关系。这非常令人沮丧。

无论如何,只是希望这里有人可能有一个脑电波!

哦,XSD.exe 不适用于这些类,所以我正在尝试使用一些第三方工具,比如在 complexType 之前需要元素。

谢谢,P

4

1 回答 1

1

我看不出你如何解决这个问题——只要你使用<any>元素类型,生成的代码总是相当通用并使用很多object元素。

为什么你不能让元素check成为 type checkType?这确实是理顺事情的唯一方法——如果你有明确定义的类型,那么代码生成可以做一些事情。

马克

于 2009-07-31T09:11:06.347 回答