WEB标准与XHTML 1.0 Transitional等文档类型介绍(2)

作者:Dflying Chen 来源:Dflying Chen 时间:2007-10-20 21:18:00 

一个XHTML页面必须是一个组织完善的并且合法的XML文档。XHTML 1.0 recommendation 的第四部分详细介绍了HTML与XHTML的若干不同点,正力柱来最为重要的有如下十条:

  1. 页面必须包含一个合法的XHTML DOCTYPE。

一个合法的XHTML页面必须再起其他内容出现前包含XHTML DOCTYPE定义。当你在Visual Studio 2005或者Microsoft Visual Web Developer中创建一个新的ASP.NET页面时。一个合法的XHTML 1.0 Transitional DOCTYPE已经被自动加入到页面当中了。下面是四种标准的XHTML DOCTYPE:

XHTML 1.0 Transitional


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
XHTML 1.0 Strict



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
XHTML 1.0 Frameset



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">  
XHTML 1.1



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">  
不同的XHTML DOCTYPE也将决定浏览器将如何显示某些特定的内容,这些将会在今后几篇文章中讨论。


  1. 页面的根节点必须指定XHTML的命名空间。

<html>标记必须指定一个默认的命名空间。例如一个XHTML 1.0 Transitional页面应该有如下声明:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 


  1. 所有的标记以及属性名称必须为小写字母。

XML语法是大小写敏感的,所以<div><DIV>是不同的标记,当然,只有<div>是合法的XHTML标记。

  1. 属性值必须书写于一对引号内。

引号可以为双引号,也可为单引号。如下声明是不合法的:


<a href=Page.aspx>Link</a>  


这里缺少了包围Page.aspx的引号,应当如下书写:


<a href="Page.aspx">Link</a>  


Visual Studio 2005 和Visual Web Developer可以自动把属性值用引号括起来。这一功能可以在Tools, Options, Format中设定。

  1. 所有非空的标记必须成对出现。

也就是说,单独的<p>或者<br>都是不合法的,需要有相应的闭合标记。
这里特别要说明的是常用的<br>标记。满足XHTML语法的换行标记应该为<br></br>或者简写为<br />,然而在一些浏览器中会把<br></br>中的</br>视为错误拼写的<br>标签,并尝试加以更正为另一个<br>,这样就造成了两个换行。为了避免这些不必要的麻烦,推荐书写为<br />。同样需要注意的是有些浏览器不能识别<br/>(注意'/'前没有空格),所以不要忘记在'/'前加上一个空格。

标签:xhtml,标准,web
0
投稿

猜你喜欢

  • 详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)

    2023-08-22 18:03:06
  • 详解用Python处理HTML转义字符的5种方式

    2021-01-27 20:53:17
  • msxml3.dll 错误 '800c0005'终极解决办法

    2009-10-05 18:40:00
  • 数学公式“四又二分之一”

    2009-01-14 20:03:00
  • Python简单爬虫导出CSV文件的实例讲解

    2022-10-11 03:39:19
  • 基于Python3.6+splinter实现自动抢火车票

    2021-04-27 21:58:15
  • 中秋将至利用python画一些月饼从天而降不用买了

    2023-08-17 13:08:23
  • php出现Cannot modify header information问题的解决方法大全

    2024-05-02 17:35:21
  • Python实现程序的单一实例用法分析

    2023-01-08 11:38:14
  • python自动化测试selenium屏幕截图示例

    2022-07-13 16:55:14
  • Go语言string,int,int64 ,float之间类型转换方法

    2023-06-28 15:20:30
  • Python 实现两个服务器之间文件的上传方法

    2022-04-22 10:32:03
  • go程序员日常开发效率神器汇总

    2024-02-16 23:04:40
  • 解决运行出现'dict' object has no attribute 'has_key'问题

    2021-06-14 06:58:48
  • Python制作词云图代码实例

    2023-10-24 11:20:21
  • 谈切图优化加速图片显示—淘宝实例

    2008-01-30 12:24:00
  • FCKeditor的几点修改小结

    2023-05-15 22:13:09
  • python如何实现数据的线性拟合

    2023-10-08 01:56:01
  • vue.js实现日历插件使用方法详解

    2024-05-13 09:38:43
  • PHP+Ajax实现无刷新分页实例详解(附demo源码下载)

    2024-06-07 15:50:03
  • asp之家 网络编程 m.aspxhome.com