标记语言基础知识
标记语言
是一种将文本以及文本相关的其他信息结合起来,
展现出关于文档结构和数据处理细节的电脑文字编码。
与文本相关的其他信息(包括文本的结构和表示信息等)
与原来的文本结合一起,但是使用标记进行标识。
标记语言不仅仅是一种语言,就像许多语言一样,
它需要一个运行时环境,使其有用。
提供运行时环境的元素称为用户代理。
标记语言分类
1.标识性的:全称“标识性置标[^1]语言”(Presentational markup)
是在编码过程中,标记文档的结构信息。
2.过程性的:全称“过程性置标语言”(Procedural markup)
一般用于文字的表达,通常对于文本编辑者可见,
并且被软件依其出现顺序依次解读。
3.描述性的:全称“描述的标记”,
有时 被称为逻辑标记或者概念上的标记,
鼓励作者编写的方式描述概念上,而非视觉上。
一个具有注脚的文本。
标准通用标记语言
标准通用标记语言是一种专门的置标语言,
被用作编写《牛津英语词典》的电子版本。
由于它的复杂,导致难以普及。
HTML XHTML XML
超文本标记语言(HTML)
超文本标记语言(标准通用语言下的一个应用、外语缩写:HTML)
是为网页创建和其他可在网页浏览器中看到的信息设计的一种标记语言。
**特点:**
1.HTML是被设计用来显示数据,其焦点是数据的外观
2.在定义时不区分大小写
可扩展标记语言(XML)
可扩展标记语言(标准通用标记语言下的一个子集、外语缩写:XML),
又称可扩展置标语言,是一种标记语言。
置标指电脑所能理解的信息符号,
通过此种标记,电脑之间可以处理包含各种信息的文章等。
**特点**:
1.XML是被设计用来传输数据和存储数据,其焦点是数据的内容
2.在定义时区分大小写
可延伸超文件标记语言(XHTML)
可延伸超文件标记语言
(外语全称:Extensible Hyper Text Markup Language、缩写:XHTML),
是一种标记语言,表现方式与超文本标记语言类似,
不过语法上更加严格。
**特点**:
1.XHTML元素必须被正确地嵌套
例如:
XHTML必须这样:
<b><i>xxxxx</i></b>,
而在HTML中,某些元素可以像这样不正确地嵌套:
<b><i>xxxxxxxx</b></i>
2.XHTML元素必须被关闭,也就是必须有结束标签
3.标签名必须用小写字母
4.XHTML文档必须拥有根元素
HTML发展历史:
在HTML的早期发展中,W3C成立之前,
很多标准的制定都是在浏览器开发者们互相讨论的情况下完成的,
比如HTML2.0、3.0直到4.0/4.1,
都是先实现后再有标准(retro-spec)。
所以,HTML标准不是很规范。
浏览器也对HTML页面中的错误相当宽容。
但是反过来又导致了HTML作者写出了大量的含有错误的HTML页面。
W3C随后意识到了这个问题,并认为这是互联网的一个基础性问题,
应该加以解决。为了规范HTML,W3C结合XML制定了XHTML1.0标准,
这个标准没有增加任何新的标签,只是按照XML的要求来规范HTML,
并制定了一个新的MIME type(浏览器用来区分文件的媒体类型)application/xhtml+xml。
W3C的初衷是对这个MIME type浏览器要实行强错误检查,
即如果页面有HTML错误,就要显示错误信息。
但是由于已有的web页面中已经有了大量的错误,
很多开发者拒绝使用新的MIME type。W3C不得已,
在XHTML1.0的标准之后加了一个附录C,允许开发者使用XHTML语法来写页面,
同时使用旧的MIME type ,application/html,来分发页面。
这个旧的MIME type不会触发浏览器的强错误检查。
W3C随后在XHTML1.1中取消了附录C,
即使用XHTML1.1标准的页面必须用新的MIME type来分发。
于是这个标准并没有很多人采用。这种情况同样发生在尚未完成的
XHTML2.0身上,它要求强错误检查,于是没有人采用。
XHTML的故事也告诉我们,有时候先有标准再来实现,是行不通的。
有了XHTML的教训,WHAT Working Group和W3C在制定下一代HTML标准,
也就是HTML5的时候,就将向后兼容作为了一个很重要的原则。
HTML5确实引入了许多的新特性,但是它最重要的一个特性是,
不会破坏已有的网页。你可以将任何已有的网页的第一行改成<! DOCTYPE html>,
它就成了一个HTML5页面,并且可以照样在浏览器里正常显示。
HTML是先实现再有标准,XHTML是先有标准再实现
........web之路如此艰难,感谢前辈们走过的坑
原文:[链接地址](https://www.zhihu.com/question/19818208?sort=created)