原文地址:html中的xmlns是什么意思?作者:大路
xmlns 属性
xmlns是xml name space的缩写,意思是xml命名空间
xmlns 属性可以在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中。该属性的值类似于 URL,它定义了一个命名空间,浏览器会将此命名空间用于该属性所在元素内的所有内容。例如,如果需要使用符合 XML 规范的 XHTML 文档,则应该在文档中的<html> 标签中至少使用一个 xmlns 属性,以指定整个文档所使用的主要命名空间:<html xmlns="http://www.w3.org/1999/xhtml">
xmlns 属性可以在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中。该属性的值类似于 URL,它定义了一个命名空间,浏览器会将此命名空间用于该属性所在元素内的所有内容。例如,如果需要使用符合 XML 规范的 XHTML 文档,则应该在文档中的<html> 标签中至少使用一个 xmlns 属性,以指定整个文档所使用的主要命名空间:<html xmlns="http://www.w3.org/1999/xhtml">
为什么需要xmlns呢?
因为在xhtml中允许使用不同的dtd文件,不同的dtd文件可能包含相同的标识,这样会出现标志冲突问题,使用xmlns的话就可以区分开在不同文件相同的标识。例如在a.dtd和b.dtd中都包含了table,但是如果一个xhtml中同时包含了这两个dtd文件,且使用了tableb标签,这样就会出现标志冲突问题,为了解决这个问题,就可以使用xmlns如下
<html xmlns:a="http://www.a.com">
<html xmlns:b="http://www.b.com">
<a:table...>
<b:table...>
这样就区分开了使用的是哪个dtd文件中的标志。
虽然在大多数情况下,绝大多数 XHTML 作者都不需要定义多个命名空间,但是您仍然有必要理解存在着多个命名空间,以便在需要选择将基于某个 DTD 的内容嵌入其他 DTD 定义的内容中时,可以管理多个命名空间。