【定义】
1、什么是XML?
XML即ExtentsibleMarkupLanguage(可扩展标记语言),是用于网络上数据交换的语言。它没有标签集,也没有语法规则,但是它有句法规则。任何XML文档对任何类型的应用以及正确的解析都必须是良构的,即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML文档可以是有效的,但并非一定要求有效。所谓有效文档是指其符合其文档类型定义的文档。如果一个文档符合一个模式的规定 ,那么这个文档是模式有效的。
2、什么是HTML?
HTML即Hyper Text Markup Language(超文本标记语言),是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。
【关系与差异】
HTML与XM都是标记语言,都是基于文本编辑和修改的,其实他们之间并没有非常必然的联系,我们需要知道XML不是要替换HTML,实际上XML可以视作对HTML的补充,他们只不过是两种不同用途的标记语言。
XML 与 HTML 的主要差异
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
语法差异
(1)所有 XML 元素都须有关闭标签(2)XML 标签对大小写敏感
(3)XML 必须正确地嵌套
(4)XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。
【DTD和Schema】
Schema是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性。DTD的作用
是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。它们之间的区别有下面几点:
(1)Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有很多的好处。
(2)DTD文档的结构是“平铺型”的,如果定义复杂的XML文档,很难把握各元素之间的嵌套关系;Schema文档
结构性强,各元素之间的嵌套关系非常直观。
(3)DTD只能指定元素含有文本,不能定义元素文本的具体类型,如字符型、整型、日期型、自定义类型等。
Schema在这方面比DTD强大。
(4)Schema支持元素节点顺序的描述,DTD没有提供无序情况的描述,要定义无序必需穷举排列的所有情况。
Schema可以利用xs:all来表示无序的情况。
(5)对命名空间的支持。DTD无法利用XML的命名空间,Schema很好满足命名空间。并且,Schema还提供了
include和import两种引用命名空间的方法。
Schema也可以说是对DTD的替代。
【经典小结】
1、对于大型网站来说,由于更新量较大,不宜用HTML来做,由于XML支持动态更新,可以采用,但也不一定是最佳选择;而对于小型网站,为了提高页面反应速度,采用HTML书写比较好吧。
2、HTML和XML可以相互转换,为了更好地适应客户端浏览器的浏览,可以在服务器端进行XML-〉HTML的转换,但普通静态空间不支持这种转换,可以选择支持XMLDOM的ASP或PHP服务器进行。
3、事实上XML与HTML之间没有可比性,虽然它们之间有一定的联系,但各自的功能和目标(着重点)不一样,应用的场合不一样,有一点需要提的是,XML相对于HTML标准性更强。