0

您好,我希望能够定义如下内容:

<Infos>
      <Mileage>9987
          <UseIn>POS_DISPLAY</UseIn>
          <UseIn>READER_DISPLAY</UseIn>
      </Mileage>
</Infos>

Mileage是混合型。9987是它的值,UseIn是一些属性。问题是我找不到定义Mileage内容限制的方法。

有什么方法可以定义上面的结构,而不回退到:

<Infos>
      <Mileage>
          <MileageValue>9987</MileageValue>
          <UseIn>POS_DISPLAY</UseIn>
          <UseIn>READER_DISPLAY</UseIn>
      </Mileage>
</Infos>
4

1 回答 1

3

由于历史原因,我不想描述,具有混合内容的 XSD 类型允许字符数据出现在任何位置。定义一个允许你展示的结构的类型很容易,但是定义一个允许你展示的同时拒绝变体的类型并不容易

<Mileage>
    <UseIn>POS_DISPLAY</UseIn>
    9987
    <UseIn>READER_DISPLAY</UseIn>
</Mileage>

或者

<Mileage>99
    <UseIn>POS_DISPLAY</UseIn>
    8
    <UseIn>READER_DISPLAY</UseIn>
    7
</Mileage>

我的建议,fwiw,是回退到第二种设计,这将更好地与大多数 XML 基础设施一起工作。

于 2012-12-19T20:03:14.530 回答