《网站重构》读书笔记8:XHTML的9条军规

“第6章 XHTML:WEB重构”开始涉及到一些具体的操作规范的东西。本章最重要的内容就是描述XHTML执行中的九条清规戒律:

1、以正确的DOCTYPE和名字空间开始

XHTML首先需要你声明,你是遵循什么标准建立此文档。如果你的声明和你实际做的事情不相符,就会导致错误、误解的发生。DOCTYPE是一个XML文档的基础,它应该出现在文档的最开头位置。XHTML 1中有三种可能的声明:

  过渡的(Transitional):最宽松的DTD,它能容忍很多老的不良习惯;
  严格的(Strict):有洁癖的DTD,不允许文档使用表现层的标记和属性,如果要给它找一个星座,那它肯定是处女座;
  框架的(Frameset):在使用元素的文档中必须要使用该声明。我对此存有的疑问是,除了针对frameset的特性,这个声明在对待其他元素的标记和属性上,是更象过渡型还是严格型呢?也许后面会有答案。

“名字空间”可能叫命名空间比较合适,对这个部分我也是心存疑虑的:两个附加属性中的语言属性究竟有什么区别,为什么示例中不用utf-8而用en,如果用错会发生什么后果可能这本书不是可以用来解答这个问题的途径,好在我订购的《HTML和XHTML权威指南(第五版)》已经在路上了。

2、使用META内容元素声明你的内容编码语言

生命编码语言有三种方式,就好象孔已己说的“茴”字有四种写法,而常用的只有一个,那就是用meta标签。这在HTML就已经是流行的写法,所以更容易被广大浏览器接受。但是偏偏这种写法却是个“小老婆”,是不被推荐的。大房太太是“XML prolog”以及利用服务器返回http头部设置编码语言两种方法(在书的第132页有提及)。尽管如此,理想也不得不向现实低头,好用的meta标签成了作者推荐的方式。

3、用小写字母写所有元素和属性名称

在XML的规范中,字母的大小写被认为是不同的,这和HTML的懒散形成了对比。所以XHTML要求元素和属性的名字都必须是小写,但属性和内容则不一定。

4、给所有属性值加引号

加引号的规矩也是XML的严谨体现,虽然HTML也是这么要求的,但是他的脾气太好了,即使不加引号,他也会容忍。

5、给所有属性赋一个值

这一截的示例太简单了,所以没有什么有效的信息让我知道什么情况下,按照什么标准加属性和值。难道碰到无属性与值的参数,就复制他本身,然后建立=关系?看起来似乎是这样。

6、关闭所有标签

7、用空格和斜杠关闭空标签

XML的规则:有开始就要有结尾,不要让我猜(看来我n年前看的那篇XML启蒙文章确实很有用)。遇到独立标签就使用“空格加‘/’”的规则,很好记。

8、不要在注释内容中使用“–”

可能“–”符号已经成为注释开始与结束的标记,所以在注释中不能随意出现他们两兄弟,而只能用其他字符,比如用“==”代替。

9、把所有< 和&符号编码

<和&,这两个符号太重要了,如果滥用很容易导致问题。以前我总以为对这两个字符进行编码是为了避免注入问题,原来严格的XHTML也对他们进行了特别对待。 书中对字符编码也做了大致介绍。这类文章我以前也看过,甚至更晦涩的转换编码都看过,没全看明白,大致的是有了个了解。所以作者号称本书最无趣的部分对我来说不算什么。 章节最后本分作者又老调重谈,强调结构的重要以及用CSS进行设计布局。似乎是没什么新义,也许是作者认为有必要在书的任何地方都强调标准的最基本理念。不过有一点倒是引起了我的关注:“用过度的CSS替换HTML表现是不恰当的,这样做只是用另外一种垃圾代替HTML表现代码垃圾。”看来作者对新技术的滥用还是心存忧虑的。

发表评论

邮箱地址不会被公开。 必填项已用*标注