使用 XML 模式类型进行 Qt GUI 输入验证
我们正在开发一个跨平台,它应该提供 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 架构和 XML 文档,使用 QXmlSchema,然后显示验证错误消息。然而,这似乎过于复杂并且可能很慢。
We are working on a cross-platform that should offer a Qt GUI to write to XML files. There will be a set of configurable XML element/attributes that will be modifiable in a Qt GUI using QLineEdit and so on.
How can we add input validation that conforms to the types defined in the XML schema? The types are all simpleType
like:
<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>
Short of reimplementing input validation for all xml schema types, are there other feasible approaches. I had the idea of creating XML Schema and XML documents for the currently visible input fields and their input, validate it using QXmlSchema and then display the validation error message. However that seems overly complex and might be slow.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里是 XML 模式验证器的一个很好的示例。在示例中,架构是使用 QPushButton 进行验证的,但是您可以在编辑完成(例如,文本更改)后执行此操作。
Here is a good example of XML schema validator. In the example the schema is validated with a QPushButton, but you could do that once the editing is finished for example, or text changed.