createElement vs. createElementNS
这两者之间的真正区别是什么?我的意思是真正的,根本的区别。
常规
Svg是xml,而不是html。我明白了。所以我们用
然后
为什么不
为什么
在常规html中
我正在阅读DOM-Level-2规范。但是我还是很困惑。
要了解名称空间试图解决的问题,请考虑文件扩展名。 3个字母的文件扩展名在描述文件内容方面做得非常糟糕。它们是模棱两可的,不包含版本信息。 XML名称空间使用较大的字符串,URI空间来解决同一问题,并使用短前缀,因此您可以在同一文档中简洁地混合多种XML。
What's the purpose of namespace if there is only one name space?
有许多名称空间用于标识不同种类的XML,以及这些种类的不同版本。
SVG和MathML是两种XML,每种都有各自的名称空间,可以将其嵌入HTML5中,并且它们经常使用XLink(另一个XML名称空间)。具有相应名称空间的许多其他XML模式用于在客户端和服务器之间传递消息以及用于数据存储。
XHTML试图将HTML表示为有效XML。它具有自己的名称空间。
So we use createElementNS(ns_string, 'svg') And then setAttributeNS(null,,). Why? Why not setAttributeNS('my_ns',,)???
在将
XML被定义为多个步骤。规范的第一个版本没有提及名称空间,但保留了足够的语法,因此可以通过使用前缀和特殊的
"The Namespaces in XML Recommendation [XML Names] assigns a meaning to names containing colon characters. Therefore, authors should not use the colon in XML names except for namespace purposes, but XML processors must accept the colon as a name character."
XML名称空间使XML处理应用程序知道它们要处理的内容,并允许将多种XML混合在同一文档中。
Why ns_string must be"http://www.w3.org/2000/svg"
这包括SVG版本被标准化的年份,即2000年,因此它包含有用的信息。
与