我的应用程序在表单上的组中有6个单选按钮。可以将此表单上的设置导出为XML并重新导入。在开始重新导入会话之前,我想使用XSD验证XML文件,以确保如果用户编辑了XML,他就做对了。我计划尽可能使用XSD。
由于GUI上的单选按钮必须只有一个buutton,并且只选择了一个按钮,我想使用XSD模仿这种行为。如果在XML中有多个选项设置为True或者没有选项,我想收到XSD架构错误。
是否可以使用XSD实现此目的,还是需要在应用程序中对此类验证进行编码?
答案 0 :(得分:2)
枚举自然反映了单选按钮的独有性质,并且可以在XSD 1.0和1.1中使用:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="RadioButton">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="v1"/>
<xsd:enumeration value="v2"/>
<xsd:enumeration value="v3"/>
<xsd:enumeration value="v4"/>
<xsd:enumeration value="v5"/>
<xsd:enumeration value="v6"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:schema>