码迷,mamicode.com
首页 > 编程语言 > 详细

全栈JavaScript之路( 二十三 )DOM2、DOM3, 涉及XML命名空间的扩展(一)

时间:2014-07-11 00:51:47      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:xhtml   xml   namascpce   

<!DOCTYPE html>
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml">
<head>
    <title>Example XHTML page</title>
</head>
<body>
<s:svg xmlns:s="http://www.w3.org/2000/svg" version="1.1" style="width:100%; height:100%; viewBox:0 10 10 10">
    <s:rect x="0" y="0" width="100" height="100" style="fill:red"/>
</s:svg>
</body>
</xhtml:html>


以上例子展示,通过 xmlns 来指定命名空间,通过 xmlns:prefix 来指定 前缀,一但指定的前缀,就得在当前元素,以及子元素使用。


有时候为了避免不同语言间的冲突,也需要使用命名空间来限定特性,如下面的例子所示。

<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml">
<xhtml:head>
<xhtml:title>Example XHTML page</xhtml:title>
</xhtml:head>
<xhtml:body xhtml:class="home">
Hello world!
</xhtml:body>
</xhtml:html>



(一)Node类型的变化:

在DOM2中 Node类型包含了下表特定于命名空间的特性

  1. localName
  2. prefix
  3. namespaceURL


在DOM3中,更进一步增加了下列属性和方法

  1. isDefaultNamaspace(namespaceURL)
  2. lookupNamespaceURL(prefix)
  3. lookupPrefix(namespaceURL)


(二)Document 类型的变化


createElementNS(namespaceURL,tagName)

createAttributeNS(namespaceURL,tagName)

getElementByTagName(namespaceURL,tagName)


只有文档中存在两个或多个命名空间的时候,这些跟命名空间相关的方法才是必须的。


(三)Element 类型的变化

       DOM core 中 ,涉及命名空间的变化 ,主要是操作特性的方法。

getAttributeNS(namespaceURL,localName)

getAttributeNodeNS(namespaceURL,localName)

getElementByTagName(namespaceURL,tagName)

hasAttribute(namespaceURL,tagName)  //dom 也同时增加了 hasAttribute()

removeAttributeNS(namespaceURL,localName)

setAttributeNS(namespaceURL,localName,value)

setAttributeNodeNS(namespaceURL,attNode)


除了第一个参数之外,这些方法与DOM1 级中相关方法的作用相同;第一个参数始终都是一个命名空间URI。


(四) NamedNodeMap 类型的变化


getNamedItemNS(namespaceURL,localName)

setNamedItemNS(node)

removeNamedItemNS(namespaceURL,localName)


由于一般都是通过元素访问特性,所以这些方法很少使用。

        

全栈JavaScript之路( 二十三 )DOM2、DOM3, 涉及XML命名空间的扩展(一),布布扣,bubuko.com

全栈JavaScript之路( 二十三 )DOM2、DOM3, 涉及XML命名空间的扩展(一)

标签:xhtml   xml   namascpce   

原文地址:http://blog.csdn.net/liveinjs/article/details/37651135

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!