在多个文件中使用单个元素声明

时间:2012-03-18 11:25:57

标签: xsd

假设我们有一些.xml个文件,其中包含MIDI音符数据。

由于MIDI音符值必须是有界整数(它们不能是负数且必须小于或等于某个最大值,例如108),我们要设置一些.xsd文件以帮助验证强制执行有界整数规则时的文件。

是否有任何可用的机制允许我强制执行0108的界限,或者甚至是midi“类型”,,但以这种方式所以我只需输入一次,只需输入一次

为每个模式文件中的每个MIDI元素包含下面的代码片段都是不明显的原因 - 它很烦人,容易出错,难以维护等等。

<xs:element name="note">
    <xs:simpleType>
        <xs:restriction base="xs:positiveInteger">
            <xs:maxExclusive value="108"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>

我担心我缺少一些基本的理解/术语,以便能够从谷歌先生那里得到这个问题的答案。

1 个答案:

答案 0 :(得分:2)

是的,声明一个命名类型,然后引用它:

<xs:element name="note" type="NoteType"/>

<xs:simpleType name="NoteType>
    <xs:restriction base="xs:positiveInteger">
        <xs:maxExclusive value="108"/>
    </xs:restriction>
</xs:simpleType>

您可以根据需要多次引用NoteType