如何创建符合 XSD
的 XML
请求才能使请求有效?
一种方法是创建整个请求,然后在 XSD
上验证它。
有没有办法在遍历模式时创建请求?
第一个想到的是 Zipper,但我真的不确定它们是否可以用在这里。
也许我不太理解,但如果已经定义了一些结构并且需要在该结构中进行更改,Zipper 似乎很棒。 Zipper 可以用于改变结构吗? (例如,将序列附加到序列数组?)
最佳答案
正如 Tomalak 在 comment 中所说的那样,
That's like trying to create meaningful strings by walking the regex. It doesn't work that way.
zipper 可以帮助您在结构中蜿蜒前行,检查零件并有选择地修改它们;最后,您可以选择“拉上” zipper 以获得原始版本的修改版本。你的想法至少有两个主要问题:
XSD 的结构与其编码的文档结构不同,甚至非常相似。如果您要使用 zipper 修改 XSD 以根据该 XSD 生成有效的 XML,您最终将完全重构它,而类型系统将无法帮助您做到这一点。
zipper 是一种专注于某些数据结构的一部分的方法。在认真考虑 zipper 之前,您应该考虑要解压的数据结构是什么。根据您正在做的事情,您可能会或可能不会发现使用 zipper 有用,但 zipper 及其不变量总是与结构及其不变量相关。
关于xml - 用于创建 xml 请求的 zipper ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21322727/