XSD:添加依赖于父属性的限制

时间:2015-03-31 14:51:39

标签: xml xsd

在我的xml文件中我有很多设置,依赖于属性“type”,还需要其他元素。 例如,“toggle”类型始终包含以下元素:

<setting type="toggle" savename="brightnessToggle" color="orange">
      <label>Verlichting</label>
      <default>true</default>
      <label-on>Aan</label-on>
      <label-off>Uit</label-off>
 </setting>

“range”类型总是包含下一个元素(值只是一个例子):

 <setting type="range" savename="volumeSettingsGlobFW" color="purple">
         <min>1</min>
         <max>100</max>
         <step>1</step>
         <default>8</default>
         <labelleft>Low</labelleft>
         <labelright>High</labelright>
    </setting>

有4种类型可能。我在xsd文件中添加了这个,并且工作正常:

<xs:attribute name="type" use="required">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="multibox"/>
                        <xs:enumeration value="range"/>
                        <xs:enumeration value="select"/>
                        <xs:enumeration value="toggle"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:attribute>

但我不知道如何实现xsd需要的范例:`

<min>
<max>
<step>
<default>
<labelleft>
<labelright>`

如果您输入:

<setting type="range">

并且例如需要切换:

<label>
<default>
<label-on>
<label-off>

使用xsd无论如何都可以这样做吗? (P.S.如果我的英语不好,请原谅我。)

0 个答案:

没有答案