電子工常出社 第14章XML技术 14.1XM技术 ·14.2XM文档与数据库表
第14章XML 技术 • 14.1 XML 技术 • 14.2 XML 文档与数据库表 •
電子掌出版社 14.1XML技术 任何一个文档都由三部分组成,即文档数据、文档结构和 文档样式。在HTML文档三者合为一体,而XML文档则只 包括文档数据,文档结构由数据类型定义(DTD)或 XML模式( XML Schema)确定,并进行合法性检验,文 档样式由可扩展样式表语言(XSL)确定,XSL能够将 XML文档从一种XML形式转化为另一种XML形式,或把 XML文档转化为大家所熟悉的HTML格式 DTD 合法性检验 转换 XL源文档 合法的M文档 显示(例HTM) 返回目录
14.1 XML 技术 任何一个文档都由三部分组成,即文档数据、文档结构和 文档样式。在HTML文档三者合为一体,而XML文档则只 包括文档数据,文档结构由数据类型定义(DTD)或 XML模式(XML Schema)确定,并进行合法性检验,文 档样式由可扩展样式表语言(XSL)确定,XSL能够将 XML文档从一种XML形式转化为另一种XML形式,或把 XML文档转化为大家所熟悉的HTML格式。 返回目录
XML文档 1.一个简单的例子 【例141】一个简单的XML文档 K?xmI version="1.0 encoding=GB2312?> 地址 李中国广东省广州</城市〉 <街道〉 北京路15号 </街道〉 <邮政编码〉 514000 </邮政编码〉 </地址 返回目录
14.1.1 XML 文档 1. 一个简单的例子 【例14.1】一个简单的XML文档 李 中国 广东省 广州 北京路15号 514000 返回目录
電子掌出版社 该文档的第1行是XML声明—定义此文档所遵循的XML标准的 版本,在这个例子里是10版本的标准,使用的是GB2312字符集。文 档的第2行是根元素(地址),文档的最后一行是根元素的结束。文 档的中间部分描述了根元素的子节点(姓名,省,城市,街道,邮政 编码),其中姓,名为姓名节点的子节点 所有XML文档都必须符合下列规则: (1)XML文档必须有一个根元素,XML文档中的第一个元素就是根 元素,XML文档有且只能有一个根元素,XML文档都必须包含一个 单独的标记来定义,所有其他元素的都必须成对的在根元素中嵌套 (2)所有的XML元素必须合理包含 (3)XML标记都是大小写敏感的 (4)所有的XML文档必须有一个结束标记。 返回目录
该文档的第1行是XML声明——定义此文档所遵循的XML标准的 版本,在这个例子里是1.0版本的标准,使用的是GB2312字符集。文 档的第2行是根元素(地址),文档的最后一行是根元素的结束。文 档的中间部分描述了根元素的子节点(姓名,省,城市,街道,邮政 编码),其中姓,名为姓名节点的子节点。 所有XML文档都必须符合下列规则: (1)XML文档必须有一个根元素,XML文档中的第一个元素就是根 元素,XML文档有且只能有一个根元素,XML文档都必须包含一个 单独的标记来定义,所有其他元素的都必须成对的在根元素中嵌套; (2)所有的XML元素必须合理包含 (3)XML标记都是大小写敏感的 (4)所有的XML文档必须有一个结束标记。 返回目录
電子掌出版社 2.XML文档的基本结构 序言(处理指令、DTD、注释) 主体(数据元素) 尾声(处理指令、注释) 返回目录
2. XML 文档的基本结构 返回目录
忘南子工掌出 例142】“个比较全面完整的XML文档 1. ?xml version="1.0 encoding=uTF-8?> 2. 3. 4. ! --catalog last updated 2003-11-01-> 5. catalog xmins=hTtp: //localhost/catalog/> 6. Author>G: Abercrombie, kim/author> 8. XML Developer'sG uide/title> 9. Computer 10. price>44. 95 Publish date>2000-10-01/publish date> 12. ,]]> and & . 13. 14.</catalog) 返回目录
【例14.2】一个比较全面完整的XML文档 1. 2. 3. 4. 5. 6. 7. GAbercrombie, kim 8. XML Developer's Guide 9. Computer 10. 44.95 11. 2000-10-01 12. , ]]> and &. 13. 14. 返回目录
青文档开始至根元素之前, (2)元素:元素是XML文档的主体。标记是左尖括号()之间的文本。 (3)XML声明:XML声明必须出现在XML文档的第一行,包 括版本,编码声明和独立性声明(可选)。 (4)处理指令:处理指令是为使用一段特殊代码而设计的标 (5) DOCTYPE声明:例142的第3行声明了根元素和文档类型 定义(DTD)参考一个外部文件 (6)注释:注释是不需要解析的说明部分,其格式为:,如例14.2的第4行。 (7) CDATA部分: CDATA部分把文本块和XML解析器分开, 使ⅹML解析器忽略标记的内容 (8)字符和实体引用 9)名称空间:可以用名称空间来区分元素名,避免名字冲 突 返回目录
(1)序言:文档开始至根元素之前, (2)元素:元素是XML文档的主体。标记是左尖括号()之间的文本。 (3)XML声明:XML声明必须出现在XML文档的第一行,包 括版本, 编码声明和独立性声明(可选)。 (4)处理指令:处理指令是为使用一段特殊代码而设计的标 记。 (5) DOCTYPE声明:例14.2的第3行声明了根元素和文档类型 定义(DTD)参考一个外部文件。 (6)注释: 注释是不需要解析的说明部分,其格式为:,如例14.2的第4行。 (7)CDATA部分:CDATA部分把文本块和XML解析器分开, 使XML解析器忽略标记的内容 。 (8)字符和实体引用 (9)名称空间:可以用名称空间来区分元素名,避免名字冲 突。 返回目录
重技数据类型定义 1.文档类型定义(DTD) 文档类型定义(DTD)可以在XML文档中出现的元素、这些元 素出现的次序、它们可以如何相互嵌套以及XML文档结构的其 它详细信息。 个元素声明的结构如下 返回目录
• 14.1.2 数据类型定义 • 1. 文档类型定义(DTD) • 文档类型定义(DTD)可以在XML 文档中出现的元素、这些元 素出现的次序、它们可以如何相互嵌套以及XML 文档结构的其 它详细信息。 • 一个元素声明的结构如下: • • 以 • • • • • • • 返回目录
子蓉模型说明,如果元素包含了任何子元素就在括号中列出,例 如:地址(姓名,省,城市,街道,邮政编码)。# PCDATA代表已解析字 符数据;不能在这些元素中包含另一个元素。DTD中的后缀符号: 问号(?)表示这一项是可选的它可以出现一次或根本不出现。加号(+) 表示这一项必须至少出现一次,但可出现任意次。星号(*)表示这 项可以出现任意次,包括零次。(空)这个元素只能存在一次。例如 表示元素 address须至少出现 次,但可出现任意次 (1)DTD属性 个DTD属性声明结构如下 (2)缺省声明: 2.XML模式( Schema) DTD并不是唯一可以存储XML文档规则的文档类型。有一系列的标 准提交W3C组织,所有这些标准都被称为XML模式。与DTD一样, XML模式用来验证XML文档的有效性。 返回目录
其内容模型说明,如果元素包含了任何子元素, 就在括号中列出,例 如:地址 (姓名, 省, 城市, 街道, 邮政编码)。#PCDATA 代表已解析字 符数据;不能在这些元素中包含另一个元素。DTD 中的后缀符号: 问号(?)表示这一项是可选的,它可以出现一次或根本不出现。加号(+) 表示这一项必须至少出现一次,但可出现任意次。星号(*)表示这一 项可以出现任意次,包括零次。(空)这个元素只能存在一次。例如 表示元素address必须至少出现一 次,但可出现任意次。 (1)DTD属性 一个DTD属性声明结构如下: (2)缺省声明: 2. XML 模式(Schema) DTD并不是唯一可以存储XML文档规则的文档类型。有一系列的标 准提交W3C组织,所有这些标准都被称为XML 模式。与DTD一样, XML 模式用来验证XML文档的有效性。 返回目录
解王文档转换 可扩展样式表语言转换(XSLT)通过样式表将一类XM文档转为其他形 式、结构和类型的XML文档或其他类型的文档(例如:HML文档)。 乂SIT描述了将源文档树转变为目标树的规则,构造目标树是通过模式匹配 和模板来完成的 1.XSLT常用的元素 xsl template:设计模块 语法: xsI: value-Of提取指定节点的数据 语法: Xsl if:用来封装一个模板体,只在语句检查为真时使用。返回目录
14.1.3 XML 文档转换 可扩展样式表语言转换(XSLT)通过样式表将一类XML文档转为其他形 式、结构和类型的XML文档或其他类型的文档(例如:HTML文档)。 XSLT描述了将源文档树转变为目标树的规则,构造目标树是通过模式匹配 和模板来完成的。 1. XSLT常用的元素 xsl:template:设计模块 语法: xsl:value-of:提取指定节点的数据 语法: select指定要提取的对象 xsl:for-each:循环获取节点的内容. 语法: xsl:if: 用来封装一个模板体,只在语句检查为真时使用。返回目录