本书涵盖3大主题——Java、XML以及数据库。整本书以XML为中心,内容则偏重于Java程序语言所支持的XML功能,并引入个人计算机上最为著名的数据库——SQL Server 2000,来说明并示范某些XML规范。书中采用“操作向导”的编排方式,即使读者一时无法理解程序语言含义,也可以通过实际操作来细细体会。本书借助合理的内容结构,在很大程序上方便了初识Java、XML与SQL Server 2000等相关技术的读者阅读与学习。\r\n 书中所附光盘中包含书中各章的完整范例文件,可有效提高用户的学习兴趣与学习效果。\r\n 本书是程序设计员与计算机专业的学生学习XML与Java技术扩展应用的良好教材。
第1章 简介与安装\r\n\r\n1.1 简介\r\n1.1.1 SAX\r\n1.1.2 JAXP\r\n1.1.3 Xerces\r\n1.1.4 JDOM\r\n1.2 获得软件\r\n1.3 安装Java\r\n1.4 安装SQL Server 2000\r\n1.5 小结\r\n\r\n第2章 XML介绍\r\n\r\n2.1 标记语言\r\n2.1.1 HTML\r\n2.1.2 SGML\r\n2.1.3 HTML与XML\r\n2.1.4 SGML与XML\r\n2.1.5 XML的目标\r\n2.2 XML编辑器\r\n2.3 XML解析器\r\n2.3.1 XML的逻辑结构\r\n2.3.2 内部与外部实体\r\n2.3.3 特殊字符实体\r\n2.3.4 不可拆解实体\r\n2.4 格式良好的XML文件\r\n2.4.1 XML版本声明\r\n2.4.2 根节点\r\n2.4.3 所有标记须嵌套排列\r\n2.4.4 所有标记须成对出现\r\n2.4.5 空标记\r\n2.4.6 标记与属性的命名原则\r\n2.4.7 属性值必须用引号括起来\r\n2.5 小结\r\n\r\n第3章 Java介绍\r\n\r\n3.1 Java简介与数据类型\r\n3.2 运算符\r\n3.3 修饰符\r\n3.4 流程控制与例外处理\r\n3.5 对象与类别\r\n3.6 多线程\r\n3.7 小结\r\n\r\n第4章 解析XML文件\r\n\r\n4.1 Java的XML解析器\r\n4.2 SAX的XMLReader\r\n4.3 内容处理程序\r\n4.4 Locator\r\n4.5 文件的开始与结束\r\n4.6 处理命令\r\n4.7 名称空间前置字符串\r\n4.8 元素的开始与结束\r\n4.9 文字数据\r\n4.10 可忽略的项目\r\n4.11 XML解析范例程序\r\n4.12 解析正确的XML文件\r\n4.13 错误处理程序\r\n4.13.1 取得错误发生的位置\r\n4.13.2 警告\r\n4.13.3 一般错误\r\n4.13.4 致命错误\r\n4.14 一个完整的XML处理程序\r\n4.15 解析错误的XML文件\r\n4.16 小结\r\n\r\n第5章 DTD介绍(一)\r\n\r\n5.1 合法的XML文件\r\n5.2 内部DTD与外部DTD\r\n5.3 内部DTD与外部DTD的合并使用\r\n5.4 元素\r\n5.5 不限制素材的元素\r\n5.6 结构符号\r\n5.7 递归式声明\r\n5.8 在一个实体中引用另一个实体\r\n5.9 参数式实体引用\r\n5.10 合并使用多个外部DTD\r\n5.11 在XML文件中使用注释\r\n5.12 IGNORE与INCLUDE\r\n5.13 CDATA关键词\r\n5.14 小结\r\n\r\n第6章 DTD介绍(二)\r\n\r\n6.1 CDATA属性类型\r\n6.2 枚举属性类型\r\n6.3 NMTOKEN属性类型\r\n6.4 NMTOKENS属性类型\r\n6.5 ENTITY属性类型\r\n6.6 ENTITIES属性类型\r\n6.7 NOTATION属性类型\r\n6.8 ID属性类型\r\n6.9 IDREF属性类型\r\n6.10 IDREFS属性类型\r\n6.11 #IMPLIED属性默认类型\r\n6.12 #REQUIRED属性默认类型\r\n6.13 #FIXED属性默认类型\r\n6.14 固定的默认字符串\r\n6.15 #PCDATA的默认属性xml:lang\r\n6.16 #PCDATA的默认属性xml:space\r\n6.17 小结\r\n\r\n第7章 检验XML文件\r\n\r\n7.1 解析器的属性与特征\r\n7.2 设置解析器的检验功能\r\n7.3 检验具有内部DTD的XML文件\r\n7.4 检验具有外部DTD的XML文件\r\n7.5 检验在一个实体中引用另一个实体的XML文件\r\n7.6 检验使用参数式实体的XML文件\r\n7.7 检验具有多个外部DTD的XML文件\r\n7.8 检验具有枚举属性的XML文件\r\n7.9 检验具有NMTOKENS属性的XML文件\r\n7.10 检验具有ENTITY属性的XML文件\r\n7.11 检验具有NOTATION属性的XML文件\r\n7.12 检验具有ID属性的XML文件\r\n7.13 检验具有IDREF属性的XML文件\r\n7.14 检验具有#IMPLIED属性默认类型的XML文件\r\n7.15 检验具有#REQUIRED属性默认类型的XML文件\r\n7.16 检验具有固定默认字符串属性的XML文件\r\n7.17 DTDHandler接口\r\n7.18 一个具有DTD处理程序的解析范例\r\n7.19 小结\r\n\r\n第8章 XSL样式表\r\n\r\n8.1 使用XSL样式表\r\n8.2 XSL的元素与其属性\r\n8.3 在XSL中使用HTML\r\n8.4 xsl:stylesheet元素\r\n8.5 xsl:template元素\r\n8.6 xsl:value-of元素\r\n8.7 xsl:for-each 元素\r\n8.8 xsl:apply-templates元素\r\n8.9 xsl:copy元素\r\n8.10 xsl:attribute元素\r\n8.11 xsl:element元素\r\n8.12 xsl:if元素\r\n8.13 xsl:choose/xsl:when/xsl:otherwise元素\r\n8.14 小结\r\n\r\n第9章 名称空间、XML DOM与XPath\r\n\r\n9.1 名称空间\r\n9.2 XML DOM\r\n9.3 微软的XML DOM对象\r\n9.3.1 XMLDOMDocument对象的方法、属性与事件\r\n9.3.2 XMLDOMNode对象的方法与属性\r\n9.3.3 XMLDOMNodeList对象的方法与属性\r\n9.3.4 XMLDOMNamedNodeMap对象的方法与属性\r\n9.3.5 XMLDOMParseError对象的属性\r\n9.4 Xpath简介\r\n9.5 XPath的位置路径\r\n9.6 Xpath的简化语法结构\r\n9.7 Xpath核心函数\r\n9.8 小结\r\n\r\n第10章 Java的DOM相关功能\r\n\r\n10.1 DOM解析器\r\n10.2 DOM解析器的输出\r\n10.3 DOM结构树\r\n10.4 DOM的节点类型\r\n10.4.1 处理文件节点\r\n10.4.2 处理元素节点\r\n10.4.3 处理文字节点\r\n10.4.4 处理CDATA节点\r\n10.4.5 处理PI节点\r\n10.4.6 处理实体引用节点\r\n10.4.7 处理DocumentType文件节点\r\n10.5 一个DOM处理程序范例\r\n10.6 使用DOM处理程序打印XML文件的DOM结构树\r\n10.7 小结\r\n\r\n第11章 JDOM\r\n\r\n11.1 新增XML文件\r\n11.2 DocType\r\n11.3 ProcessingInstruction\r\n11.4 Element\r\n11.5 Comment\r\n11.6 属性\r\n11.7 输出XML文件\r\n11.8 新增XML文件的范例\r\n11.9 SAXBuilder\r\n11.10 DOMBuilder\r\n11.11 在现有文件基础上建立XML文件\r\n11.12 小结\r\n\r\n第12章 JAXP的XML解析功能\r\n\r\n12.1 DefaultHandler\r\n12.2 计算每一标记出现的次数\r\n12.3 DocumentBuilder\r\n12.4 DocumentBuilderFactory\r\n12.5 打印XML文件的DOM结构树\r\n12.6 小结\r\n\r\n第13章 XML查询语言\r\n\r\n13.1 虚拟目录管理\r\n13.2 新增虚拟目录\r\n13.3 使用HTTP存取SQL Server\r\n13.4 在HTTP中声明一个简单的查询\r\n13.5 使用HTTP执行模板文件\r\n13.6 使用范例文件执行简单SQL查询\r\n13.7 使用XPath查询SQL Server数据\r\n13.8 SQL Server 2000支持的Xpath功能\r\n13.9 在一个URL中的XPath查询\r\n13.10 声明位置路径\r\n13.11 XPath查询范例\r\n13.12 提取context节点的子元素\r\nI3.13 提取context节点的下下层元素\r\n13.14 使用..声明父层axis\r\n13.15 声明attribute axis\r\n13.16 在Xpath查询中声明布尔值predicate\r\n13.17 声明多个predicate\r\n13.18 在XPath查询中声明关系运算\r\n13.19 在XPath查询中声明关系运算并使用布尔函数比较结果\r\n13.20 在XPath查询中声明算术运算\r\n13.21 在XPath查询中声明布尔运算\r\n13.22 小结\r\n\r\n第14章 XML Schema\r\n\r\n14.1 使用加注释XDR纲要新增XML视图\r\n14.2 XDR纲要的注释\r\n14.3 对应一个元素到一个数据库字段\r\n14.4 将XDR元素与属性对应至表与字段\r\n14.5 使用<sql:relationship>声明对应关系\r\n14.6 在<attribute>中声明<sql:relationshiop>以使用ID/IDREFS新增文件引用\r\n14.7 声明间接式的关联性\r\n14.8 使用sql:is-constant注释新增常数元素\r\n14.9 使用sql:limit-value注释选取特定的数据记录\r\n14.10 使用sql:key-fields注释识别键值字段\r\n14.11 数据类型强制转换\r\n14.12 在属性中声明dt:type \r\n14.13 在属性中声明sql:datatype\r\n14.14 使用sql:use-cdata注释新增CDATA区段\r\n14.15 XML undategram功能简介\r\n14.16 在XML updategram中使用NULL数值\r\n14.17 使用XML updategram新增数据记录\r\n14.18 使用XML updategram修改数据记录\r\n14.19 在XML updategram中使用交易\r\n14.20 使用XML updategram删除数据记录\r\n14.21 传递参数给XML updategram\r\n14.22 小结\r\n\r\n附录A HTML简介\r\n\r\nA.1 文字属性\r\nA.1.1 标题字\r\nA.1.2 对齐控制\r\nA.1.3 注释\r\nA.2 段落与换行\r\nA.2.1 水平线\r\nA.2.2 blockquote\r\nA.2.3 所见即所得\r\nA.2.4 ol与li\r\nA.2.5 ul与li\r\nA.3 表格属性\r\nA.3.1 表与外框\r\nA.3.2 表的背景颜色\r\nA.3.3 表字段的对齐方式\r\nA.4 文件内的超链接\r\nA.5 框架属性\r\nA.5.1 以框架水平分割网页\r\nA.5.2 框架分界的宽度\r\nA.5.3 框架的外框\r\nA.5.4 框架窗口的卷动\r\nA.5.5 超链接的对象\r\nA.6 项目属性\r\nA.6.1 输入单选项目\r\nA.6.2 输入复选项目\r\nA.6.3 输入文字\r\nA.6.4 输入密码\r\nA.6.5 下拉列表框\r\nA.6.6 输入大量文字\r\n\r\n附录B SQL简介\r\n\r\nB.1 兆阳计算机用品大盘商\r\nB.2 执行脚本文件新建示范数据库\r\nB.3 使用Query Analyzer执行SQL语句\r\nB.4 选取特定的字段\r\nB.5 选取唯一的数值\r\nB.6 选取子字符串\r\nB.7 选取特定的数据记录\r\nB.8 选取介于某一个范围的数据\r\nB.9 识别NULL数值\r\nB.10 搜索完全相等的字符串\r\nB.11 搜索子字符串\r\nB.12 使用ORDER BY子句\r\nB.13 使用算数表达式\r\nB.14 搜索单一长度的任意字符串\r\nB.15 GROUP BY子句\r\nB.16 常用的汇总函数\r\nB.16.1 COUNT函数\r\nB.16.2 SUM函数\r\nB.16.3 AVG函数\r\nB.16.4 MAX函数\r\nB.16.5 MIN函数\r\nB.17 集合数据排序与HAVING子句\r\nB.18 在一个SELECT语句中使用两个表\r\nB.19 在一个SELECT语句中使用子查询\r\nB.20 新增数据记录\r\nB.21 删除数据记录\r\nB.22 修改数据记录的内容\r\n\r\n附录C JAXP的API\r\n\r\nC.1 Attributes接口\r\nC.2 ContentHandler接口\r\nC.3 DefaultHandler类\r\nC.4 DocumentBuilder类\r\nC.5 DocumentBuilderFactory类\r\nC.6 DTDHandler接口\r\nC.7 ErrorHandler接口\r\nC.8 Locator接口\r\nC.9 SAXException类\r\nC.10 SAXParseException类\r\nC.11 XMLReader接口\r\nC.12 XMLReaderFactory类\r\n\r\n附录D Xerces的API\r\n\r\nD.1 Document接口\r\nD.2 DOMParser类\r\nD.3 NamedNodeMap接口\r\nD.4 Node接口\r\nD.5 NodeList接口\r\n\r\n附录E JDOM的API\r\n\r\nE.1 Document类\r\nE.2 DOMBuilder类\r\nE.3 ProcessingInstruction类\r\nE.4 Element类\r\nE.5 Comment类\r\nE.6 SAXBuilder类\r\nE.7 XMLOutputter类
Java刚开始是Sun公司为小型的嵌入式系统而设计的,但是其最重要的功能却在于设计小程序,为客户端提供安全而且丰富的网页内容。Java是一种高安全性的程序语言,它的特性非常适合用来开发客户/服务器式应用程序。因为它是跨平台的语言,所以也非常适合使用于大型的多主机系统结构之中。Java是一种面向对象的程序语言,对熟悉面向对象语言的程序设计师来说,可以很快上手而不会造成学习上的困难。
标记语言(Markup Language)由文字与符号所组成。当然,所谓的文字不一定就是英文字母。如果以结构性来加以区分,则标记语言由标记与代码所组成,而这些标记与代码主要用以告诉应用程序如何去执行。标记语言只定义文件的结构、含义以及表现方式,至于如何外在表现文件则是应用程序的工作。
HTML为一种特殊用途的标记语言,它将所有的标记都定义了特定意义。但是当这些标记无法满足用户的需求时,唯一的办法就是在应用程序上处理。因此两大浏览器Internet Explorer与Netscape Communicator均为此各自新增了许多功能。但是这些新增的功能并不一致,所以造成HTML失去灵活性,同一个网页在另一个浏览器上可能无法达到预期的效果。
XML的设计目标并不是要去取代HTML,它们设计的目的不同。就范畴来看,XML允许用户定义实例,针对实例去定义其属性与标记,进而使用标记与属性来制作实例;HTML已经针对WWW应用定义好所有标记的涵义,用户只能使用现有的标记来制作实例。
XML的目标是制作可移植数据,而Java是一种跨平台的程序语言,所以以Java来处理XML文件是一种非常好的选择。Java加上XML则意味着以跨平台的程序语言来处理可移植数据,这也是本书所要传达的一个普遍而直观的理念。
从总体上讲,本书包含了3大主题——Java、XML以及数据库。整本书以XML为中心,除了介绍什么是XML以外,内容偏重于介绍Java程序语言所支持的XML功能。XML的某些功能与数据库有着密切的关系,因此本书也将以个人计算机上最为著名的数据库——SQL Server 2000为平台,来说明并示范某些XML规范。
本书采用“操作向导”的编排方式,就算读者一时无法理解程序语句的含义,也可以通过实际操作来细细体会。如果您已精通Java,请跳过第3章;如果您还不熟悉HTML,请参考附录A;如果您尚未接触过SQL,也请您阅读附录B。可以说,本书为希望掌握XML与Java在SQL Server 2000数据库上整合应用技术的用户提供了最为合理的设计。当然,内容的丰富性与完整性也是本书编写上的一个最大特点。
另外,由于科技专用术语大多是以英文来描述的,所以本书关于专有名词的翻译,其着眼点为易于理解与保留原义,且不宜过长。本书是专为动态网页设计师而编写的,作者以深入浅出的笔调、长期的程序设计经验以及循序渐进的内容安排,使得学习新知识不再是一件苦差事。