Aks*_*hat 48 xml haskell zipper
如何创建XML符合XSD请求有效的请求?
一种方法是创建整个请求,然后在其上进行验证XSD.有没有办法在走模式时创建请求?
想到的第一个想法是Zipper,但我真的不确定它们是否可以在这里使用.
也许我还没有理解它,但如果已经定义了一些结构并且需要在该结构中进行更改,那么Zipper似乎很棒.Zipper可以用于改变结构吗?(例如,将序列附加到序列数组?)
正如托马拉克在评论中所说,
这就像尝试通过遍历正则表达式来创建有意义的字符串。事实并非如此。
拉链可以帮助您在结构中蜿蜒行走,检查零件并选择性地修改它们;最后,您可以选择“拉上”拉链以获得原始版本的修改版本。您的想法至少存在两个主要问题:
XSD 的结构与其编码的文档结构不同,甚至非常相似。如果您要使用拉链来修改 XSD,以便根据该 XSD 生成有效的 XML,那么您最终将完全重构它,并且类型系统将无法帮助您实现这一点。
拉链是一种专注于某些数据结构的一部分的方式。在你仔细考虑拉链之前,你应该考虑一下你要解压的数据结构。根据您正在做的事情,您可能会或可能不会发现使用拉链有用,但拉链及其不变量将始终与结构及其不变量相关。
| 归档时间: |
|
| 查看次数: |
866 次 |
| 最近记录: |