reille注:
XML完整教程可从我的资源上下载到,下载地址为:http://download.csdn.net/source/3465952,本人浏览了下,对于掌握XML是一本不可多得的电子书籍,希望对你有所帮助~~
1、XML的产生
SGML,HTML,XML,这些都是标记语言。利用这些标记可以使文档规范化格式化 以便于信息的整理与交流。 这些标记语言的发展经历了一个过程。 首先产生了SGML,正是由于 SGML 的应用随后产生了 WEB 和 HTML 语言, 由于 HTML 语言满足不了日益复杂的 WEB 信息交流的需要,因此发展到了 XML 语言。
2、XML的基本概念
2.1 元素
元素就是文档的组件,元素可由其他元素、其他类型数据等组成。
元素的关系:
XML必须有根元素,好比是HTML中的<html>元素一样。因XML元素名称可自定义,所有名称最好能与内容有逻辑上的关联。
元素命名规则:
元素的命名上不像HTML有固定的要求,XML元素的名称可以自定义,但要注意名称不能含有空格和":"符号。
2.2 属性
属性可以包含元素额外的信息。
弱点:
1). 不能含多重数值
2). 扩展能力有限
3). 不能描述结构内容
4). 难以用DTD进行测试
2.3 文档类型定义
文档类型定义(DTD)是关于标记符号使用的语法规则。(明确文档中标记符号的使用)
2.4 模式(Schema)
和DTD有点类似,不同的是它可以定义元素内使用数据的类型
2.5 命名空间(Namespace)
XML可自定义元素名称,为了防止各用户使用的名称出现重复而又代表不同的内容,就得用到命名空间。
2.6 CSS与XSL
XML的内容与表现形式是分开的,用户可以根据自己的需要来定义表现形式
CSS可以表现HTML和XML文件
XSL可以表现XML文件以及语言转形(XSLTransformation)
两者各有特点,可相互补充
2.7 链接
目前HTML的链接只能做到单一方向,而不能到达某一特殊的位置,也无法轻易创建外部页间的链接。
XML的链接包括:
Xpath:
主要目的是进行部分而不是整个XML文档的实际寻址
XLink:
利用XML句法创建结构来描述目前的HTML的单向链接以及更复杂的多端和多类型的链接。XLink的重要部分是定义两个或多个数据对象或对象部分之间的关系
XPointer:
建立在Xpath的基础上以支持到XML文档的内部结构中的寻址。因此可以使用XML标记联接到另一个文档的特殊部分而不必提供ID引用
2.8 DOM(文档对象模型)
XML文档对象模型将XML文档的内容实现为对象模型。
要使用DOM得有相应的解析器。VBscript和IE可以用CreateObject方法来实现:
set objParser = CreateObject("Microsoft.XMLDOM")
如使用的是ASP则:
set objParser = Server.CreateObject("Microsoft.XMLD
3、XML的结构
3.1 XML的数据结构,命名空间
命名空间允许开发人员在可识别的情况下定义元素的名称,以避免同名元素间产生冲突。
<orders xmlns:person="http://www.h3bbs.com"xmlns:dsig="http://blog.h3bbs.com">
<order>
<sold-to>
<person:name>
<person:last-name>wei</person:last-name>
<person:first-name>shen</person:first-name>
</person:name>
</sold-to>
<sold-on>2006-04-07</sold-on>
<dsig:digital-signature>123456789</dsig:digital-signature>
</order>
</orders>
这段编码告诉读者:如果一个元素是以dsig打头那它的意义是由http://blog.h3bbs.com的命名空间所定义的。同样以person打头的元素的意义是由http://www.h3bbs.com的命名空间所定义的。命名空间保证元素名称不会冲突,同时也阐明了元素是由谁定义的。它并不给出如何处理元素的指令,但读者仍然需要知道元素的意义并且决定如何处理它们。
3.2 数据发送,处理
由于XML是基于开发式和文本式的,所以它能够通过HTTP像HTML那样传输。
桌面上的数据可以用DOM处理,这是使得数据服务器上数据的变化能传递给客户,反过来也一样。
3.3 解析XML
IE5中的XML解析器能够读入一串XML数据,经过处理产生一棵结构树,并可使用DOM把所有数据元素作为对象解析器,用CSS或XSL样式表显示数据或者用脚本把数据进行进一步的处理或者把数据移交给另外的应用软件或对象进行进一步的处理。DOM用扩展方式支持命名空间数据类型查询和XSL转化
3.4 使用文档对象模式DOM处理和编辑数据
DOM实际上是一个应用编程接口,用来定义一种标准方法,通过这种方法开发人员能够处理XML结构树的元素。对象模式控制着使用者如何同结构树交流并且把所有树的元素作为对象表现出来
3.5 用HTML显示XML数据
XML文档自身不能决定如何显示信息而HTML是一个理想的显示语言。
数据捆绑和样式表可以用来把XML数据组织成形象化的表达形式并加上交互功能。
XSL能够进一步加强这一过程,一个XSL样式表包括如何从XML文档中取出信息以及如何把它转变为另一种格式的指令。XML转变为另一种格式比如HTML采用的是一种公布了的方法这比采用脚本编写简单而且容易理解,另外XSL把XML作为它的语法使XML的编写者不用去掌握另外的标识语言。
CSS仍然被应用于结构简单的XML数据并且也很有用,但是CSS不提供与数据源结构不同的数据显示结构。使用XSL可以产生与原来的XML数据结构完全不同的表达结构,XSL提供内容和表现形式的语义和结构独立性
3.6 增加HTML
HTML页增加语义信息并不容易,为了解决这一问题W3C定义了一个格式用来把基于XML的数据放到HTML页中,通过使用数据岛(data islands)扩展HTML,允许很大范围的应用软件使用HTML作为主要文档和显示格式并且使用这些文档中内含的XML保存数据。
3.7 转换和查询XML
XML语法XSL和XSL模式语言提供了满足XML转换和查询所需要的方法。XSL模式是简明的语法用来识别XML文档的节点,它还提供了一种能将XML的数据从一种模式转换成另外一种模式。
3.8 设置字符和编码
3.9 空格符
在HTML中空格符是会被忽略的,但XML是描述数据的语言,可以使用xml:space属性来保留空格。
4、常见的问题
4.1 XML是为了取代HTML而发展的吗?
XML与HTML被制定设计的目标是不一样的。HTML是为网页设计而制定的,所以HTML着重在如何将文件资料显示出来,而XML是要制定一种高弹性与扩展性的标记語言,使其能广泛应用在WWW上的电子文件,主要着重在如何将文件结构化以方便资料的交换。网页资料当然也是一种电子文件,所以XML的应用范围包含到网页但这并不代表XML就要取代HTML。HTML在网页设计上依然会扮演一个重要的角色非XML短时间能取代