具体描述
本书详细介绍了可扩展标记语言(X
作者简介
目录信息
译者的话
前言
第一部分 XML基础篇
第1章 介绍XML
1.1什么是XML
1.1.1XML是一种元标记语言
1.1.2XML是一种语义/结构化标记语言
1.2为什么用XML
1.2.1特殊的域标记语言
1.2.2通用数据格式
1.2.3数据交换
1.2.4结构化数据
1.3XML简史
1.4XML程序
1.5相关技术
1.5.1HTML
1.5.2CSS
1.5.3XSL
1.5.4URL和URI
1.5.5链接
1.5.6Unicode
1.6XML应用程序
1.6.1化学标记语言
1.6.2数学标记语言
1.6.3Microsoft的通道定义格式
1.6.4古典文化
1.6.5同步化多媒体集成语言
1.6.6开放软件描述
1.7小结
第2章 XML入门
2.1你好,XML
2.1.1创建一个简单的XML文档
2.1.2保存XML文件
2.1.3检查简单的XML文档
2.2为XML标记指定语义和样式含义
2.3为XML文档准备样式表
2.4浏览XML
2.4.1把XML静态地转变成HTML
2.4.2把XML动态地转变成HTML
2.5把Web页转换成XML
2.5.1为这些书籍定义标记
2.5.2为前端事情选取标记
2.5.3为标题选取标记
2.5.4为标识选取标记
2.5.5检查和查看XML文档
2.5.6为最终文档写一个样式表
2.6 小结
第3章 正规化XML
3.1定义XML文档
3.2XML中的文本
3.3注释
3.4实体参考
3.5CDAIA
3.6标记
3.6.1名称
3.6.2空标记
3.7属性
3.8结构性XML
3.8.1以一个XML声明开始
3.8.2匹配开始标记和结束标记
3.8.3用/>结束空标记
3.8.4一个元素完全包含其他元素
3.8.5标记可以嵌套,但是不能重叠
3.8.6属性值必须用引号引起来
3.8.7分别使用<和&来开始标记
和实体
3.8.8使用&;,<;,>;, ';
和";作为实体参考
3.9小结
第4章 XSL
4.1XSL是什么
4.1.1使用XSL处理器
4.1.2了解XSL是如何工作的
4.2XSL中的HTML
4.3样式属性
4.3.1样式继承性
4.3.2样式选择
4.4选择目标
4.4.1根规则
4.4.2子元素和父元素
4.4.3通配符
4.4.4属性
4.4.5位置(Position)
4.4.6冲突解决方案
4.5执行动作
4.5.1增加内容
4.5.2选择
4.6宏(Macro)
4.7引入样式表
4.8样式规则
4.9命名样式
4.10在XML标记中包括样式
4.11模式
4.12JavaScript
4.12.1作为属性值的脚本
4.12.2Eval
4.12.3函数声明
4.12.4XML对象模型
4.12.5内置函数
4.12.6脚本(SCRIPT)标记
4.13链接到样式表
4.14小结
第二部分 XML提高篇
第5章 在XML文档中使用DTD
5.1使用DTD
5.1.1在文档中包括DTD
5.1.2研究DTD
5.1.3验证文档
5.2研究文档的结构
5.3建立DTD
5.3.1元素类型声明
5.3.2规范子元素
5.3.3使子元素可选
5.3.4标记零个或者多个子元素
5.3.5一个或者多个子元素
5.4合并元素
5.4.1允许作者选取元素
5.4.2嵌套括号
5.4.3使用混合内容
5.5空标记
5.6小结
第6章 汇编来自多个数据源的文档
6.1实体
6.1.1通用实体参考
6.1.2参数实体参考
6.1.3外部实体参考
6.2在文档中共享公用的DTD
6.2.1远程DTD
6.2.2公共DTD
6.3合并DTD
6.3.1为一个文档创建单独的DTD
6.3.2用外部参考数实体参考链接DTD
6.3.3组织文档的结构
6.3.4创建一个把页面捆绑一起的DTD
6.4内部和外部DTD
6.5进程指令
6.6表示法和未语法分析实体
6.7情况节
6.8小结
第7章 用属性描述元素
7.1定义属性
7.2在DTD中声明属性
7.3多个属性
7.4属性的缺省值
7.4.1Required
7.4.2Implied
7.4.3Fixed
7.5属性类型
7.5.1CDATA
7.5.2枚举型
7.5.3NMTOKEN
7.5.4NMTOKENS
7.5.5ID
7.5.6IDREF
7.5.7ENTITY
7.5.8ENTITIES
7.5.9NOTATION
7.5.10枚举型NOTATION
7.6预定义的属性
7.6.1xml:space
7.6.2xml:lang
7.7小结
第8章 国际字符集
8.1像本地人一样讲话
8.2脚本、字符集 字体和符号
8.2.1字符集
8.2.2字体为字符提供符号
8.2.3输入方法允许输入文本
8.2.4应用程序和操作系统软件
8.3主要的字符集
8.3.1ASCII
8.3.2ISO字母
8.3.3标准是坏的(Apple版)
8.3.4标准是坏的(Microsoft版)
8.3.5Unicde
8.3.6UTF8
8.3.7UCS
8.4用Unicode写
8.4.1Unicode字符参考
8.4.2Unicode的转变
8.5用其他字符集写XML
8.6小结
第9章 XLinks和XP0inters
9.1为什么使用XLL
9.2XLinks
9.2.1本地链接的描述
9.2.2远程资源的描述
9.2.3链接策略
9.3扩展链接
9.4外部链接和链接组
9.4.1Steps
9.4.2DTD
9.5XPointers
9.5.1绝对位置术语
9.5.2相对位置术语
9.5.3选择规则
9.5.4跨越位置
9.6小结
第三部分 XML实践篇
第10章 用CDF推出Web站点
10.1创建通道
10.1.1确定通道内容
10.1.2创建CDF文档
10.1.3把页面链接到通道
10.2通道属性
10.3通道子元素
10.3.1内容描述
10.3.2Logos
10.4高级的CDF
10.4.1调度修改
10.4.2登录阅读者访问
10.4.3确认通道中的页面
10.4.4使用MicrosoftUsage属性
10.5推出软件修改
10.6小结
第11章 从头开发一个DTD
11.1组织数据
11.1.1找到元素
11.1.2找到基本单位
11.1.3创建关系
11.2个人DTD
11.3家庭DTD
11.4家庭树
11.5小结
第四部分 附录
A 国际文本
A.1ASCII字符集
A.2ISO-8859
A.3ISO-8859-1(Latin-1)
A.4MacRoman
A.5WindowsANSI
A.6Unicode
A.7编码名称
A.8ISO-639双字母语言代码
A.9ISO-3166双字母国家代码
B 可扩展标记语言(XML)1.0
摘要
本文档的状况
B.1介绍
B.1.1原始和目标
B.1.2术语
B.2文档
B.2.1结构性XML文档
B.2.2字符
B.2.3通用语法结构
B.2.4字符数据和标记
B.2.5注释
B.2.6进程指令
B.2.7CDATA节
B.2.8序言和文档类型声明
B.2.9外围设备文档声明
B.2.10空格处理
B.2.11行尾处理
B.2.12语言确认
B.3逻辑结构
B.3.1开始标记、结束标记和空标记
B.3.2元素类型声明
B.3.3属性列表声明
B.3.4条件节
B.4物理结构
B.4.1字符实体参考
B.4.2实体声明
B.4.3语法分析的实体
B.4.4XML处理器处置实体和参考
B.4.5构造内部实体替代文本
B.4.6预定义的实体
B.4.7标注声明
B.4.8文档实体
B.5一致性
B.5.1验证和非验证处理器
B.5.2使用XML处理器
B.6标注
C 附加资源
C.1XMLFAQ
C.2说明书和标准
C.3开发工具
C.3.1验证语法分析器
C.3.2非验证语法分析器
C.3.3XML浏览器
C.4信息站点
C.4.1XML.com
C.4.2Microsoft的XML页
C.4.3RobinCover的XMLWeb页
C.4.4JamesClark的XMResources
C.4.5CafeconLeche
C.5讨论XML
C.5.1xm1-dev
C.5.2XML-L
C.5.3comp.text.xmI
D 快速参考 序言标记
D.1XML声明
D.2文档类型声明
D.2.1内部文档类型声明
D.2.2外部文档类型声明
D.2.3合并的文档类型声明
D.3ELEMENT标记声明
D.4ATTLIST标记声明
D.5ENTITY标记声明
D.5.1内部通用实体声明
D.5.2外部通用实体声明
D.5.3内部参数实体声明
D.5.4 外部参数实体声明
D.6NOTATION标记声明
E术语
F 其他
· · · · · · (收起)
读后感
用户评价
《XML实用教程》给我最深的感受是,它并非一本“看完就丢”的书,而更像是一本值得反复翻阅的参考手册。书中提供的很多技巧和最佳实践,都来自于作者在实际项目中的经验总结。比如,在讲解XML的解析技术时,书中不仅介绍了DOM和SAX这两种主流的解析方式,还详细分析了它们各自的优缺点,以及在不同场景下的适用性。更重要的是,作者还给出了一些关于如何优化XML解析性能的实用建议,比如如何避免不必要的内存占用,如何选择合适的解析器。这些细节之处的讲解,对于提升程序的效率和稳定性,起到了至关重要的作用。我常常会在遇到性能瓶颈时,翻阅相关章节,总能从中找到解决问题的灵感。
这本书的排版设计和语言风格,也为我的阅读体验增色不少。《XML实用教程》在文字表述上,力求简洁明了,避免使用过于晦涩的专业术语。即便是涉及到一些复杂的技术概念,作者也能用通俗易懂的比喻来解释,让初学者也能轻松掌握。同时,书中大量的代码示例,都有清晰的注释,并且风格统一,便于阅读和复制。这一点对于我这样喜欢动手实践的学习者来说,至关重要。我常常会边读边敲代码,对照书中的示例进行修改和实验,这种交互式的学习方式,让知识真正地内化于心。
《XML实用教程》的作者在组织内容上,可谓是煞费苦心。我特别喜欢它在介绍完XML的基本概念后,立刻引入了对XML in Action的讨论。书中列举了多个真实世界的XML应用案例,比如RSS订阅、Atom Feed、以及各种行业标准的数据格式。通过这些生动的实例,我能够更加直观地理解XML的灵活性和可扩展性,以及它如何被广泛地应用于不同的领域。这种“学以致用”的学习模式,极大地激发了我进一步探索XML技术的热情。它让我明白,XML不仅仅是一堆标签的堆砌,更是构建现代信息系统的重要基石。
《XML实用教程》的魅力,在于它能够将复杂的技术问题,用一种非常直观且易于理解的方式呈现出来。我尤其欣赏书中对DTD(文档类型定义)和XSD(XML Schema)的详细比较分析。过去,我常常混淆两者的概念,觉得它们都是用来约束XML文档结构的,但具体差异却模糊不清。这本书则通过层层递进的讲解,先介绍了DTD的简洁性和易用性,再深入剖析了XSD在数据类型定义、约束条件、命名空间支持等方面的强大功能和灵活性。书中给出的多个对比案例,更是将两者的优劣势一目了然地展现出来,让我能够根据不同的需求场景,选择最合适的验证方式。这种严谨而清晰的讲解,极大地提升了我解决实际问题的能力。
《XML实用教程》的深度和广度,都让我印象深刻。它不仅仅满足于讲解XML的基础知识,更深入地探讨了XML与相关技术栈的集成。我尤其关注书中关于XML数据库和XML解析库的介绍。对于XML数据库,它不仅仅是列举了几个产品,更是分析了它们在数据存储、查询、管理方面的特点和优势。而对于XML解析库,它则提供了如何在Java、Python等主流编程语言中高效使用这些库的指导。这些内容,极大地扩展了我对XML应用场景的认知,也为我在实际项目中选择合适的工具提供了宝贵的参考。
这本书的价值,远不止于对XML基础知识的介绍。我发现,《XML实用教程》在探讨XML的高级应用方面,也做得非常出色。比如,它对XPath和XSLT的讲解,可以说是点睛之笔。XPath作为一种强大的查询语言,能够帮助我们精准地定位XML文档中的数据,而XSLT则可以将XML文档转换成我们需要的各种格式,例如HTML页面、纯文本,甚至是另一种XML结构。书中大量的代码示例,不仅展示了XPath查询的简洁高效,也说明了XSLT在数据转换和样式应用中的巨大潜力。我曾遇到过一个将XML数据导入到关系型数据库的难题,通过学习书中关于XSLT的转换规则,我找到了新的思路,大大简化了数据迁移的过程。
总而言之,《XML实用教程》是一本我强烈推荐给所有希望深入了解XML的读者的书籍。它以一种循序渐进、由浅入深的方式,带领读者一步步掌握XML的核心概念和高级技巧。书中丰富的示例、严谨的论述、以及对实际应用场景的关注,都让这本书成为了一本不可多得的实用指南。在我看来,这本书不仅教会了我“如何使用XML”,更重要的是,它让我理解了“为何要使用XML”,以及“XML在现代技术体系中扮演着怎样的角色”。这种由“术”到“道”的升华,是我从这本书中最大的收获。
读《XML实用教程》的过程,就像是在进行一场深度探索。书中关于XML基本语法部分的讲解,并非简单罗列标签、属性的定义,而是通过大量生动形象的例子,将抽象的概念具象化。例如,它在讲解元素嵌套时,并没有止步于“<parent><child>...</child></parent>”这样枯燥的句式,而是结合了实际应用场景,比如一篇XML文档如何构建一个图书目录,每个图书的标题、作者、ISBN都如何被精确地标记,这种“由点及面”的教学方式,让我对XML的结构化数据组织能力有了更为深刻的体会。更值得称赞的是,作者并没有回避XML中可能遇到的疑难点,比如命名空间的冲突、CDATA区的正确使用时机,都给予了详尽的解释和实用的建议。阅读过程中,我常常会停下来,回味作者的论述,试图在自己的实际工作中找到可以应用的地方,这种理论与实践的结合,让学习变得更加有意义。
坦白说,在阅读《XML实用教程》之前,我对XML的理解更多停留在“表面的语法”。这本书让我看到了XML在数据交换、数据存储、数据处理等多个领域的深层应用。例如,它在探讨XML与Web Services的结合时,清晰地阐述了SOAP协议的工作原理,以及XML如何在其中扮演着传递消息体的关键角色。书中对XML在配置文件、日志记录等场景下的应用也进行了深入的剖析,让我认识到XML并非只是技术人员的“工具”,它在提高系统可读性、可维护性方面同样功不可没。这种宏观的视角,帮助我跳出了单一的技术框架,去理解XML在整个IT生态系统中的价值。
初次翻开《XML实用教程》,我怀揣着的是对这个“数据标记语言”既熟悉又陌生的复杂心情。熟悉,是因为它早已渗透到我们日常工作的方方面面,从Web服务到配置文件,无处不在;陌生,则在于其背后蕴含的严谨结构和多种应用场景,总是让我觉得隔了一层窗户纸。这本书的出现,恰好填补了我对于XML体系化认知上的空白。我特别喜欢它开篇对XML起源和发展历程的铺垫,这不仅仅是历史的陈述,更是让我理解为何XML拥有如此强大生命力的重要铺垫。它清晰地勾勒出SGML的演变,以及XML如何在保持SGML核心优势的同时,又大大简化了语法,使其更加易于解析和应用。这一点对于我这样并非科班出身的技术人员来说,尤为重要,能够快速建立起宏观的认识,避免了在细节中迷失。