标记语言出现
人类不断努力改进对信息的表示方式。现在的文档处理系统不仅记录了文档的原始信息,还包含了大量的格式,印刷,处理信息。格式化处理工作的重点就是给文档做上标记(Markup),Markup的原始意义就是给某物加上记号(Marking it up),大部分的文本处理系统是基于这种标记原理出现的。
标记的几种类别:
1, 格式化标记:主要用来表示文档的格式,就像大多数的文本处理系统能够把文档中的文本字体格式化加粗,倾斜,变色一样。在html中用<b>表示粗体。
2, 结构化标记:用于定义文档的结构。如html中<h1>可表示一句话为段落的一级标题。
3, 语义标记:用于定义文档的内容。Html中的<title>。
问题的出现是今天由软件生成的文档在若干年后,那时的软件还能否明白他们的含义,并方便简单的使用他们。也就是要理解标记的含义,这样我们需要预先确定一套规则,每一套标记语言都会有一套标记规则来帮助我们理解他的内容和结构。
那上面的内容无非说了这些,为了使不同文档处理系统中的文档共享,我们应该:1,要用一个通用的文档格式支持这些文档处理系统,或者说我们编写的文档处理系统要支持这些格式或者以这些文档格式为标准实现;2,需要一个详细的规则来定义文档格式。这样标记语言GML(Generalized Markup Language)就出现了,它后来发展为通用标记语言SGML(Standard Generalized Markup Language)。
HTML的缺点
Html是SGML的一个儿子,同样XML也是SGML的一个儿子,XML与HTML是兄弟关系。
学习编程就是这样的,一种新技术出来后一定要批判一下它所取代的旧技术,虽然XML还没有能力完全取代HTML,但我们也不得不数落下HTML的缺点。
一,HTML没有表达内容的真正含义并且只能用预先定义的标记。
二,HTML层次过于单调:它只支持简单的段落或片段结构,不能定义数据的层次,而这些XML是可以的。
三,HTML要求文档过于完整:我们不能筛选出我们只想得到的那部分数据。
四,HTML没有真正的做到国际化:各个厂商都在定义自己的标准,以期望能成为行业的标准,结果是谁也不买谁的帐,这样大家都有自己的标准。而HTML解析器实现规则不同,同一组内容,对于不同的浏览器必须写不同的代码。
五,HTML无法真正实现数据交互:它没办法提供编程接口解析它所携带的数据,这就限制了它和各种应用程序,数据库及操作系统的数据交互。
六,HTML不可重用。
XML出现
可扩展标记语言(eXtensible Markup Language),他是可扩充的。这意味着我们可以定义自己的标记集,它是一种元语言,可以用它来描述其他语言(CML)。
XML可以深入到分布式应用,数据库应用领域。通过XML可以把业务逻辑和显示分开。通过XML的标记来表示数据的逻辑结构,这样就保持了数据库的一些相关特性,包括数据查询等,而且很容易进行相应的程序开发。然后再通过程序把逻辑处理后的XML转化为响应显示风格的HTML,其中最大的优势就是中间的代理层可以集合不同的数据库和现有的文件数据。
XML优势
前面的HTML缺点就应该是XML的起码的优点,还有别的一些现在讲来是还不能完全理解的,所以决定在学完后再做分析。
不可缺少的解析器
XML的设计者鉴于目前网络上的网页都不太符合规则,因此决定这一次开始就严格执行,规定了XML都必须遵循的一些规则,否则系统显示错误,XML解析器的开发是简单的,因为它有简洁的语法与对格式化的严格要求。
种类:Apache Xerces,IBM XML4J,Open XML,Oracle XML Parser,还有IE的MSXML(即便是您用的IE6,也建议安装一个XML解析器补丁,不然有写效果可能无法显现)。
开发工具:XMLSPY
这里有它的一些教程,大家自己学习http://www.qcdn.net/school/list.asp?Unid=2307。