图书介绍

疯狂XML讲义pdf电子书版本下载

疯狂XML讲义
  • 李刚编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121097553
  • 出版时间:2009
  • 标注页数:496页
  • 文件大小:232MB
  • 文件页数:510页
  • 主题词:可扩充语言,XML-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

疯狂XML讲义PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章XML概述 1

1.1 XML的起源 2

1.1.1标记语言 2

1.1.2 XML的基本概念 3

1.1.3 XML和HTML 3

1.2 XML的优势 4

1.2.1简单易用的标记语言 4

1.2.2严格的格式 5

1.2.3数据逻辑和显示逻辑分离 5

1.3 XML和Java EE 6

1.3.1配置描述 6

指定Web组件的配置信息是不是只能采用web.xml文件呢? 7

1.3.2简化的数据交换 7

1.3.3 Web Services 8

1.4 XML的编辑工具 8

1.4.1普通文本编辑工具 8

1.4.2 XMLSpy简介 9

1.4.3使用XMLSpy编辑XML文档 9

1.4.4 Stylus Studio简介 11

1.4.5使用Stylus Studio编辑XML文档 11

1.5 XML的竞争对手 12

1.5.1 Java的Annotation 12

1.5.2轻量级的数据交换格式——JSON 15

1.6本章小结 17

第2章XML文档规则 18

2.1 XML文档的分类 19

2.1.1格式不良好的XML文档 19

2.1.2格式良好但无效的XML文档 20

2.1.3有效的XML文档 22

2.2 XML文档的整体结构 22

2.2.1有且仅有一个根元素 22

2.2.2元素必须合理结束 23

2.2.3元素之间必须合理嵌套 24

2.2.4元素的属性必须有值 24

2.3 XML声明 26

UTF-8不是兼容Unicode吗?那UTF-8也应该支持中文啊,为什么上面的XML文档会出现字符集错误的情况呢? 27

2.4 XML元素的基本规则 28

2.4.1合法的标签名 28

2.4.2嵌套子元素 29

2.4.3空元素 29

2.5字符数据 30

2.5.1使用实体引用 31

2.5.2使用CDATA标记 32

2.6注释 33

2.7处理指令 33

2.8 W3C对于属性的使用建议 35

2.9换行处理 36

2.10本章小结 36

本章练习 36

第3章DTD详解 37

3.1 XML语义约束 38

我一直有一个疑问:XML太“随意”了,我们想怎样定义元素都可以,想怎样嵌套子元素也行,想怎样定义属性也行,真的是这样吗? 38

3.2引入DTD 39

3.2.1内部DTD 39

3.2.2外部DTD 40

3.2.3公用DTD 41

3.3 DTD文档的结构 41

3.3.1验证XML文档的有效性 42

3.4定义元素 42

3.4.1定义任意类型的元素 43

3.4.2定义空元素 44

3.4.3定义字符串内容的元素 45

3.4.4定义混合内容 45

3.5定义子元素 47

3.5.1有序的子元素 47

3.5.2互斥的子元素 48

3.5.3子元素出现的频率 48

3.5.4组合子元素 49

3.5.5无序的子元素 51

上面的DTD中明明定义了<书名.../>、<价格.../>、<作者.../>和<简要介绍.../>4个元素之间具有互斥关系,它们怎么可以同时出现呢? 52

3.6定义元素属性 53

3.6.1对属性的约束规则 53

3.6.2定义属性类型 55

3.7定义实体 57

3.7.1定义实体 57

3.7.2定义参数实体 59

3.7.3外部实体 60

3.7.4外部参数实体 61

3.8定义符号 61

3.8.1未解析实体 62

XML文档里的内容不是应该由XML解析器负责处理吗?如果XML解析器不负责处理,那这些数据岂不是就失去作用了? 62

3.8.2 ENTITY和ENTITIES类型的属性 63

3.8.3 NOTATION类型的属性 63

3.9使用XMLSpy创建DTD 64

3.10本章小结 65

本章练习 65

第4章XML Schema基本语法 66

4.1 DTD和Schema 67

4.1.1 Schema概述及其优势 67

4.1.2 Schema在Java EE里的应用 68

4.2 XML Schema入门 69

4.2.1 XML Schema根元素 69

4.2.2在XML中引用无命名空间的Schema 70

4.2.3在XML中引用有命名空间的Schema 71

4.3 Schema中的注释 72

4.4理解Schema的数据类型 72

4.5 Schema内置类型 74

4.5.1字符串及相关类型 76

4.5.2数值类型 77

4.5.3日期、时间类型 78

4.5.4 boolean类型 80

4.5.5 anyURI类型 80

4.5.6二进制数据 81

4.6使用限制派生新类型 81

4.6.1指定基类型的两种方式 82

4.6.2指定类型的两种方式 84

4.6.3范围约束 86

4.6.4长度约束 86

4.6.5精度约束 86

4.6.6枚举约束 87

4.6.7正则表达式约束 88

4.6.8空白处理 88

4.7使用<list.../>派生列表类型 91

4.7.1限制列表类型 92

4.8使用<union.../>派生联合类型 94

4.8.1限制联合类型 96

4.9列表和联合结合使用 97

4.10阻止派生新的简单类型 98

4.10.1使用final属性 98

4.10.2为约束指定fiixed属性 99

4.11合并多个Schema 100

4.11.1使用include元素 100

4.11.2使用redefiine元素 101

4.11.3使用import元素 102

4.12 XML.Spy中关于Schema的操作 103

4.12.1创建新的Schema 103

4.12.2为XML创建Schema 104

4.12.3为XML分配Schema 104

4.13本章小结 105

第5章XML Schema高级知识 106

5.1使用anyType定义任意类型 107

5.2定义复杂类型 108

5.2.1定义复杂类型的方式 109

5.2.2扩展简单类型 109

既然派生复杂类型的方式有两种,那接下来是不是应该介绍“限制简单类型来派生复杂类型”了? 110

5.2.3包含属性的两种方式 111

5.2.4扩展包含简单内容的复杂类型 112

5.2.5使用派生类型的另一种方式 114

在上面的Schema中先定义了一个book_Type类型,然后扩展该类型增加了一个price属性,为何不在定义book_Type类型时一次性添加isbn、name和price三个属性,而非要一次一次地添加呢?这样做有实际意义吗? 114

5.2.6限制包含简单内容的复杂类型 115

5.2.7限制anyType派生新类型 116

为什么没有通过扩展anyType来派生新类型呢? 117

5.2.8包含子元素的两种方式 120

5.2.8空元素类型 123

5.2.9混合内容类型 124

5.3复杂类型的进一步派生 125

5.3.1限制空元素类型 125

5.3.2扩展空元素类型 126

5.3.3限制包含子元素的类型 127

5.3.4扩展包含子元素的类型 128

5.3.5限制混合内容类型 131

5.3.6扩展混合内容类型 133

5.4阻止派生新的类型 133

5.5通配符 135

5.5.1元素通配符 135

5.5.2属性通配符 137

5.6元素替换 138

5.6.1阻止自己被替换 139

5.6.2阻止指定派生类型的替换 141

5.7抽象元素和抽象类型 143

5.7.1抽象元素 143

5.7.2抽象类型 144

5.8一致性约束 145

5.8.1 key约束 147

5.8.2 unique约束 149

5.8.3 keyref约束 150

5.9元素组与属性组 152

5.10定义符号 153

5.11本章小结 154

本章练习 155

如何确定一个XML元素所在的命名空间呢? 157

第6章 命名空间详解 156

6.1使用命名空间 157

6.2 Schema的命名空间支持 159

6.2.1在Schema中使用命名空间 159

6.2.2命名空间对XML文档的作用 162

6.2.3为属性使用命名空间限定 166

6.2.4命名空间对一致性约束的影响 168

6.2.5局部元素和局部属性的强制限定 170

6.3命名空间和DTD 174

6.4本章小结 176

第7章 使用CSS显示XML文件 177

7.1样式单简介 178

7.1.1显示XML的两种常用样式单 178

7.1.2样式单的优势 178

7.2 CSS的基本用法 179

7.2.1 CSS基本语法 179

7.2.2引入外部样式文件 180

7.2.3使用内部CSS样式 181

7.2.4使用内联样式 183

7.3对XML文档有效的CSS选择器 184

7.4使用CSS显示XML 186

7.5本章小结 187

第8章 使用XSLT显示XML 188

8.1 XSL概述 189

8.2 XSLT入门 189

8.2.1 XSLT转换入门 189

XSLT为什么不直接将XML根元素当成根元素呢? 192

8.2.2使用template元素定义模板 192

8.2.3使用apply-templates处理子节点 193

8.2.4使用value-of输出节点内容 196

8.2.5匹配节点的模式 198

8.2.6 mode属性 200

8.3 XSLT转换分类 202

8.3.1客户端转换和服务器端转换 202

8.3.2 Xalan处理器 202

8.3.3 Saxon处理器 205

我发现用Saxon进行实时转换和用Xalan进行实时转换的JSP页面代码完全相同,这是为什么呢? 207

8.4 XSLT的内置模板规则 208

8.5流程控制元素 209

8.5.1分支处理 209

8.5.2循环控制 211

8.5.3排序控制 213

8.6控制空白的处理方式 215

8.7创建结果树 215

8.7.1创建元素和属性 216

8.7.2创建文本 221

8.7.3创建处理指令 222

8.7.4创建注释 222

8.7.5复制 223

8.7.6输出格式化数值 225

8.8变量和参数 230

8.8.1为变量和参数指定值 231

8.8.2全局和局部的变量和参数 232

8.8.3改变参数值 234

8.9使用命名模板 235

8.10包含和导入 238

8.10.1使用import导入 238

8.10.2使用include包含 239

8.10.3解决模板定义冲突 241

8.11 XSLT 1.1的fallback支持 241

8.12指定输出格式 242

8.12.1转换XML文档的相关格式 242

8.12.2转换HTML文档的相关格式 244

8.13 XSLT的内置函数 245

8.13.1使用system-property函数 245

8.13.2使用current函数返回当前节点集 246

8.13.3使用element-available和function-available函数 246

8.13.4使用unparsed-entity-uri函数 247

8.13.5使用document函数处理多个源XML文档 248

8.13.6使用format-number函数 250

8.13.7使用key函数 251

8.13.8使用generate-id函数 254

8.14 XSLT 2.0的常用新功能 255

8.14.1分组 255

8.14.2多文档输出 257

8.14.3字符映射 259

8.14.4 <xsl:value-of>元素的改进 260

8.14.5数据类型绑定 260

8.14.6正则表达式支持 261

8.14.7用户自定义函数 263

8.15使用XMLSpy管理XSLT操作 264

8.16本章小结 265

本章练习 265

第9章XPath语言详解 266

9.1 XPath语言简介 267

9.1.1 XPath节点 267

9.1.2 XPath基本概念 268

9.1.3节点关系 268

9.2绝对路径和相对路径 269

9.2.1 XPath基路径 269

9.3 XPath基础语法 270

9.3.1轴(axis) 271

9.3.2节点测试(node-test) 271

9.3.3限定谓语(predicate) 272

9.3.4简化写法 272

9.4运算符和表达式 273

9.4.1算术运算符 273

9.4.2比较运算符 274

9.4.3逻辑运算符 274

9.4.4组合多个路径的运算符 275

9.5 XPath 2.0新增的表达式 275

9.5.1 for表达式 275

9.5.2 if表达式 278

9.5.3 some/every判断表达式 279

9.6 XPath 2.0的类型支持 280

9.7内置函数库 281

9.7.1字符串相关函数 281

9.7.2数值相关函数 283

9.7.3日期和时间相关函数 284

9.7.4 boolean值相关函数 287

9.7.5节点相关函数 287

9.7.6序列相关函数 288

9.8本章小结 290

第10章DOM、 SAX和JAXP解析 291

10.1 DOM、 SAX和JAXP概述 292

接口的实现不是类吗,怎么接口的实现还是接口啊? 294

10.2 JAXP的DOM支持 297

10.2.1 XML文档和DOM模型 297

10.2.2 DOM树中的对象类型 298

10.2.3 DOM解析器 299

10.2.4使用DTD验证XML文档 300

10.2.5使用DOM解析XML文档 302

10.2.6使用DOM创建XML文档 304

10.2.7使用DOM修改XML文档 307

10.2.8解析DTD信息 308

如果我想获取DTD中的元素定义、属性定义等信息该怎么办? 311

10.2.9 DOM和命名空间 310

10.3 JAXP的SAX支持 312

10.3.1 SAX的处理机制 312

10.3.2 SAX解析器和监听器 313

为何XMLReader在调用时不需要传入SAX解析事件的监听器呢?SAX解析不是总是基于事件机制的吗? 314

XMLReader和SAXParser到底什么关系?我们到底应该用哪个呢? 316

10.3.3使用DTD验证XML的有效性 316

10.3.4使用SAX解析XML文档 317

10.3.5 SAX和命名空间 320

10.4 DOM和SAX的比较 323

10.5使用XML Schema验证XML文档 324

10.5.1 SchemaFactory和验证 324

上面的SchemaFactory的newInstance()方法中怎么还有一个schemaLanguage参数,它代表什么呢? 326

10.5.2获取节点的类型信息 328

10.6浏览器对DOM的支持 330

10.7本章小结 334

本章练习 334

第11章 使用dom4j处理XML文档 335

11.1 dom4j简介 336

11.1.1 dom4j的封装和优势 336

11.1.2下载和安装dom4j 337

11.2 dom4j常用API 338

11.3使用dom4j访问XML文档 339

11.3.1验证XML文档 339

11.3.2使用dom4j解析XML文档 340

11.3.3使用访问者模式遍历XML文档 342

11.4使用dom4j创建XML文档 344

11.5修改XML文档 345

11.6使用dom4j获取命名空间信息 346

11.7本章小结 349

本章练习 349

第12章 使用JDOM处理XML文档 350

12.1 JDOM简介 351

12.1.1 JDOM常用API 351

12.1.2下载和安装JDOM 352

12.2使用JDOM访问XML文档的实例 352

12.2.1验证XML文档的有效性 353

12.2.2使用JDOM解析XML文档 354

12.3使用JDOM创建XML文档 356

12.4修改XML文档 357

12.5使用JDOM获取命名空间信息 358

12.6选择dom4j还是JDOM 361

12.7本章小结 361

本章练习 361

第13章XQuery详解 362

13.1 XQuery简介 363

13.1.1 XQuery和XPath的关系 363

13.1.2 XQuery和XSLT的关系 363

13.2使用XQuery 364

13.2.1使用XMLSpy查看XQuery结果 365

13.2.2使用Saxon执行XQuery查询 366

13.3基本表达式(Primary Expressions) 367

13.3.1直接量(Literal) 367

13.3.2变量引用 367

13.3.3圆括号表达式 367

13.3.4上下文项表达式 367

13.3.5函数调用 367

13.4序列表达式 368

13.4.1构造序列 368

13.4.2过滤表达式 368

13.4.3组合节点序列 369

13.5算术表达式 370

13.6比较表达式 370

13.6.1值比较 371

13.6.2通用比较 371

13.6.3节点比较 371

13.7逻辑表达式 372

13.8构造器 373

13.8.1直接构造 373

13.8.2计算构造 373

13.9 FLWOR表达式 373

13.9.1 for、 let和return子句 374

13.9.2 where子句 375

13.9.3 order by子句 376

13.10 if表达式 376

13.11 some/every判断表达式 377

13.12与序列类型有关的表达式 378

13.12.1 instance of 378

13.12.2 typeswitch 378

13.12.3 cast 378

13.12.4 castable 379

13.13模块和序言 379

13.13.1序言 380

13.13.2版本声明 380

13.13.3模块声明 380

13.13.4设置器(setter) 381

13.13.5导入设置 382

13.13.6命名空间声明 384

13.13.7默认命名空间声明 384

13.13.8变量声明 385

13.13.9函数声明 386

13.13.10选项声明 387

13.14使用XQJ执行XQuery 388

13.14.1 XQJ和JDBC的类比性 388

JDBC API和接口我都知道,但JDBC实现好像很少听说啊? 389

13.14.2 XQJ的编程步骤 389

13.15 本章小结 392

第14章Web Services详解 393

14.1 XML和Web Services 394

14.1.1 Web Services概述 394

14.1.2 Web Services平台概述 395

14.1.3 Web Services的广泛应用 396

14.2 SOA和云计算 398

14.2.1 SOA和Web Services 398

14.2.2云计算和Web Services 399

14.3 XML和SOAP协议 400

14.3.1 SOAP基本语法 400

14.3.2 Header元素 401

14.3.3 Body元素 403

14.3.4 Fault元素 403

14.4 XML和WSDL 404

14.4.1 WSDL基本语法 404

14.4.2 portType元素 409

14.4.3 binding元素 411

14.4.4 service元素 412

14.4.5 WSDL和UDDI 413

14.5使用CXF开发Web Services 413

14.5.1 CXF概述 414

14.5.2下载和安装CXF 414

14.5.3使用CXF开发Web Services 415

是否必须将Web Services服务接口的.class文件复制到客户端呢? 422

14.5.4动态客户端 421

14.5.5整合Spring开发Web Services 423

14.5.6为Web Services增加权限控制 425

14.6本章小结 429

第15章 基于XML的电子公告系统 430

15.1系统设计 431

15.1.1系统组件的交互关系 431

15.2设计XML文档 431

15.2.1保存状态的XML文档 432

15.2.2定义XML Schema 434

15.3定义XSLT样式单 436

15.3.1为公告列表定义样式单 436

15.3.2为用户评论设计样式单 438

15.4实现控制器 441

15.4.1添加公告 441

15.4.2查看评论列表 444

为什么不直接将XML文档保存在Web应用根路径下呢?这样不是就可以让浏览者直接访问这些XML文档了么 446

15.4.3添加评论 445

15.5本章小结 447

本章练习 447

第16章Web Services案例——电子拍卖系统 448

16.1系统功能简介和架构设计 449

16.1.1系统功能简介 449

16.1.2系统架构设计 450

16.2持久层设计 450

16.2.1系统实体 451

16.2.2系统E-R图和数据表 451

16.2.3实现Hibernate PO 453

16.2.4管理SessionFactory 461

16.3实现系统DAO层 462

16.3.1 DAO的基础配置 464

16.3.2实现系统DAO组件 464

16.3.3配置系统DAO组件 470

16.4实现业务逻辑层 471

16.4.1定义业务逻辑组件接口 471

16.4.2依赖注入DAO组件 473

16.4.3业务逻辑组件中的异常处理 474

16.4.4处理用户竞价 476

16.4.5判断拍卖物品状态 478

16.4.6事务管理 480

16.4.7配置业务层组件 481

16.5使用CXF提供Web Services 483

16.5.1启用CXF支持 484

16.5.2实现Web Services 485

16.5.3测试Web Services 490

16.6本章小结 491

本章练习 492

精品推荐