*/\r
\r
var\r
- X_Node_Selector__PSEUDO = {\r
+ X_Node_Selector__PSEUDO = {\r
'nth-child' : 9,\r
'nth-last-child' : 14,\r
'nth-of-type' : 11,\r
'nth-last-of-type' : 16,\r
- root : 4,\r
- link : 4,\r
- lang : 4,\r
- empty : 5,\r
- target : 6,\r
- invalid : 7,\r
- enabled : 7,\r
- checked : 7,\r
- disabled : 8,\r
- contains : 8,\r
+ 'root' : 4,\r
+ 'link' : 4,\r
+ 'lang' : 4,\r
+ 'empty' : 5,\r
+ 'target' : 6,\r
+ 'invalid' : 7,\r
+ 'enabled' : 7,\r
+ 'checked' : 7,\r
+ 'disabled' : 8,\r
+ 'contains' : 8,\r
'last-child' : 10,\r
'only-child' : 10, \r
'first-child' : 11,\r
'@' : 6 // XML 用の拡張、属性ノードを辿る http://www.marguerite.jp/Nihongo/WWW/RefDOM/_Attr_interface.html\r
},\r
X_Node_Selector__SELECTOR = {\r
- '' : 0, // none\r
- tag : 1,\r
- '#' : 2,\r
- '.' : 3,\r
- ':' : 4,\r
- '[' : 5,\r
- not : 6,\r
- scope : 7,\r
- root : 8,\r
- link : 9\r
+ '' : 0, // none\r
+ 'tag' : 1,\r
+ '#' : 2,\r
+ '.' : 3,\r
+ ':' : 4,\r
+ '[' : 5,\r
+ 'not' : 6,\r
+ 'scope' : 7,\r
+ 'root' : 8,\r
+ 'link' : 9\r
},\r
X_Node_Selector__OPERATORS = { '==' : 1, '!=': 2, '~=': 3, '^=': 4, '$=': 5, '*=': 6, '|=': 7 }, // '':0 は属性が存在するならtrue\r
// TODO { a : 1, A : 2, _ : 3,,, }\r
};\r
\r
var X_Node_Selector__filter = {\r
- 'root' : function( elem ){\r
- return elem === ( elem.ownerDocument || elem.document ).documentElement;\r
+ 'root' : function(){\r
+ return X_Node_html;\r
},\r
'target' : {\r
m : function( flags, xnodes ){\r
i = 0, n = -1, xnode, tmp, node;\r
for( ; xnode = xnodes[i]; ++i ){\r
tmp = true;\r
- for( node = xnode[ 'firstChild' ](); node; node = node.nextSibling() ){\r
+ for( node = xnode[ 'firstChild' ](); node; node = node[ 'next' ]() ){\r
if( node[ '_tag' ] || node[ '_text' ] ){\r
tmp = false;\r
break;\r