2015年软考系统架构设计师学习笔记第八章(2)
发布时间:2010/12/4 22:28:08 来源:城市学习网 编辑:ziteng
8.3.2 为什么引入 DTD
提供一种验证的手段,对 XML 来说是一大贡献,确保 XML 文件确实地遵守了 指定的格式,而这个格式可能是 一个 标准,或者是数据交换双方 所共同定制 的 协议。
实现了 文件格式 的统一化,提高了文件的重用性。
使用 DTD 进行验证,增加了操作时间。
8.3.3 实体的声明
实体(entity)是一些预先定义好的数据。
存储部位,内部实体,外部实体;
组成内容,可分解实体,不可分解实体。
引用方式,一般型实体,参数型实体。
不同类型的实体声明和使用方法略有不同。
8.3.4 属性的声明
良构 XML 文档中,属性只要满足命名规则就可以了,但是在一个有效的 XML 文档中,属性要经过 DTD 的属性声明。
DTD 声明中,属性的声明语法可以归纳为如下形式:
元素名称指的是 属性所属的元素名称。
8.4 XML Schema
DTD 尽管进行了很大的简化,但还是一门 风格 和XML完全不同的语言,而 schema 文档是一种特殊的 XML 文档,容易学习和使用。
DTD 的另一个缺点是 数据类型相当有限。DTD 中根本不提供 数值数据 类型。
一个 XML 文档只能使用一个 DTD 文档,schema 则采用了 名域空间的机制,使得一个 XML 文档可以调用多种 schema 文档。
8.5 可扩展样式表语言
(eXtensible Stylesheet Language,XSL)是描述 XML 文档样式信息的一种语言,W3C 制订。
XML 的一个优点就是 形式与内容相分离,XSL 就是它的两种样式表单之一,
另一种是 层叠样式表(CSS),是一种静态的样式描述格式,其本身不遵从 XML 的语法规范。
而 XSL 是一个 XML 文档。
是 XML 的一种具体应用。 [NextPage] 它有两大部分组成:
第一部分描述了 如何将 XML 文档进行 转换、转换为可浏览或可输出的格式;
第二部分定义了 格式对象(Fomatted Object,FO)源树转换为可以显示的结果树,称为树转换,按照FO分析结果树,产生一个输出结果,这个过程称为 格式化。
转换树 日趋成熟,已从 XSL 中分离出来,另取名为 XSLT(XSL Transformations),现在一般所听说的 XSL 大多是指 XSLT。
一同退出的还有 配套标准 Xpath(XML Path Language,XML 路径语言)
在 XML 中 声明 XSL 样式单:
XSL 在网络中的应用大体分为两种模式:
1、服务器端转换模式
XML 文件下载到 浏览器前先转换成 HTML。
1.动态方式,接到转换请求时再进行实时转换。
2.批量方式。
2、客户端转换模式
XML 和 XSL 文件都传送到客户端,浏览器必须支持 XML+XSL 的工作方式。
8.6 其他相关规范
8.6.1 XPath
采用简洁的、非 XML 语法,基于 XML 文档的 逻辑结构,在该结构中进行导航。
XPath 表达式 通常出现在 URL 和 XML 属性值里。
XPath 将 XML 文档描绘为 树或节点 的模型,节点的类型有 根节点、元素节点、属性节点、文本节点、注释节点、名称空间节点、处理指令节点 7种。
XPath 规范定义了两个主要部分:一部分是表达式语法,另一部分是一组名为 XPath核心库 的基本函数。
指向某个 XML 文档中一个特定节点的路径 由三部分信息构成:一个轴类型、一个节点测试 和 谓词。
轴类型 有多种,指定所选节点和环境之间的关系。节点测试 查找什么类型的节点,测试包括通配符“*”、text()、node()、comment()、processing-instruction()等。
谓词以“[”开始,以“]”结束,谓词通过使用内部函数来 过滤不需要的节点。
<轴>::<节点测试>[<谓词表达式>]
8.6.2 XLink 和 XPointer
XLink 指定一个文档如何连接到另一个文档,XPointer 指定文档内部的位置,都是基于 XPath 推荐标准。