无效 XML 文档与 XML 模式映射的处理策略
1. 无效 XML 文档的细化修正策略
在处理无效 XML 文档时,有几个关键的概念和策略值得关注。
1.1 意图签名
在评估意图以修复 XML 文档时,常常会遇到不同甚至相同的意图可能产生相同修复结果的情况。为了解决这个问题,引入了意图签名的概念。当两个意图 I1 和 I2 具有相同的签名 sig(I1) = sig(I2) 时,它们的修复结果总是相同的,即 RI1 = RI2 。因此,每当计算出一个新的修复时,会使用其意图签名作为键将其存储起来。在评估新探索的意图之前,会先尝试从存储中获取修复结果。
例如,在处理小型 XML 文档时,启用签名可以显著减少需要评估的意图数量。通过对 10 个数据树(每个树有 100 个节点,平均最大扇出为 4,平均最小和最大深度分别为 6 和 11)进行计算,以 DEF 策略为例,启用签名后需要评估的意图数量差异可能超过 2 个数量级。这表明,即使对于非常小的文档,缓存修复结果也是绝对必要的。
1.2 执行方法
修正策略定义了哪些嵌套意图会被探索并请求进行(完全或部分)评估,而执行方法则从技术上定义了如何创建评估请求,以及如何启动和终止其执行。执行方法可以分为以下几种:
- 嵌套 :直接调用递归修正程序。当它达到目标后,程序结束,返回上下文并继续处理。
- 调用 :获取一个工作线程,启动
超级会员免费看
订阅专栏 解锁全文
6946

被折叠的 条评论
为什么被折叠?



