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

发布于 2024-12-27 19:36:56 字数 647 浏览 1 评论 0原文

我们正在开发一个跨平台,它应该提供 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

疯狂的代价 2025-01-03 19:36:56

这里是 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文