分享
 
 
 

XML标记语言定义

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

在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之间不准有空格,这就是xml语法严格性的一个体现 -->

<?xml-stylesheet type="text/css" href="SimpleSample.css"?>

<2000年阅读书籍>

<书籍>

<书名>ATL开发指南

<作者>Tom Armstrong

<作者>Ron Patton

<出版社>

<名称>电子工业出版社

<地址>北京市海淀区万寿路173信箱

<出版日期>2000-11

<价格>56元

<评论>

呵呵,让您失望了,我还在阅读,不过感觉讲到了一些技术细节。

要不,你也搞一本自己去看看?

<书籍>

<书名>Inside Server-Based Application

<作者>Douglas J.Reilly

<出版社>

<名称>北京大学出版社

<地址>北京市海淀区中关村北京大学校内

<出版日期>2000-09

<价格>98元

<评论>

贵是贵了一点,不过你要真成了服务器端编程的牛人,钱还不<BR>是大大的?呵呵,这是书评么?

首先注意第一行,<?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),它为客户和银行之间的数据传送提供了一个框架结构。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有