DOM 基于树的XML应用程序典型流程 ? xml version=°1,0"7 document attr="foo° element>bar</element> <element/> </document> DOM parse lient Pr ogram In-memory Tree
DOM ◼ 基于树的XML应用程序典型流程
DOM DOM不同层次 DOM Level0:作为允许Web浏览器来标识和操纵页面上元素 的方式 DOM Leve1:包含对XML1.0和HTML的支持。它还包含 用于添加、编辑、移动和读取包含在节点中信息的方法等等。不包括 “XML名称空间”的支持 DOM Leve2:添加了名称空间支持,允许开发者检测和使用可能 可用于节点的名称空间信息。Leve2还添加了几个新模块,这些 模块支持级联样式表、事件以及增强的树操作 DOM Leve3:还在编写之中,包括: 两个新的建议, XML Infoset和 XMIL Base n扩展了对用户界面事件的支持和对DTD的支持 XML Schema装入和存储能力 还添加了对 XPath的支持,这意味着在“XSL转换”中使用 XPath可以定位特定节点
DOM ◼ DOM不同层次 ◼ DOM Level 0:作为允许 Web 浏览器来标识和操纵页面上元素 的方式 ◼ DOM Level 1: 包含对 XML 1.0 和 HTML 的支持。它还包含 用于添加、编辑、移动和读取包含在节点中信息的方法等等。不包括 “XML 名称空间”的支持 ◼ DOM Level 2:添加了名称空间支持,允许开发者检测和使用可能 可用于节点的名称空间信息。Level 2 还添加了几个新模块,这些 模块支持级联样式表、事件以及增强的树操作 ◼ DOM Level 3: 还在编写之中,包括: ◼ 两个新的建议,XML Infoset 和 XML Base ◼ 扩展了对用户界面事件的支持和对 DTD 的支持 ◼ XML Schema 装入和存储能力 ◼ 还添加了对 XPath 的支持,这意味着在“XSL 转换”中使用 XPath 可以定位特定节点
DOM 树模型示例 bibliography <bibliography> book < book isbn=“111”> <title> XML </title> isbn○ <author> hull </author> title autor author publisher/year <author> vianu </author <publisher> Wesley <publisher> <year> 1995 </year XML Hull Vianu Wesley 1995 </book> </bibliography>
DOM <bibliography> <book isbn=“111”> <title> XML </title> <author> Hull </author> <author>Vianu </author> <publisher> Wesley </publisher> <year> 1995 </year> </book> … </bibliography> bibliography book isbn 111 title author author publisher year XML Hull Vianu Wesley 1995 ◼ 树模型示例
DOM XML中最常见的节点类型 n元素:元素是XML的基本构件。典型地,元素可以有其它元 素、文本节点或两者兼有来作为其子节点。元素节点还是可以 有属性的唯一类型的节点。 属性:属性节点包含关于元素节点的信息,但实际上,不认为 它是元素的子节点。 文本:包含文本信息 文档:文档节点是整个文档中所有其它节点的父节点 cData:“字符数据”的缩写,这是包含不应该由解析器分 析的信息的节点 注释:注释包含有关数据的信息,通常应用程序会忽略它们 处理指令:PI是专门针对应用程序的信息
DOM ◼ XML 中最常见的节点类型 ◼ 元素:元素是 XML 的基本构件。典型地,元素可以有其它元 素、文本节点或两者兼有来作为其子节点。元素节点还是可以 有属性的唯一类型的节点。 ◼ 属性:属性节点包含关于元素节点的信息,但实际上,不认为 它是元素的子节点。 ◼ 文本:包含文本信息 ◼ 文档:文档节点是整个文档中所有其它节点的父节点 ◼ CData: “字符数据”的缩写,这是包含不应该由解析器分 析的信息的节点 ◼ 注释:注释包含有关数据的信息,通常应用程序会忽略它们 ◼ 处理指令:PI 是专门针对应用程序的信息
DOM ■元素与节点 元素只是一种类型的节点。元素艺点是信息的容器。信息可以 是其它元素节点、文本节点、属性节点或其它类型的信息 n当一个节点包含另一个节点时,那个节点被认为是这个节点的 子芳点 n一般情况下,元素之间的空白组成一个文本节点 规范化 DTD明确声明 和 senver server monitor 有 m值它们有子文本 samples monitor color
DOM ◼ 元素与节点 ◼ 元素只是一种类型的节点。元素节点是信息的容器。信息可以 是其它元素节点、文本节点、属性节点或其它类型的信息 ◼ 当一个节点包含另一个节点时,那个节点被认为是这个节点的 子节点 ◼ 一般情况下,元素之间的空白组成一个文本节点 ◼ 规范化 ◼ DTD明确声明 ◼ server 和 monitor 有 null 值,它们有子文本 节点 UNIX 和 color