使用XML模式类型进行Qt GUI输入验证

时间:2012-01-20 11:32:02

标签: c++ qt user-interface xsd validation

我们正在开发一个跨平台,它应该提供一个Qt GUI来写入XML文件。将有一组可配置的XML元素/属性,可以使用QLineEdit等在Qt GUI中进行修改。

我们如何添加符合XML模式中定义的类型的输入验证?类型都是simpleType,如:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="100"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

如果没有重新实现所有xml架构类型的输入验证,还有其他可行的方法吗?我有为当前可见的输入字段及其输入创建XML Schema和XML文档的想法,使用QXmlSchema对其进行验证,然后显示验证错误消息。然而,这似乎过于复杂,可能会很慢。

1 个答案:

答案 0 :(得分:1)

Here是XML模式验证器的一个很好的例子。在示例中,模式使用QPushButton进行验证,但是您可以在编辑完成后执行此操作,例如,或更改文本。