OSDN Git Service

importNodeメソッドの条件分岐を整理して軽量化
authordhrname <dhrname@users.sourceforge.jp>
Sat, 23 Jun 2012 16:08:17 +0000 (01:08 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Sat, 23 Jun 2012 16:08:17 +0000 (01:08 +0900)
org/w3c/core.js

index 589fe58..c870da7 100644 (file)
@@ -881,7 +881,14 @@ Document.constructor = Node;
   /*以下の処理は引き渡されたimportedNodeがMSXMLによって解析された
    *データであることを前提にしている
    */
-  if (imn === /*Node.ELEMENT_NODE*/ 1) {
+  if (imn === /*Node.ATTRIBUTE_NODE*/ 2) {
+    uri = importedNode.namespaceURI;
+    uri = (uri === "") ? null : uri; //空文字列はnullとして扱うようにする(MSXMLが空文字列を返す時の対策)
+    s = this.createAttributeNS(uri, importedNode.nodeName);
+    s.nodeValue = importedNode.nodeValue;
+  } else if (imn === /*Node.TEXT_NODE*/ 3) {
+    s = this.createTextNode(importedNode.data);
+  } else if (imn === /*Node.ELEMENT_NODE*/ 1) {
     s = this.createElementNS(importedNode.namespaceURI, importedNode.nodeName);
     attr = importedNode.attributes;
     for (var i=0;attr[i];++i) { //NamedNodeMapを検索する
@@ -901,16 +908,9 @@ Document.constructor = Node;
       }
     }
     i = void 0;
-  } else if(imn === /*Node.TEXT_NODE*/ 3) {
-    s = this.createTextNode(importedNode.data);
-  } else if(imn === /*Node.ATTRIBUTE_NODE*/ 2) {
-    uri = importedNode.namespaceURI;
-    uri = (uri === "") ? null : uri; //空文字列はnullとして扱うようにする(MSXMLが空文字列を返す時の対策)
-    s = this.createAttributeNS(uri, importedNode.nodeName);
-    s.nodeValue = importedNode.nodeValue;
-  } else if(imn === /*Node.COMMENT_NODE*/ 8) {
+  } else if (imn === /*Node.COMMENT_NODE*/ 8) {
     s = this.createComment(importedNode.data);
-  } else if(imn === /*Node.DOCUMENT_FRAGMENT_NODE*/ 11) {
+  } else if (imn === /*Node.DOCUMENT_FRAGMENT_NODE*/ 11) {
     s = this.createDocumentFragment();
     if (deep) {
       ch = importedNode.childNodes;
@@ -920,9 +920,9 @@ Document.constructor = Node;
       }
     }
     i = chli = void 0;
-  } else if(imn === /*Node.CDATA_SECTION_NODE*/ 4) {
+  } else if (imn === /*Node.CDATA_SECTION_NODE*/ 4) {
     s = this.createCDATASection(importedNode.data);
-  } else if(imn === /*Node.ENTITY_REFERENCE_NODE*/ 5) {
+  } else if (imn === /*Node.ENTITY_REFERENCE_NODE*/ 5) {
     s = this.createEntityReference(importedNode.nodeName);
     if (deep) {
       fi = importedNode.firstChild;
@@ -932,14 +932,14 @@ Document.constructor = Node;
         fi = fi.nextSibling;
       }
     }    
-  } else if(imn === /*Node.ENTITY_NODE*/ 6) {
+  } else if (imn === /*Node.ENTITY_NODE*/ 6) {
     s = new Entity();
     s.publicId = importedNode.publicId;
     s.systemId = importedNode.systemId;
     s.notationName = importedNode.notationName;
-  } else if(imn === /*Node.PROCESSING_INSTRUCTION_NODE*/ 7) {
+  } else if (imn === /*Node.PROCESSING_INSTRUCTION_NODE*/ 7) {
     s = this.createProcessingInstruction(importedNode.nodeName, importedNode.nodeValue)
-  } else if(imn === /*Node.NOTATION_NODE*/ 12) {
+  } else if (imn === /*Node.NOTATION_NODE*/ 12) {
     s = new Notation();
     s.publicId = importedNode.publicId;
     s.systemId = importedNode.systemId;