|
以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 XML基础 』 (http://bbs.xml.org.cn/list.asp?boardid=1) ---- XML标记语言定义 (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=8377) |
|
-- 作者:hsower -- 发布时间:6/19/2004 2:11:00 PM -- XML标记语言定义 在XML出现之前,我们一般都是通过HTML语言来显示数据,为了能够更好的显示信息,HTML 可以和 CSS 一起用于格式化和表示超文本页面。当时随着Web的发展,静态的HTML已经不能满足人们的需要,人们需要在客户端能够对HTML剧本进行动态的控制。也就是说,希望能够通过交互的行为来改变HTML显示模式。这样就出现了DHTML(动态 HTML),DHTML通过 文档对象模型(DOM),使 HTML 中的所有元素,都可以通过与语言无关的脚本和其他编程语言来访问,从而在很大程度上提高了客户机端的交互能力,而且不需要对服务器的额外需求。页面的对象模型允许动态更改任何方面的内容(包括增加、删除和移动)。 但是以上的HTML,CSS,DHTML都是着重于对内容表现的处理,而缺少对内容本身的管理。这样就出现了XML标记语言。通过为结构化数据添加 XML,为开发人员提供了构造下一代丰富、灵活 Web 应用程序的技术。使用 XML,他们可以为桌面提供结构化数据,并且用 XML 对象模型计算数据。现在的开发人员可以在浏览器或者其他应用程序中,通过脚本显示基于 XML 的数据。 XML按照它字面的意思来说,就是扩展的文本标记语言的意思。也就是说它首先是一种文本标记语言,但是它不同于HTML,它是一个可扩展的文本标记语言。为了说明问题,我们举一个最简单的用XML编写的文本。例子如下(不妨命名为SimpleSample.xml): <?xml version="1.0" encoding="GB2312"?> 首先注意第一行,<?xml version="1.0" encoding="GB2312"?>,version表示XML的版本,因为解析器对不同的版本的解析肯定会有区别,尽管现在还没有正式的2.0版本。encoding表示解码方式,这里采用的汉字国标的解码方式,但是你也可以省略这个字段,如果省略的话,你就必须采用UNICODE的编码方式,也就是说要以UTF-8或者是UTF-16作为编码。一般推荐指定编码方式,以免产生乱码,这个在下面的章节会有更加详细的介绍。 第二行实际上是一个批注,也就是相当于C++中的注释,在C++中,我们是用"//"做起始符号表示注释的开始的。而在XML语言中,是用""做为结束的。 然后,我们注意第三行,<?xml-stylesheet type="text/css" href="SimpleSample.css"?>,因为XML是内容和表示形式分离的,类似MFC中的文档/视图结构,文档只关心内容,视图表示对内容的表现形式,这行代码就规定了内容的表现形式是由SimpleSample.css这个CSS来控制的,当然更加正宗的是用XSL作为XML的表现形式。 需要注意的是,以""结尾的标注被称为PI,它是Processing Instruction的缩写。PI的作用是用来告诉解析器这个文档的一些相关的信息的。比如上面示例文档的第一句就告诉解析器,我这个文档使用的是XML1.0的规范。第三句告诉解析器,请用SimpleSample.css来装饰并显示我的内容。 另外,从上面这个示例文档中,我们可以看到:与HTML一样,XML也是一个基于文本的标记语言,用标记(一对尖括号)来表示数据。不同的是,XML的标记说明了数据的含义,而不是如何显示它。例如,HTML用标记(< b >...< /b >)表示"粗体",而XML用标记(< message >...< /message >)表示信息的内容。比如<价格>里面的内容就表示是该书的价格。 另外需要注意的是,XML的标记由一对尖括号组成(< tag >...< /tag >),在它们之间是XML数据的一个元素。一个元素可以完全包含在另一个元素之中,这样就可以表示层次结构。XML与HTML的一个重大区别就是XML文档必须是格式良好(well-formed)的,它必须满足一些规则,比如标记不能交错嵌套等。如果没有DTD(Document Type Definition,文档类型定义),文档可以包含任何类型的标记。但如果XML文档有相应的DTD,那么它还需满足DTD所规定的语义。DTD规定在XML文档中可以包含的标记种类和有效布置。只有其结构、数据类型和数据关联等均满足DTD要求的XML文档,才能被称为有效的(validity)XML文档。 每个XML文档都有一个逻辑结构和物理结构。从物理角度来看,文档由实体单元组成,一个实体也可以在其他文档的实体中被引用。一个文档以一个根元素或文档实体来开始。从逻辑上讲,文档由声明(declaration)、元素(element)、注释(comment)、字符引用(character reference)和处理说明(processing instruction)组成。这些组成部分在文档的标记中必须明确规定。 物理结构从另一角度来规范XML文档。文档的起始标记和结束标记对数据进行结构化组织,并确定了元素的范围和相互之间的关系。 在XML文档中,除标记之外就是字符数据。一般的字符用其本身来表示,但这不适用于XML中的保留字符。例如,字符"&"和"<"只能作为标记定界符,或在注释、处理指令和CDATA字段中直接使用,其他情况下则需要用字符引用或特定的字符串来表示。这类字符是XML的预定义实体。比如用<来表示"<",用&gt来表示">"。 实际上,为了能够在不同的组织或单位之间进行信息的传递,就需要使用XML来创建特殊团体之间进行通讯的标准,当前已经存在的标记语言有开放式金融交换标记语言(Open Financial Exchange markup language),它为客户和银行之间的数据传送提供了一个框架结构。 |
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
265.625ms |