可扩展标记语言
目 录
1格式特性
XML与
Access,
Oracle和
SQL Server等数据库不同,数据库提供了更强有力的
数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是存储数据。事实上XML与其他数据表现形式最大的不同是:它极其简单,这是一个看上去有点琐细的优点,但正是这点使XML与众不同。
结合
SGML、HTML是XML的先驱。SGML是指“通用标识语言标准”(Standard Generalized Markup Language),它是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档的结构,主要用于大量高度结构化数据的防卫区和其他各种工业领域,利于分类和索引。同XML相比,定义的功能很强大,缺点是它不适用于Web数据描述,而且SGML软件价格非常昂贵。 HTML相信大家都比较熟悉,即“HyperText Markup Language” (超文本标识语言),它的优点是比较适合web页面的开发。但它有一个缺点是标记相对少,只有固定的标记集如<p>.<strong>等。缺少SGML的柔性和适应性。不能支持特定领域的标记语言,如对数学、化学、音乐等领域的表示支持较少。举个例子来说,开发者很难在网页上表示数学公式、化学分子式和乐谱。 XML结合了SGML和HTML的优点并消除其缺点。XML仍然被认为是一种SGML语言。比SGML要简单,但能实现SGML的大部分的功能。1996年的夏天,Sun Microssystem的John Bosak开始开发W3C SGML工作组(现在称为XML工作组)。他们的目标是创建一种SGML,使其在Web中,既能利用SGML的长处,又保留html的简单性。现在目标基本达到。
XML的简单使其易于在任何应用
程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的
应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows,Mac OS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。
友好
为了使得
SGML显得用户友好,XML重新定义了SGML的一些内部值和参数,去掉了大量的很少用到的功能,这些繁杂的功能使得SGML在设计网站时显得复杂化。XML保留了SGML的结构化功能,这样就使得网站设计者可以定义自己的文档类型,XML同时也推出一种新型文档类型,使得开发者也可以不必定义文档类型。
2简明语法 SGML常用来定义针对HTML的文档类型定义( DTD),同时它也常用于编写XML的DTD。SGML的问题就在于它允许出现一些奇怪的语法,这让创建HTML的解析器成为一个大难题:
4 某些特性要求必须包含值,例如<img src="picture.jpg">中的
src特性。
5 某些特性不要求一定有值,例如中的nowrap特性。
6 定义特性的两边有没有加上双引号都是可以的,所以<img src="picture.jpg">和<img src=picture.jpg>都是允许的。
这些问题使建立一个SGML语言的解析器变成了一项艰巨的任务,判断何时应用以上规则的困难导致了SGML语言的定义一直停滞不前,以这些问题作为出发点,XML逐渐步入我们的视野。
XML去掉了之前令许多开发人员头疼的SGML的随意语法。在XML中,采用了如下的语法:
3 标签必须按合适的顺序进行
嵌套,所以结束标签必须按
镜像顺序匹配起始标签,例如
this is asamplestring。这好比是将起始和结束标签看作是数学中的左右括号:在没有关闭所有的内部括号之前,是不能关闭外面的括号的。
4 所有的特性都必须有值。
5 所有的特性都必须在值的周围加上双引号。
这些规则使得开发一个XML解析器要简便得多,而且也除去了解析SGML中花在判断何时何地应用那些奇怪语法规则上的工作。仅仅在XML出现后的前六年就衍生出多种不同的语言,包括
MathML、
SVG、
RDF、
RSS、
SOAP、
XSLT、
XSL-FO,而同时也将
HTML改进为
XHTML。