什么是标记语言?
在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。
标记语言,用一系列约定好的标记来对电子文档进行标记,以实现对电子文档的语义、结构、及格式的定义。这些标记必须很容易的和内容区分,并且易于识别。
个人理解就是使用约定好的标记,比如用来对需要加粗的字体进行加粗,用来标记标题信息,用来标记女朋友等等,来标识一些东西,好在读取的时候更加容易。
与之相对的例如编译型语言,脚本语言。
HTML 超文本标记语言(HyperText Markup Language)
文本——富文本——超文本
- 假如你想给远方的小红发一段文字,那么你发送一段文字,比如“hello,xiaohong,I love you!”,就可以了。
- 假如你想把I love you加粗,标红,那么单纯的文字的表现能力已经不能满足你的要求了,你还需要为它添加“加粗”“红色字体的格式”,这时候就需要用到“富文本”了。
- 小红收到了你的消息并回应了你,你很开心。
这次你想给文本添加链接,同时给她发几张你近期觉得帅到不行的自拍,乃至再配上音乐等等非文字的东西,那么这时候,你需要用“超文本”来实现了。
XML 可扩展标记语言(eXtensible Markup Language)
XML被设计用来传输和存储数据,其焦点是数据的内容。
HTML被设计用来显示数据,其焦点是数据的外观。
- HTML旨在更好的显示信息,而XML旨在更好的传输信息。
- 它的标签没有被预定义。您需要自行定义标签。
其实XML比HTML严谨,比如:
超文本标记语言的标记不是所有的都需要成对出现,它则要求所有的标记必须成对出现;
HTML标记不区分大小写,它则大小敏感,严格区分大小写。
那为什么不既用XML显示信息,又用XML传输信息?
因为我诞生的太晚了,面对成千上万已有的基于HTML语言设计的网站,我无力回天:)
如何把 XML 数据显示为 HTML?
通过JS遍历一个 XML 文件 (cd_catalog.xml),遍历里面的标签,再显示到HTML
中。
XHTML 可扩展超文本标记语言(Extensible HyperText Markup Language)
XHTML是一个过渡技术,是更严谨更纯净的 HTML 规范版本。
XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的基于HTML语言设计的网站,直接采用XML还为时过早。因此,在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML,XHTML 与 HTML 4.01 几乎是相同的。
什么规则呢?
例如:
规则 | 错误示范 | 正确 |
---|---|---|
属性名称必须为小写 | <table WIDTH="100%"> | <table width="100%"> |
属性值必须加引号,并使用双引号 | <table width=100%> | <table width="100%"> |
属性简写是不允许的 | <input checked><option selected> | <input checked="checked" /> <option selected="selected" /> |
用id属性来替代name属性 | <div name="div1" /> | <div id="div1" /> |
所有的标记都必须要有一个相应的结束标记,如果是单独不成对的标签,在标签最后加一个”/”来关闭它,以前的html不一定需要闭合也可以打开 | <p> book <img src="a.gif"> | <p> book </p><img src="a.gif" /> |
同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序 | 以前我们这样写的代码:<p><b></p></b> | 必须修改为:<p><b></b></p> |
把所有<和&特殊符号用编码表示,不是标签的一部分的比如”<” | < | < |
不要在注释内容中使“–” | <!--这里是注释-----------这里是注释--> | <!--这里是注释============这里是注释--> |
图片必须有说明文字alt | 为了兼容火狐和IE浏览器,对于图片标签,尽量采用 alt和title双标签,单纯的alt标签在火狐下没有图片说明! |
至于为什么XHTML1.0没有得到通用呢?
说到底是因为已经有了大量实现后,再制定的标准,已经没法推行了。
大家之前写了好多的HTML网站,浏览器都宽容的接受了。现在规定要使用XHTML来严谨化,实行强错误检查,然后之前的大量的web页面还要报好多错。
反正之前的web页面已经有大量的错了,你现在制定个标准就想让大家用新的?对不起,大家不买账了.。
在HTML的早期发展中,W3C成立之前,很多标准的制定都是在浏览器的开发者们互相讨论的情况下完成的,比如HTML 2.0, 3.2直到4.0, 4.01,这些标准大部分都是所谓的retro-spec,即先有实现后有标准。在这种情况下,HTML标准不是很规范,浏览器也对HTML页面中的错误相当宽容。这反过来又导致了HTML作者写出了大量的含有错误的HTML页面。据说,时至今日web上99%的页面都含有HTML错误。
引自知乎用户:https://www.zhihu.com/question/19818208/answer/13430829