将限制设置为`mixed`元素

时间:2012-12-19 16:21:30

标签: xml xsd libxml2

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

<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>

1 个答案:

答案 0 :(得分: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基础设施。