分享
 
 
 

新手入门之浅谈XML和HTML的关系

王朝html/css/js·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

对于XML我是初学者。以前也只是向往和略微听说过它的作用。这学期开了E-Business的课程,也要讲XML的。所以就这次作业做了一些资料的参考和对照,发现了很多有意思的东西。拿出来跟大家共勉。因为也不是自己应用过的体会,所以有不准确和不够彻底的地方希望能够被理解。(注意:图示自己画的,字是自己敲的,规律是自己总结的,只有源码是原封COPY别人的.希望各位同学不要“完全“窃取别人的劳动成果,谢谢哈)

惯例性的,先介绍一下几个名词,以便在后面的叙述中不会有理解上的误会。

HTML(Hypertext Markup Language),被译成超文本标记语言。它的特点是能够处理文档结构, 字形字体, 版面布局, 链接, 等超文本文档结构, 使Web浏览器能够阅读和重新格式化任何Web页面。使用的面积很广,相信大家都多少有所认识。

XML(Extensible Markup Language) ,被译成可扩展标记语言。 它是进行标记语言设计的元语言(Meta Language),XML是包括把信息从一处移到另一处(甚至在不同的软件产品和平台之间)的任何项目框架。它旨在通过简单数字到复杂数据结构以及人类可阅读文本等各种内容的交换而是计算机系统协同作业。而一旦可以交换信息,计算机就可以协同作业了。

SGML(Standard Generalized Markup Language),全称是通用标识语言标准。它是标志语言的标准,也就是说所有标志语言都是依照SGML制定的,当然包括HTML。SGML的覆盖面很广,凡是有一定格式的文件都属于SGML,比如报告,乐谱等等,HTML是SGML在网络上最常见的文件格式。而XML则是SGML的简化版,只不过省略了其中复杂和不常用的部分。和SGML一样,XML也可以应用在金融,科研等各个领域。

XHTML (Extensible Hypertext Markup Language) 不言而喻,是HTML和XML的结合。它是未来网页设计编写的未来。

由于学术界讲究的是没有绝对的正确,所以很多人对这三者的关系各有所见。所以根据我的理解,从不同的角度阐释一下这四者的关系。

1.

从历史发展的历程上和彼此的影响上来讲,

http://www.eztg.com/toad/others/11249547432414120.jpg

简单的陈述就是:最早有了SGML,然后产生了HTML,在SGML和HTML已经成熟发展的基础上,针对HTML的一些不理想的方面设计产生了XML,它特意避免了很多HTML不合理的地方和SGML冗余的地方。XHTML则是为了更好的利用HTML的显示特性和XML的数据分离处理特性而设计的。

2. 从语言的构成关系上来讲,

http://www.eztg.com/toad/others/11249547432429570.jpg

简单的陈述就是:4者都是SGML的子集。他们的彼此生成关系像图中所示。也就是XML作为一种元语言可以生成HTML。

掌握这些基础之后,我们可以研究一下HTML和XML的联系与区别到底有哪些。其实在国外的一些技术论坛上很少有人探讨XML与HTML的关系,更火热的是XML和SGML的关系,以及HTML是否会被XHTML所取代。然而,中国国内却有很多人在探讨我们的题目的问题。这足可以说明,我们的软件理论与技术和西方国家还是有差距的,无论从时间发展上,还是从技术水平上。

他们的相似点无非都是文本语言,来自SGML,使用标记(tag),有相似的语法结构。更明显的是不同的地方。我还是从不同的角度去对这种语言进行比较。并且,请注意的是,这里并没有明确地指出哪个是本质的区别,因为观察问题的角度不同,得到的结论也就各有千秋。请看:

1. 从语言历史和特性上说,XML既是HTML的兄弟,又是它的第二个母亲;HTML的标记很死板,XML则允许可准确地描述我们想知道的东西的自定义标准。也就是创建自己的标记符集。

这是HTML:

<pp200 laptop

<brFriendly Computer Shop

<br$1438

这是XML:

<product

<modelp200 Laptop</model

<dealerFriendly Computer Shop</dealer

<price$1438</price

</product

在浏览器中,这两段代码可能一样,但XML数据是一种智能(smart)数据。它可以自己定义型号(model),经销商(dealer)和价格(price)这样便于我们自己了解的和记忆的标记,而HTML则必须有<br这样的死板标记。

2.从实际的功能上来看,早期的HTML是把数据和显示融合在一起的,不可分离。而有了XML的出现,我们可以把数据和显示分离。我们使用HTML进行显示,把数据放在XML中。这样的分离对我们来说是熟悉的。大家都使用过JAVA,C#这样的纯面向对象(OO)语言,也在System analysis课程的结业设计中探讨过OO的架构思想。所以对OO是再熟悉不过的了。XML的出现带来的数据和显示分离的技术和思想正是来自于OO。这样在不同的平台上显示什么样的网页,是HTML的事情,放在.htm或.htm文件中。而数据是不变的,都存放在.xml文件中。

下面是一个例子,

将下面代码存为myfile.htm

<html

<head

<script language="javascript" for="window" event="onload"

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

xmlDoc.async="false";

xmlDoc.load("myfile.xml");

nodes = xmlDoc.documentElement.childNodes;

title.innerText = nodesitem(0).text;

author.innerText = nodes.item(1).text;

email.innerText = nodes.item(2).text;

date.innerText = nodes.item(3).text;

</script

<title在HTML中调用XML数据</title

</head

<body bgcolor="#FFFFFF"

<b标题: </b

<span id="title" </span

<b作者: </b

<span id="author"</span

<b信箱: </b

<span id="email"</span

<b日期:</b

<span id="date"</span

</body

</html

将下面代码存为myfile.xml

<?xml version="1.0" encoding="GB2312"?

<myfile

<titleXML轻松学习手册</title

<authorajie</author

<emailajie@aolhoo.com</email

<date20010115</date

</myfile

将它们放在同一个目录下,用IE5以上版本浏览器打开,可以看到效果。 学习并掌握一种script,你将真正了解到XML无比的强大的功能。看出来显示和数据的分离性了吧?

3. 从web显示的意义上讲,HTML可以在Web page上显示,而XML自身不能显示,我们可以通过使用格式化技术CSS,XSL来显示。

4. 从面向的适用对象上来讨论,原初SGML是提倡POP的思想的,也就是人和人交互的意思。HTML更多的是POM的思想,就是人和机器的交互。而XML则是MOM的理念,旨在在中间件(MIDWARE)上建立帮助不同软件产品和平台无障碍沟通的渠道。XML之所以广泛的使用在E-Business上,因为XML使通用数据成为可能,使B2B通信成为可能,使智能代理成为可能,使智能查询(XQuery)成为可能。EDI电子数据交换,EAI企业应用集成,B2B企业-企业电子商务,IEC集成电子商务,ERP企业资源规划,这些首字母的缩写词都离不开XML。由于上述的MOM理念,XML是全新形势的WEB服务器软件出现,改变了从前的网络体系架构。

如下图:

http://www.eztg.com/toad/others/11249547432444640.jpg

5.从语言的格式上我们看到,HTML是松散的,它允许错误的存在,不同的环境会有不同的HTML显示效果,有些平台仍不支持HTML。在各种我们所浏览的网页上,我们忍受了呈现上万的错误和不安全因素很多年了吧,所以必须避免再出现类似的不愉快。所以,XML有更严格的格式,有错误就会STOP,保证了正确性和安全性。下面是我找到的XML的格式要求(来自不同的出处):

All XML elements must have a closing tag

XML tags are case sensitive

XML elements must be properly nested

All XML documents must have a root element

Attribute values must always be quoted

With XML, white space is preserved

With XML, CR/LF is converted to LF

所有的标记都必须要有一个相应的结束标记;

所有的XML标记都必须合理嵌套;

所有XML标记都区分大小写;

所有标记的属性必须用""括起来;

以上所有是我对XML和HTML的相关资料的参考后所自己总结的认识。非常的肤浅。除了源代码,其余的都是自己的语言和思想概括。所以不成熟之处再次请求原谅。希望所有同学学好E-Business和XML这两门课。我想一定会对未来有所帮助。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有