svnno****@sourc*****
svnno****@sourc*****
2010年 2月 6日 (土) 23:39:11 JST
Revision: 1645
http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1645
Author: dhrname
Date: 2010-02-06 23:39:11 +0900 (Sat, 06 Feb 2010)
Log Message:
-----------
DOMImplementationの整理
Modified Paths:
--------------
branches/ufltima/core.js
Modified: branches/ufltima/core.js
===================================================================
--- branches/ufltima/core.js 2010-02-05 12:45:19 UTC (rev 1644)
+++ branches/ufltima/core.js 2010-02-06 14:39:11 UTC (rev 1645)
@@ -158,52 +158,60 @@
/*DOMImplementation
*DOMの基本的な機能をつかさどる
*/
-DOMImplementation = {};
-
-/* hasFeature
- *文字列によって、機能をサポートしているかどうかをチェックする。削除不可。
- */
-/*boolean*/ DOMImplementation.hasFeature = function(/*string*/ feature, version) {
- switch (feature) {
- case "CORE" :
- case "XML" :
- case "Events" : //DOM level2 Eventを参照
- case "StyleSheets" : //DOM level2 StyleSheetを参照
- case "org.w3c.svg.static" : //SVG1.1の仕様を参照
- case "org.w3c.dom.svg.static" :
- return true;
- default :
- if (version === "2.0") { //DOM level2 Coreにおいて策定されたバージョン情報
- return true;
- } else {
- return false;
+DOMImplementation = {
+ /*_map
+ *この中に、名前空間とローカル名を手がかりとしたオブジェクトを収納しておく(DOMでは規定されていない)
+ */
+ _map: {},
+ /* hasFeature
+ *文字列によって、機能をサポートしているかどうかをチェックする。削除不可。
+ */
+ /*boolean*/ hasFeature : function(/*string*/ feature, version) {
+ switch (feature) {
+ case "CORE" :
+ case "XML" :
+ case "Events" : //DOM level2 Eventを参照
+ case "StyleSheets" : //DOM level2 StyleSheetを参照
+ case "org.w3c.svg.static" : //SVG1.1の仕様を参照
+ case "org.w3c.dom.svg.static" :
+ return true;
+ default :
+ if (version === "2.0") { //DOM level2 Coreにおいて策定されたバージョン情報
+ return true;
+ } else {
+ return false;
+ }
}
- }
-};
+ },
-/* createDocumentType
- *ドキュメントタイプを作るためのもの。削除可。
- */
-/*DocumentType*/ DOMImplementation.createDocumentType = function(/*string*/ qualifiedName, publicId, systemId) {
- var s = new Node();
- s.publicId = publicId;
- s.systemId = systemId;
- return s;
-};
+ /* createDocumentType
+ *ドキュメントタイプを作るためのもの。削除可。
+ */
+ /*DocumentType*/ createDocumentType : function(/*string*/ qualifiedName, publicId, systemId) {
+ var s = new Node();
+ s.publicId = publicId;
+ s.systemId = systemId;
+ return s;
+ },
+ /* createDocument
+ * ドキュメントオブジェクトを作るためのもの。削除不可。
+ */
+ /*Document*/ createDocument : function( /*string*/ ns, qname, /*DocumentType*/ doctype) {
+ try {
+ var s;
+ if (ns) {
+ s = new (DOMImplementation._map[ns].Document);
+ } else {
+ s = new Document();
+ }
+ s.documentElement = s.createElementNS(ns,qname); //ルート要素を作る
+ s.implementation = this;
+ s.doctype = doctype;
+ return s;
+ } catch(e){alert(e.message);}
+ }
+}
-/* createDocument
- * ドキュメントオブジェクトを作るためのもの。削除不可。
- */
-/*Document*/ DOMImplementation.createDocument = function( /*string*/ ns, qname, /*DocumentType*/ doctype) {
- try {
- var s = new Document();
- s.documentElement = s.createElementNS(ns,qname); //ルート要素を作る
- s.implementation = this;
- s.doctype = doctype;
- return s;
- } catch(e){alert(e.message);}
-};
-
/* Node
*ノード(節)はすべての雛形となる重要なものである。削除不可。
*