超越惰性 XML 解析:优化解析性能的新方法
1. 包含级别概述
在处理 XML 文档时,我们会遇到不同的数据包含级别。这些级别决定了在对应的 XInclude 元素中复制分区根元素数据的方式。以下是具体的包含级别及其相关信息:
| 包含级别 | 要包含的数据 | 属性名称 |
| — | — | — |
| NONE | 无 | N/A |
| TAG | 标签(默认) | xiPartitionTag |
| TAG_ATR | 标签 + 属性 | xiPartitionAtr |
| TAG_ATR_TX | 标签 + 属性 + 文本 | xiPartitionTxt |
对于 TAG_ATR 级别,我们使用一个单一属性,其值的形式为 field1=value1&field2=value2& … 。例如,如果我们根据包含级别 TAG_ATR 扩展图 3(b) 中所示的 XInclude 元素,并执行相同的 XPath 查询,我们可以在 XInclude 指针元素中找到有关标签名称和属性值的必要信息。这样,分区 P1 和 P4 就无需加载,因为添加到 XInclude 指针的属性值可以帮助我们在不加载分区的情况下判断哪些 “Chapter” 元素满足属性条件。
2. XML 文件分区
2.1 分区目标
我们对 XML 文档进行分区的主要目标是最小化在文档上导航所需的 2LP 解析时间。与其他为存储目的对 XML 文档进行分区的工作不同,我们的目标是最小化给定请求所访问的分区数量。
2.2 分区标准
分区原始文档
超级会员免费看
订阅专栏 解锁全文
4万+

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



