我正在编写自己的验证 XML 解析器。(是的,我知道这是一项非常复杂的任务,使用现有的产品,如 libxml2 或 Xerces 将是更明智的选择。但这不是一个选项,所以请多多包涵。)
将 XML 和 XSD 文件解析为树结构应该不是很困难。但是,我似乎无法弄清楚使用什么算法来验证 XML 树与 XSD 的对比。
我做了一些研究,但我发现的一切要么太通用(如何编写编译器等),要么太具体(例如增量验证)。
我有一些自己的想法,但它们都相当复杂,所以在开始编码之前,我真的很想对我的想法的有效性(不是双关语)更加确定。
在此先感谢您,如果您认为可以提供帮助,请随时询问更多详细信息!