本书是XML初学者的完美学习资源,它清晰地说明了XML是什么,XML的用法以及与它相关的技术。本书在前几版的积累基础上,对全部内容进行了更新,涵盖了XML的最新技术,如XOuery、RSS、Atom、Aiax等。在讲解开发XML解决方案时,书中给出了大量来源于实践的最优方法案例,这些案例都体现了最新的XML规范。
本书能帮助您快速从XML的基础知识提升到更为高级的编程技术中,您将深入钻研XML和数据库的使用艺术,包括如何查询XML信息、检索XML数据和创建新的XML文档等等。此外,您还将学会如何在Web上发布信息、设计动态交互的图形、制作交互式表单等。
本书自第1版出版以来,一直是广大程序员学习XML的优秀入门教程。该书全面详实地介绍了XML的基本语法、基本用途和常用的开发工具和方法。全书共21章,分为8个专题。主要内容有XML基本语法、DTD、XML Schema、RELAX NG、XPath、XSLT、XQuery、DOM、SAX、RSS、Web服务、Ajax、SOAP、CSS、XHTML、SVG和XForms等,每章都有习题,书后附有参考答案,可帮助你全面掌握XML及其应用方法。
第Ⅰ部分 引言
第1章 什么是XML
1.1 数据、文件和文本
1.1.1 二进制文件
1.1.2 文本文件
1.1.3 标记语言的简史
1.2 什么是XML
1.2.1 XML能给我们带来什么好处
1.2.2 HTML和XML——苹果与鲜艳可口的苹果
1.2.3 信息的层级结构
1.2.4 什么是文档类型
1.2.5 究竟什么是文档类型
1.3 XML标准的诞生
1.3.1 万维网联盟
1.3.2 XML的组成
1.4 XML的应用
1.4.1 减轻服务器负荷
1.4.2 Web站点内容
1.4.3 分布式计算
1.4.4 电子商务
1.5 小结
1.6 习题
第2章 良构的XML文档
2.1 解析XML文档
2.2 标签、文本和元素
2.3 属性
2.4 注释
2.5 空元素
2.6 XML声明语句
2.6.1 version属性
2.6.2 encoding属性
2.6.3 standalone属性
2.7 处理指令
2.8 非法的PCDATA字符
2.8.1 转义字符
2.8.2 CDATA文本段
2.9 XML中的错误
2.10 小结
2.11 习题
第3章 XML名称空间
3.1 为什么需要名称空间
3.1.1 使用前缀
3.1.2 为什么XML不直接使用这些前缀
3.2 XML名称空间的运行机制
3.2.1 默认的名称空间
3.2.2 不同的符号就一定不同吗
3.2.3 名称空间和属性
3.3 理解URI
3.3.1 URL
3.3.2 URN
3.3.3 为什么用URL而不是URN表示名称空间
3.3.4 名称空间URI的真实含义
3.3.5 RDDL
3.4 什么时候使用名称空间
3.5 小结
3.6 习题
第Ⅱ部分 验证
第4章 文档类型定义
4.1 运行实例
4.1.1 准备工作
4.1.2 文档类型声明
4.2 词汇共享
4.3 解剖一个DTD
4.3.1 元素声明
4.3.2 属性声明
4.3.3 实体
4.4 开发DTD定义
4.5 DTD的局限性
4.5.1 DTD语法
4.5.2 XML名称空间
4.5.3 缺少数据分类
4.5.4 受限的内容模型描述
4.6 小结
4.7 习题
第5章 XML Schema
5.1 XML Schema的优点
5.1.1 XML Schema使用XML语法
5.1.2 XML Schema支持名称空间
5.1.3 XML Schema的数据类型
5.1.4 XML Schema的内容模型
5.2 我们还需要DTD吗
5.3 XML Schema
5.3.1 XML Schema文档
5.3.2 实例运行
5.3.3 <schema>声明
5.3.4 <element>声明
5.3.5 <complexType>声明
5.3.6 <group>声明
5.3.7 内容模型
5.3.8 <attribute>声明
5.3.9 <attributeGroup>声明
5.3.10 用简单内容和属性创建元素
5.3.11 数据类型
5.3.12 <simpleType>声明
5.4 创建一个来自多个文档的模式
5.4.1 <import>声明
5.4.2 <include>声明
5.5 XML Schema的开发文档
5.5.1 注释
5.5.2 来自其他名称空间的属性
5.5.3 注解
5.6 小结
5.7 习题
第6章 RELAX NG
6.1 XML与紧凑型语法
6.2 RELAX NG样式
6.3 样式和语法的组合、重用
6.3.1 命名样式
6.3.2 组合命名的样式定义
6.3.3 用include指令实现模式的模块化
6.3.4 重定义插入的命名样式
6.3.5 用notAllowed属性删除样式
6.3.6 扩展和限制
6.3.7 嵌套语法
6.4 RELAX NG的其他特性
6.4.1 名称空间
6.4.2 名称类
6.4.3 数据类型
6.4.4 表样式
6.4.5 注释与分区
6.5 资源链接
6.6 小结
6.7 习题
第Ⅲ部分 处理过程
第7章 XPath
7.1 XML文档的表示方法
7.2 XML文档的模型
7.3 可视化XPath
7.3.1 理解上下文
7.3.2 什么是XPath的结点
7.3.3 XPath 1.0的类型
7.4 简写语法和详写语法
7.5 XPath 1.0轴
……
第8章 XSLT
第Ⅳ部分 数据库
第9章 XML查询语言——XQuery
第10章 XML与数据库
第Ⅴ部分 程序设计
第11章 文档对象模型(DOM)
第12章 XML简单API
第Ⅵ部分 通信
第13章 RSS、Atom和内容聚合
第14章 Web服务
第15章 SOAP和WSDL
第16章 Ajax
第Ⅶ部分 显示
第17章 样式表(CSS)
第18章 XHTML语言
第19章 可缩放矢量图形(SVG)
第20章 XForms
第Ⅷ部分 案 例 研 究
第21章 案例研究——抵押贷款计算器
第22章 案例研究——基于Ruby on Rails架构的抵押贷款计算器
附录A 习题参考答案
附录B XPath参考
附录C XSLT参考
附录D XML文档对象模型
附录E XML Schema元素与属性
参考手册
附录F XML Schema数据类型
附录G SAX 2.0.2参考手册