如何阅读 HTML 5 规格文档

         HTML5是HTML最新的修订版本,2014年10月由万维网联盟 (W3C)完成标准制定。 目标是取代1999年所制定的HTML 4.01和XHTML 1.0标准,以期能在网际网路应用迅速发展的时候,使网路标准达到符合当代的网路需求。 广义论及HTML5时,实际指的是包括HTML、 CSS和JavaScript在内的一套技术组合。 它希望能够减少网页浏览器对于需要外挂程式的丰富性网路应用服务 (Plug-in-Based Rich Internet Application, RIA ),例如: Adobe Flash 、 Microsoft Silverlight与Oracle JavaFX的需求,并且提供更多能有效加强网路应用的标准集。

        Web上的所有技术的规格都由万维网联盟(W3C)负责管理。作为一名前端工程师的您,可能访问过该联盟的网站[w3.org](https://www.w3.org/TR/html5/)来寻找HTML5的某个问题的答案。或者在google搜索HTML specs找到规范的文档途径。

        就这样,您接触到了规格,但几乎立刻被吓得落荒而逃。您一定会得,“什么嘛,这完全不是给人读的。”实际上,它是给人读的,前提是您预先了解一些关键信息。

                                     "圣经写出来不是为了给人读,而是为了给人解的。 "

        如果您想要寻找某个问题的答案,实际上就是在寻找的是一本用户手册,或一篇用户指南;换言之,您想要了解的是该技术的用法。然而,这却并不符合W3C规格的创作意图。所谓“规格”,它意在告知负责实现该技术的程序员,有哪些特性是必须提供的,以及它们应该如何实现。

         维修手册在语言风格上注重精确性,这一点和语调轻松、行文随意的谈话作品相当不同。同样地,W3C规格的语言风格也一丝不苟。以下是一些您在阅读规格时会常常遇到的字词。


规范性

如果您看到“本节是规范性的(normative)”,则指出该节的内容会指定实现者应该遵循的细节。而提示性(informative)章节则不然,它们通常是一些示例和解释。

用户代理

这个有点儿故弄玄虚的术语,意思其实是指这样的程序:用户需要凭借它才能和某项技术打上交道。对于HTML而言,它的用户代理就是浏览器。对于可缩放矢量图形而言,它的用户代理可能是一个查看器,如[Batik](http://xml.apache.org/batik/);又或是一个插件,如[Adobe SVG Viewer](http://www.adobe.com/svg/)。

RFC

Request For Comment的缩写,意思是该文档代表某个互联网标准(草案)。

助动词

如果某个规格中写道,它遵循[RFC2119](http://www.ietf.org/rfc/rfc2119.txt) ,那么接下来文中出现的特定助动词就会带有正式的对应含义。 必须(must)的意义是:某定义是绝对要求的; 绝不(must not)的意义是:某定义是绝对禁止的; 应该(should)的意义是:某个特性可以实现也可以不实现,但如果不实现的话,最好有个很好的理由; 不应该(should not)的意义是:如果确实需要在实现里包括某个特性,则最好有个很好的理由。


亲爱的Martha阿姨:谢谢您那本讲大象的书。它告诉我关于大象的知识,比我想知道的还要多。

                                                                                                                        一个孩子的感谢信

        如果您发现自己在读的文字没有明显的标记,只有大量的冗词,读起来既像法律术语,又像是计算机科学讲座,或两者兼似的话,也许仅仅粗粗看一眼就够了。

        另一方面,有时您却应该放慢阅读速度。当您看到一张示意图时,请看看它的题注和标注。这些通常都会指向重要信息。当您看到一节中包含有一个或数个示例时,请放慢速度,仔细阅读。

        BNF是Backus Naur Form或Backus Normal Form的缩写。它是一种用来表示计算机语言语法的紧凑形式,它实际上无处不在。不同的规格使用不同风格的BNF,但它们的共同之处是都把大段的自然语言描述变换成了符号形式。下面是一个说明了三明治成分的例子:

        三明治由以下成分构成:一块面包下切片,还有芥茉或蛋黄酱;生菜可放可不放;西红柿切片可放可不放;二至四块红肠、腊肠或火腿以任意方式组合的切片;一块或多块芝士切片;还有一块面包上切片。

其变换形式为:

三明治 ::= 面包下切片 [ 芥茉 | 蛋黄酱 ] 生菜? 西红柿? [红肠 | 腊肠 | 火腿 ] {2,4} 芝士+ 面包上切片

 定义的各成分按顺序列出,以空格分隔。各项目以方括号分组,组内选择以竖线分隔。

        如果项目后面跟着一个问号,意思是“一个或没有”;如果后面跟着一个加号,意思是“一个或多个”;如果后面跟着一个星号,意思是“零个或多个”;如果后面跟着一个里面有数字的花括号,数字就代表着项目允许出现次数的上下限。

        小括号,或更多的方括号,用来给更复杂的定义中的项目分组。有时候,也会用尖括号括起某项目表示这是一个通用项目(如“颜色”),或用引号括起某项目表示这是一个守恒项目。


更多的阅读细则待以后做更详细的归纳总结:

小结:

1. 建立明确的意识:规格是写给实现者,而非最终用户看的;

2. 许多规格都包含一个专门章节,以说明其组织方式,以及应该如何阅读;

3. 熟知规格专用词汇;

4. 务请记住,您不必阅读逐字阅读规格。学会跳读,集中阅读有意义的部分;

5. 跳过名字空间相关讨论章节;

6. 学习阅读BNF,很多地方都在使用它;

7. 学会阅读DTD,并从中找到语法问题的答案;

8. 如果某项技术涉及可编程脚本,该信息就包含在绑定中。

只要耐心有加、坚持不懈,您一定会为从W3C规格中获取的海量信息而感到惊喜。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,951评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,606评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,601评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,478评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,565评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,587评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,590评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,337评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,785评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,096评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,273评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,935评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,578评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,199评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,440评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,163评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,133评论 2 352

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,008评论 25 707
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 从百度文库下载下来的,这里保存一份 别人的原代码程序员怎样阅读 源码就是指编写的最原始程序的代码。 运行的软件是要...
    Albert陈凯阅读 3,375评论 0 15
  • 本文转自自:http://blog.csdn.net/riven_wn/article/details/52912...
    王玺__boy阅读 511评论 0 0
  • 今天,起得晚了,醒来时已经9点45分了,我完全没听到闹钟。 一上午在办公室好像也没做什么,反而有些焦虑。 早上看到...
    凡了阅读 371评论 0 8