X_HTMLParser_block = {'ADDRESS':1,'APPLET':1,'BLOCKQUOTE':1,'BUTTON':1,'CENTER':1,'DD':1,'DEL':1,'DIR':1,'DIV':1,'DL':1,'DT':1,'FIELDSET':1,'FORM':1,'FRAMESET':1,'HR':1,'IFRAME':1,'INS':1,\r
'ISINDEX':1,'LI':1,'MAP':1,'MENU':1,'NOFRAMES':1,'NOSCRIPT':1,'OBJECT':1,'OL':1,'P':1,'PRE':1,'SCRIPT':1,'TABLE':1,'TBODY':1,'TD':1,'TFOOT':1,'TH':1,'THEAD':1,'TR':1,'UL':1 },\r
// Inline Elements - HTML 4.01\r
- X_HTMLParser_inline = {'A':1,'ABBR':1,'ACRONYM':1,'APPLET':1,'B':1,'BASEFONT':1,'BDO':1,'BIG':1,'BR':1,'BUTTON':1,'CITE':1,'CODE':1,'DEL':1,'DFN':1,'EM':1,'FONT':1,'I':1,'IFRAME':1,'IMG':1,\r
+ X_HTMLParser_inline = {/*'A':1,*/'ABBR':1,'ACRONYM':1,'APPLET':1,'B':1,'BASEFONT':1,'BDO':1,'BIG':1,'BR':1,'BUTTON':1,'CITE':1,'CODE':1,'DEL':1,'DFN':1,'EM':1,'FONT':1,'I':1,'IFRAME':1,'IMG':1,\r
'INPUT':1,'INS':1,'KBD':1,'LABEL':1,'MAP':1,'OBJECT':1,'Q':1,'S':1,'SAMP':1,'SCRIPT':1,'SELECT':1,'SMALL':1,'SPAN':1,'STRIKE':1,'STRONG':1,'SUB':1,'SUP':1,'TEXTAREA':1,'TT':1,'U':1,'VAR':1},\r
// Elements that you can,' intentionally,' leave open\r
// (and which close themselves)\r
// Clean up any remaining tags\r
X_HTMLParser_parseEndTag( stack, handler );\r
\r
- async && handler.complete();\r
+ async && handler.asyncComplete();\r
};\r
\r
function X_HTMLParser__parseStartTag( stack, last, handler, html ){\r
( ( phase = 5 ) && ( attrName = html.substring( start, i ) ) );\r
break;\r
case 5 : // 属性の = または次の属性または htmlタグの閉じ\r
- ( whiteSpace[ chr ] & 16 ) ?// ie4 未対応の属性には cite = http:// となる\r
- 1 :\r
+ !( whiteSpace[ chr ] & 16 ) &&// ie4 未対応の属性には cite = http:// となる\r
+ // 1 :\r
( alphabets[ chr ] & 3 ) ?\r
( ( phase = 4 ) && ( attrs[ attrs.length ] = attrName ) && ( start = i ) ) :\r
chr === '=' ?\r
empty = empty || X_Dom_DTD_EMPTY[ tagUpper ];\r
!empty && ( stack[ stack.length ] = handler.isXML ? tagName : tagUpper );\r
\r
- if( handler.start( handler.isXML ? tagName : tagUpper, attrs, empty, i ) === false ) return false;\r
+ if( handler.tagStart( handler.isXML ? tagName : tagUpper, attrs, empty, i ) === false ) return false;\r
\r
return i;\r
};\r
name = name.toLowerCase();\r
value = X_Node_Attr_noValue[ name ] === 1 ? name : value;\r
attrs[ attrs.length ] = {\r
- name : name,\r
- value : value,\r
- escaped :\r
+ attName : name,\r
+ // attrValue : value,\r
+ escaped :\r
value.indexOf( '"' ) !== -1 ?\r
value.split( '"' ).join( '\\"' ).split( '\\\\"' ).join( '\\"' ) :\r
value\r
if ( 0 <= pos ) {\r
// Close all the open elements, up the stack\r
for ( ; pos < i; )\r
- handler.end( stack[ --i ] );\r
+ handler.tagEnd( stack[ --i ] );\r
\r
// Remove the open elements from the stack\r
stack.length = pos;\r
X_HTMLParser_htmlStringToXNode.flat.length = 0;\r
!X_HTMLParser_htmlStringToXNode.ignoreError && X.Logger.warn( 'X_Dom_Parser() error ' + html );\r
},\r
- start : function( tagName, attrs, noChild, length ){\r
+ tagStart : function( tagName, attrs, noChild, length ){\r
var xnode,\r
nest = X_HTMLParser_htmlStringToXNode.nest,\r
flat = X_HTMLParser_htmlStringToXNode.flat,\r
name = attr;\r
_attrs[ name ] = true;\r
} else {\r
- name = attr.name;\r
+ name = attr.attName;\r
_attrs[ name ] = attr.escaped;\r
};\r
};\r
xnode[ 'attr' ]( _attrs );\r
};\r
},\r
- end : function(){\r
+ tagEnd : function(){\r
0 < X_HTMLParser_htmlStringToXNode.nest.length && ( --X_HTMLParser_htmlStringToXNode.nest.length );\r
},\r
chars : function( text ){\r
X_HTMLParser_htmlStringToXNode.err( html );\r
this[ 'asyncDispatch' ]( X_EVENT_ERROR );\r
},\r
- start : X_HTMLParser_htmlStringToXNode.start,\r
- end : X_HTMLParser_htmlStringToXNode.end,\r
- chars : X_HTMLParser_htmlStringToXNode.chars,\r
- comment : X_emptyFunction,\r
+ tagStart : X_HTMLParser_htmlStringToXNode.tagStart,\r
+ tagEnd : X_HTMLParser_htmlStringToXNode.tagEnd,\r
+ chars : X_HTMLParser_htmlStringToXNode.chars,\r
+ comment : X_emptyFunction,\r
\r
progress : function( pct ){\r
this[ 'asyncDispatch' ]( { type : X_EVENT_PROGRESS, percent : pct } );\r
},\r
- complete : function(){\r
+ asyncComplete : function(){\r
var ret = X_HTMLParser_htmlStringToXNode.flat;\r
delete X_HTMLParser_htmlStringToXNode.flat;\r
this[ 'asyncDispatch' ]( { type : X_EVENT_SUCCESS, xnodes : ret } );\r