什么是“已编译的构架(Compiled Schema)”?

使用 XmlReader 对 XML 文档验证并解析时,首先须将验证所需的 Schema 设置到 XmlReader 的 Schemas 属性中。按 MSDN 的说法:一旦 Schema 被成功设置到了XmlReader.Schemas 中,那么这个Schema 就被称为“已编译的构架(Compiled Schema)”。

为什么这么称呼?利用 XmlSchemaSet.Add(…)方法加载验证所需的 Schema  时,.Net Framework 对待加载的Schema 进行了“预处理”。预处理完成以下任务:
  1. 根据 W3C XML 架构规则,检查该架构的结构有效性,但不对该架构进行完全验证。

  2. 解析对内部和外部架构组件的引用。如果成功检索了导入的或包含的架构,则也会将它们添加到 XmlSchemaSet。导入的架构作为单独的 XmlSchema 对象添加,被包含架构成了包含它的 XmlSchema 的一部分。

因此,已编译的构架(Compiled Schema)实际上是已经通过上述预处理操作的 Schema 。

posted @ 2007-05-08 18:37  protorock  阅读(255)  评论(0编辑  收藏  举报