【问题标题】:RelaxNG or XSD schema validation with JavaScript使用 JavaScript 进行 RelaxNG 或 XSD 模式验证
【发布时间】:2012-02-12 00:03:19
【问题描述】:

我想在客户端 JavaScript 中进行 RelaxNG(首选)或 XSD(如果需要)模式验证。有什么好的图书馆吗?谷歌找到了jsrelaxngvalidator,但我无法让它运行,而且它似乎没有维护。目标浏览器仅限 Firefox 和 Chrome。

【问题讨论】:

    标签: javascript xsd xsd-validation relaxng jsonschema


    【解决方案1】:

    SmartClient 可以加载 XSD 并生成用于编辑数据的表单,并包含验证规则和用户友好的错误消息:

    http://www.smartclient.com/#xmlSchemaImport

    您还可以使用 DataSource.xmlSerialize() 序列化用户输入的数据并生成符合 XSD(正确命名空间等)的 XML 文档。

    http://www.smartclient.com/docs/8.0/a/b/c/go.html#method..DataSource.xmlSerialize

    此功能全部在浏览器中实现(无服务器组件),全部在免费 OSS 版本(SmartClient LGPL)中。

    请注意,此特定功能是更大系统的一部分,可能会也可能不会满足您的需求 - SmartClient 主要用于大型企业业务应用程序。

    【讨论】:

    • 请披露您的隶属关系。
    【解决方案2】:

    答案似乎是“否”:我们最终让 jsrelaxngvalidator 工作,但它对它所支持的内容有奇怪的限制,需要运行大量库(包括一个自定义 SAX 解析器也在测试版中)并且确实很奇怪诸如通过网络下载 18 个 XSLT 来预处理模式之类的东西,所以我们放弃了。

    相反,我将架构重写为JSON Schema,并使用JSV 进行客户端验证。学习曲线有点陡峭,但现在效果很好。

    【讨论】:

      猜你喜欢
      • 2014-03-27
      • 1970-01-01
      • 2018-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 2012-04-13
      相关资源
      最近更新 更多