基本上我想要的是创建一个 XSD 的状态转换图表示。这不是一个简单的状态图;它应该反映合成器(All、Choice、Sequence)、最小和最大出现次数以及派生(限制、扩展)。XSD 遍历器必须能够在每次向其提供 XML 标记时更新其在 XSD 的状态图表示中的位置。它应该在关闭标签时回滚其位置。它应该能够确定向其提供 XML 标记是否会使 XML 无效,即遍历器无法找到给定 XML 标记的路径。
我一直在使用 XSOM,它是函子访问者架构,但我无法使用 XSOM 实现合成器、发生和派生。
你们中的任何人都知道任何已经这样做的图书馆吗?
或者关于如何构建这种状态转换图的任何想法?
或者更好的是,你们提供了 XML 验证器代码的链接?这基本上是 XML 验证器在针对 XSD 验证 XML 时所做的事情,对吧?