【网络波动】W3.Org程序解密!!这个跟强大!
修改于2021/05/22170 浏览讨论

这个是一个标准,叫名字空间,就是说用他的标准来解释你的代码。看看css的书。
通常来说,http://w3.org 上的文档不适合初学者阅读。它的定位,大概是让告诉浏览器厂商,这里需要怎么做,那里需要实现哪些功能(我的理解,不对请指正)。对于这类信息量巨大,且不面向学习者的文档,如果要读,最好的方法大概就是确定目标,硬着头皮读下去吧。拿 Navigation Timing 这个较新的 interface 做例子,讲的虽是一种东西,HTML5 ROCKS 的文章 [1] 比 http://w3.org 的文档 [2] 要友好易读多了。[1] Measuring Page Load Speed with Navigation Timing http://www.html5rocks.com/en/tutorials/webperformance/basics/[2] Navigation Timing http://www.w3.org/TR/navigation-timing/但是,如果你的目标是了解这些 API 背后的实现机制和依赖关系,文档有时候是更好的选择。
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
做WEB页面的人经常会碰到形如html xmlns="http://www.w3.org/1999/xhtml";这样的代码,那后面的xmlns是表示什么意思呢?
官方概念:xmlns是xml namespace的缩写,也就是XML命名空间,xmlns属性可以在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中。该属性的值类似于URL,它定义了一个命名空间,浏览器会将此命名空间用于该属性所在元素内的所有内容。
为什么需要这个xmlns呢,可能是这样的,比如在xhtml中,允许你使用各个不同的DTD文件,有可能不同的DTD文件中包含了相同的标识,那么这样的话就会出现标志冲突的问题,如果使用xmlns的话就可以区别开在不同文件中的相同的标志,例如在a.dtd中和b.dtd中都包含了table,但是如果一个xhtml文件同时包含了这两个dtd文件,而且使用了标志table,这样就会出现标志冲突问题,为了解决标志冲突问题,就可以使用xmlns如下:
<html xmlns:a="http://www.a.com
<html xmlns:b="http://www.b.com
<a:table...>
<b:table...>
这样就可以区分开了使用的是哪个dtd文件中的标志。
还有个问题,根据定义:用来标识命名空间的网络地址并不被XML解析器调用,XML解析器不需要从这个网络地址中查找信息,该网络地址的作用仅仅是给命名空间一个唯一的名字,因此这个网络地址也可以是虚拟的。那么对于浏览器来说,如何知道a:table...应该是哪个dtd文件中的标志呢?应该是在每个xml的dtd文件中都会规定xmlns这个值,如果dtd文件中的xmlns的值与xhtml中的值相等,则认为是匹配的。
![[嗒啦啦2_吃瓜]](https://img.tapimg.com/market/images/6eb1d083dff1c09692102cb5a98727f3.gif)
![[嗒啦啦2_吃瓜]](https://img.tapimg.com/market/images/6eb1d083dff1c09692102cb5a98727f3.gif)