gpt4 book ai didi

html - 从 Schematron 生成 HTML 表单

转载 作者:行者123 更新时间:2023-11-27 23:19:29 27 4
gpt4 key购买 nike

是否可以从 Schematron 生成 HTML 表单?我有一堆在 Schematron 文件中描述的模式。我必须创建允许输入数据的 HTML 表单,这些数据将被转换为与 Schematron 兼容的 XML 文档。我不想手动开发表单,而是想以任何方式生成它们。是否可以?你知道这方面的工具吗?

我找到了从 XSD 生成 HTML 表单的类似工具,例如 https://github.com/davidmoten/xsd-forms .

最佳答案

非常有趣的问题。它可以用 XSD 来完成,因为 XSD 描述了有效 XML 文档的结构(哪些元素可以出现、以什么顺序出现、出现多少次等)。因此,应用程序可以扭转这个过程并向用户显示一个允许填写输入小部件元素、重新排序元素等的表单,最后将生成一个有效的 XML 文档。

然而,Schematron 通常不描述 XML 文档结构,而是提供极其强大的语义规则或约束。因此(在一般情况下)无法将过程逆转为显示生成有效 XML 文档的表单。然而,它可以根据您的 Schematron 的外观来完成,但请考虑这个简单的示例(取自 this page ):

<schema xmlns="http://www.ascc.net/xml/schematron" >
<pattern name="Test integer">
<rule context="AAA">
<assert test="floor(.) = number(.)">The AAA value is not an integer.</assert>
</rule>
</pattern>
</schema>

有许多不同的 XML 文档结构可以生成对该 Schematron 有效的 XML 文档,因此您可能有一个表单来填充元素值,但是 Schematron 没有提供足够的信息来说明文档的结构应该是什么:在哪里元素应该放置吗?元素应该出现多少次?等

来源:在我的最终学位项目中,我构建了一个多平台应用程序,它给定一个 XSD(以及可选的 Schematron 和可选的 XSLT),它生成一个表单,以便任何用户都可以创建一个对 XSD 和 Schematron 有效的 XML 文档, 他们不需要了解任何关于 XML/XSD/Schematron/XSLT 的知识。 Schematron 的信息(如果存在)用于执行额外的验证,甚至动态禁用枚举值,如果选择这些值将导致 Schematron 错误。但请注意,Schematron 的信息不足以了解 XML 文档应具有何种结构(该信息存在于 XSD 中)。如果您想知道,XSLT 文档(如果存在)用于选择性地将生成的 XML 文档转换为更适合用户的其他类型的文档,例如 HTML 或 PDF。

关于html - 从 Schematron 生成 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41761837/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com