computer 版 (精华区)

发信人: lyl (一条四处游荡的鱼), 信区: network
标  题:  XML结构 
发信站: 听涛站 (Fri Apr 28 21:20:15 2000), 转信

发信人: kyoshiro (千面狂死郎), 信区: XML
标  题: XML结构
发信站: BBS 水木清华站 (Thu Apr  6 15:07:35 2000)
转自<<中国XML联盟>>
XML语言,XML名域和DOM是W3C建议的,这是W3C发展过程中决定性的一步。由于它们已经
成挝 正式的规范,开发人员能够用XML的格式标记和交换数据。XML在三层架构上为数据
处理提供了很好的方法。
  使用可升级的三层模型,XML可以从存在的数据中产生出来。使用XML结构化的数据
可以以从商业规范和表现形式中分离出来。数据的集成、发送、处理和显示是下面过程
中的每一个步骤.我们看下图的总结
 
数据结构,名域
  XML名域允许开发人员在可识别的情况下定义元素的名称,以避免同名元素间产生冲
突  在一个文档中使用的元素,比如购买单,可以在不同的schemas中被定义。名域保
证元素名称不会产生冲突,并且阐明了各个元素的来源,但是不能决定如何处理元素。
解析器必须知道每个元素的意
义和如何处理它们。
  来源于不同名域中的标记可以混合在一起,这是从不同来源过来的数据所必须具备
的。。有了名域,元素既可以存在于相同的以XML为基础的文档中,也可以存在于不同的
schemas中,说明唯一的语义。例如,在书店的购买单上,一个”title”元素可以包含
一个书名,另一个”title”?
素可以包含作者名。
  W3C已经发布了XML的名域,允许元素服务于URI。即使不同的作者选择同样的元素名
称# 也不会辨识不清。随着任何人都能发布自?的主页或者浏览他?的主页,名域的功能
允许使用者定义个人的术语字典或者使用公布的公用名域。
<orders xmlns:person="http://www.schemas.org/people"
        xmlns:dsig="http://dsig.org">
  <order>
    <sold-to>
      <person:name>
        <person:last-name>Layman</person:last-name>
        <person:first-name>Andrew</person:first-name>
      </person:name>
    </sold-to>
    <sold-on>1997-03-17</sold-on>
    <dsig:digital-signature>1234567890</dsig:digital-signature>
  </order>
</orders>
  这段编码告诉读者如果一个元素是以"dsig"打头,它的意义是由http://www.dsig.o
rg/档拿 域所定义的。同样,以”person”打头的元素的意义是由http://www.schemas
.org/people的名域所定义的。
  名域保证元素名称不会冲突,也阐明了元素是由谁定义的。它并不给出如何处理元
素的的指令。读者仍然需要知道元素的意义,并且决定如何处理它们。名域只是针对元
素名称。处理人员能够定义元素的数据类型和内容的格式。可以使用数据类型名域的dt
属性来达到这一目的?
<sold-on dt:dt="date"
             xmlns:dt="urn:schemas-microsoft-com:datatypes">
1997-03-17
</sold-on>
  在这里,"data"说明"sold-on"元素的内容是按照标准格式的,这种格式是由数据类
型妹 域说明的。有了元素名称,处理人员终于可以设计他们自?的数据类型,也能使用
共享的类型。微软正同W3C一起定义一套标准类型,并且已经在IE5中提供部分支持XML
Schema的第一份数据类型清单。
数据发送,处理
  由于XML是开放的、基于文本的格式,它可以通过HTTP像HTML一样传送.桌面上的数
据可可以用DOM处理.代理商将支持XML更新功能,使得中间层或数据服务器上数据的变化
可以传递给客户,反之亦然.因此,代理商能够从客户端得到更新的数据,并把数据传送到
储存服务器上
解析XML
  IE5中的XML解析器能够读入一串XML数据,经过处理,产生一棵结构树,并且使用D
OM把把所有数据元素作为对象。解析器用CSS或XSL样式表显示数据,或者用脚本把数据
进行进一步的处理,或者把数据移交给另外的应用软件或对象进行进一步的处理。DOM用
扩展方式支持名域、数据类?
、查询和XSL转化。
使用文档对象模式(DOM)处理和编辑数据
  DOM实际上是一个应用编程接口(API),用来定义一种标准方法。通过这种方法,
开发发人员能够处理XML结构树的元素。对象模式控制着使用者如何同结构树交流,并且
把所有树的元素作为对象暴露出来?
用HTML显示XML数据
  XML文档自身不能决定如何显示信息。XML数据只包含事实。HTML是一个理想的显示
语言言。举个例子来说,网上书店的店员可以访问主页寻找订单。在后端,个人数据记
录是用XML表示的。但是,在前端,它们是用HTML表示的。为了构造这个主页,Web服务
器和Web浏览器都需要把XML数?
记录转变为用HTML来表示。
数据捆绑和样式表可以用来把XML数据组织成形象化的表达形式,并加上交互功能。数据
捆 绑是动态HTML(DHTML)的一个方面,它把单独的数据从信息源(例如XML文档)移动
到HTML显示上来,允许把HTML作为显示XML数据的模块。微软把XML数据源对象(XML DS
O)作为IE5的一部分。XML
DSO能够在XML数据岛基础上被调用。
  XSL(可扩展类型语言)能够进一步加强这一过程。一个XSL样式表包括如何从XML文
档种心 出信息以及如何把它转变为另一种格式的指令。XML转变为另一种格式,比如HT
ML,采用的是一种公布了的方法,这比采用脚本编写简单而且容易理解。另外,XSL把X
ML作为它的语法,使XML的编
写者不用去掌握另外的标识语言。
  CSS仍然被应用于结构简单的XML数据,并且也很有用。但是,CSS不提供与数据源结
构膊 同的数据显示结构。使用XSL,可以产生与原来的XML数据结构完全不同的表达结构
。如下所示。
  XSL提供内容和表现形式的语义和结构独立性。
增加HTML
  给HTML页增加语义信息并不容易。很多程序曾经试图用一些非标准的方法来解决这
一问问题,比如在HTML注释中隐藏数据。但是,这样的注释是很难使用的,对象模式并
不能理解它们?
  为了解决这一问题,W3C定义了一个格式,用来把基于XML的数据放到HTML页中。通
过使使用数据岛(data islands),扩展HTML允许很大范围的应用软件使用HTML作为主
要文档和显示格式,并且使用这些文档中内含的XML保存数据?
  一个HTML页包含有关这一页主题的特殊数据。例如,如果这一页显示一位作者最近
一部部小说的广告,这一页也包括有关这本书的XML数据,比如ISBN序号、出版者或者是
价格。这些信息显不显示并不重要,重要的是这些信息作为数据可被获得和理解?
转换和查询XML
  随着XML作为在Web上交换数据的一种标准方式的出现,不可避免地种种需要就会产
生,,比如查询XML、制作压缩数据、对数据分类和过滤以及转换XML语法。XSL和XSL模
式语言提供了满足这些需要的一种方法?
  XSL模式是简明的语法用来识别XML文档的节点,建立在节点类型、名称、内容和与
树中中其他节点相关的前后联系的基础上?
  XSL提供了一种语法,使XSL模式查询的结果与模板有关,使XML源文档中的数据具体
化 ML语法可以输出,以供分类和过滤,或者把一个schema中的数据转化到另一个sc
hema中去。
  W3C正考虑开发出更强大的查询语言,但开发小组还没有建立。
设置字符和编码
  XML中的信息都是用统一的字符编码标准编写的。包括元素的内容和名称。因此XML
支持持所有的国际字符的表现形式?
  统一的字符编码标准可以直接转换为16位字符,但更通常的是把它转换为方便使用
的或或者是简化的某种语言的编码。XML支持广泛的编码,只要一个文档中使用同一种编
码?
空格符
  不同于HTML在多数情况下忽略空格符,XML是针对数据的,因此通过xml:space属性
可以以保留空格。例如,下面两种情况是不同的?
<title xml:space="preserve"><composer>Tchaikovsky</composer>'s
            First Piano Concerto</title>
<title xml:space="preserve">
  <composer>Tchaikovsky</composer>'s
  XML中的信息都是用统一的字符编码标准编写的。包括元素的内容和名称。因此XML
支持中其他节点相关的前后联系的基础上?
  统一的字符编码标准可以直接转换为16位字符,但更通常的是把它转换为方便使用
的或。XML语法可以输出,以供分类和过滤,或者把一个schema中的数据转化到另一个s
chema中去。
空格符
  不同于HTML在多数情况下忽略空格符,XML是针对数据的,因此通过xml:space属性
可以
<title xml:space="preserve"><composer>Tchaikovsky</composer>'s
            First Piano Concerto</title>
<title xml:space="preserve">
  <composer>Tchaikovsky</composer>'s
  First
  Piano Concerto
</title>
  在IE5中xml:space="default"这一取值在标记间加入了一些装饰用的空格符。
--

--
与其相濡以沫,不若相望于江湖。

http://10.23.31.91/
http://10.23.31.91:9999

※ 来源:.听涛站 cces.net.[FROM: 匿名天使的家]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.456毫秒