Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12669
  • 博文数量: 21
  • 博客积分: 466
  • 博客等级: 下士
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-16 16:35
文章分类

全部博文(21)

文章存档

2011年(21)

我的朋友

分类: Java

2011-04-09 09:02:01

第12章 对象和XML: 可移植的数据

XML是在两个可能完全不同的系统之间定义和传输数据的标准机制。通过使用面向对象的语言结合面向对象定义语言(如XML),在不同的目标之间移动数据就更高效和安全。XML为一些独立的应用程序共享数据提供了一种机制。

可移植代码

商业环境中主要存在的问题:数据存储格式的多样性。例:Alpha公司用Oracle数据库,Beta公司用SQL Server数据库。

XML提供了以不同方式移动数据的一些标准。

“垂直”移动:数据通过多个行业团体进行移动。

“水平”移动:特定于某个行业。

可移植数据:在信息级别创建高级别的可移植能力。位于位级的数据肯定是不可移植的。

可扩展标记语言(XML

HTML:其目的是安排数据的格局并显示数据,并不校验它。

XML:侧重于数据检验的问题。它对格式的要求比HTML更严格。

XMLHTML

HTML表现数据,XML描述数据。

XML提供了HTML没有提供的优点:有效且格式规范的文档。

HTML标记都是预定义的,不能添加自己的标记,这对于其用于格式化数据没有问题。

XML是用于定义数据的,那么就必须创建自己的标记名称。于是产生了文档类型定义的文档(Document Type Definition, DTD),在该文档中定义用来描述数据的标记。

XML和面向对象语言

XML和面向对象语言协作来提供所讲到的可移植数据。

Alpha公司提出一个XML规范,该规范描述完成交易并把信息保存在它的数据库中所需要的信息。Java语言可以用来从Alpha公司SQL Server 数据库中提取数据并创建基于约定标准的XML文档。然后可以将该XML认证文档通过Internet发送给Beta公司,Beta公司使用约定的XML标准,从XML文档中提取信息并把它输入到Oracle数据库中。

应用程序到应用程序的数据转换

分析器是读取文档并提取特定信息的程序。

在两个公司之间共享数据

Alpha公司提供一个DTD(supplier.dtd)

注意:各标记是嵌套的,且只有最后的标记包含所有数据。

PCDATA代表分析特征数据,它是从文本文件中分析出的简单的标准特征信息。

用文档类型定义检验文档

DTD集成到XML文档中

Beta公司的XML文档(beta.xml),包括DTD

supplier SYSTEM "supplier.dtd">  //把该文档同刚才定义的供应商DTD联系起来

The Beta Company

10222 Ontar St

OH

24566

vaculm cleaner

50.00

20

可以用XML Notepad工具辅助XML文档的开发。此外,它还可以检测到无效文档,即不遵守DTD规范的XML文档。

使用层叠样式表

CSS大量的用于在HTML领域中格式化内容,同样也可以用CSS来格式化XML

面向对象的开发远远超过OO语言的范围,它还包括数据。

XML数据插入到SQL Server数据库的表中:使用系统存储过程sp_xml_preparedocument OPENXML函数。

把数据库表结构生成一个XML文档:使用SQLFOR XML子句。

例:SELECT EmployeeID,FirstName,LastName FROM Employees FOR XML AUTO, XMLSCHEMA

阅读(317) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~