标记语言
XML、HTML、XHTML这三者都有ML。ML(Markup Language)标记语言在维基百科中的解释是:
<h1>我爱我家</h1>
上面的例子中的”我爱我家“就是文本,与文本相关的其他信息”这段文本是个标题“就用标记h1进行标识。
HTML
HTML(Hyper Text Markup Language),即超文本标记语言。
- HTML的标签是固定的,只能用已经规定好的标签来对文本进行特定的描述
- HTML被设计用来显示数据。
XML
XML(Extensible Markup Language),即可扩展标记语言。可扩展体现在XML的标签不是固定的,需要自己定义。
比如描述一张桌子的相关信息:
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
我们可以根据自己的需要,定义自己的标签。
命名空间
为了防止大家定义的标签名重复(比如在A的命名里,table表示桌子;而在B的命名里,table表示表格),XML采用命名空间来避免命名冲突。为了区分世界各地的命名,需要一个独一无二的标识来区分不同的文件的命名,而域名无疑是一个完美的选择。
为标签添加一个xmlns属性
<table xmlns="http://www.baidu.com">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
这样不同域名下的命名就不会冲突了。
XML与HTML的区别
XML与json
XHTML
简单来说,XHTML就是更严格更纯净的HTML版本。
与HTML的区别:
- 文档结构
XHTML DOCTYPE 是强制性的<html>
中的 XML namespace 属性是强制性的<html>
、<head>
、<title>
以及<body>
也是强制性的 - 元素语法
XHTML 元素必须正确嵌套
XHTML 元素必须始终关闭
XHTML 元素必须小写
XHTML 文档必须有一个根元素 - 属性语法
XHTML 属性必须使用小写
XHTML 属性值必须用引号包围
XHTML 属性最小化也是禁止的