X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F02_dom%2F09_XDomParser.js;h=af11c4b0ae22954eb1076b63f20bf0b2beee25cb;hb=35b73e6051577fb7433bb11a074a3b5800550ac3;hp=db496efb940b4881a1615fd3fd4b63d923a40335;hpb=5f61a48d303bf9ca6bf021d8957aac743fc8958b;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/02_dom/09_XDomParser.js b/0.6.x/js/02_dom/09_XDomParser.js index db496ef..af11c4b 100644 --- a/0.6.x/js/02_dom/09_XDomParser.js +++ b/0.6.x/js/02_dom/09_XDomParser.js @@ -5,7 +5,7 @@ * */ -X_Dom_Parser = { +var X_Dom_Parser = { // HTMLParser CHARS : { A:1,B:1,C:1,D:1,E:1,F:1,G:1,H:1,I:1,J:1,K:1,L:1,M:1,N:1,O:1,P:1,Q:1,R:1,S:1,T:1,U:1,V:1,W:1,X:1,Y:1,Z:1, a:2,b:2,c:2,d:2,e:2,f:2,g:2,h:2,i:2,j:2,k:2,l:2,m:2,n:2,o:2,p:2,q:2,r:2,s:2,t:2,u:2,v:2,w:2,x:2,y:2,z:2, @@ -48,7 +48,7 @@ X_Dom_Parser = { */ // Attributes that have their values filled in disabled="disabled" - fillAttrs : X.Dom.Attr.noValue, //{checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1}; + fillAttrs : X_Node_Attr.noValue, //{checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1}; // Special Elements (can contain anything) special : { SCRIPT : 1, STYLE : 1, PLAINTEXT : 1, XMP : 1, TEXTAREA : 1 }, @@ -56,7 +56,7 @@ X_Dom_Parser = { exec : function( html, handler, async ){ var special = X_Dom_Parser.special, //plainText = X_Dom_Parser.plainText, - startTime = async && X.getTime(), + startTime = async && X_Timer_now(), _parseStartTag = X_Dom_Parser._parseStartTag, _parseEndTag = X_Dom_Parser._parseEndTag, stack = async ? async[ 1 ] : [], @@ -124,7 +124,7 @@ X_Dom_Parser = { return; }; - if( async && startTime + 15 <= X.getTime() && html ){ + if( async && startTime + 15 <= X_Timer_now() && html ){ handler.progress( 1 - html.length / async[ 0 ] ); X.Timer.once( 0, X_Dom_Parser.exec, [ html, handler, async ] ); return; @@ -266,7 +266,7 @@ X_Dom_Parser = { }; }, - parseStartTag : function( stack, last, handler, tagName, attrs, unary, index ) { + parseStartTag : function( stack, last, handler, tagName, attrs, empty, index ) { var inline = X_Dom_Parser.inline, parseEndTag = X_Dom_Parser.parseEndTag, sisters = X_Dom_Parser.sisters; @@ -277,10 +277,10 @@ X_Dom_Parser = { }; }; last && X_Dom_Parser.closeSelf[ tagName ] === 1 && ( last === tagName || ( sisters[ tagName ] && sisters[ tagName ][ last ] === 1 ) ) && parseEndTag( stack, handler, last ); - unary = unary || X_Dom_Parser.empty[ tagName ]; - !unary && ( stack[ stack.length ] = tagName ); + empty = empty || X_Dom_Parser.empty[ tagName ]; + !empty && ( stack[ stack.length ] = tagName ); - return handler.start( tagName, attrs, unary, index ); + return handler.start( tagName, attrs, empty, index ); }, parseEndTag : function( stack, handler, tagName ) { @@ -305,17 +305,17 @@ X_Dom_Parser = { }; -X.Dom._htmlStringToXNode = { +var X_HTMLParser_htmlStringToXNode = { flat : null, nest : [], err : function( html ){ - X.Dom._htmlStringToXNode.flat.length = 0; - X.Dom._htmlStringToXNode.ignoreError !== true && X.Logger.warn( 'X_Dom_Parser() error ' + html ); + X_HTMLParser_htmlStringToXNode.flat.length = 0; + X_HTMLParser_htmlStringToXNode.ignoreError !== true && X.Logger.warn( 'X_Dom_Parser() error ' + html ); }, start : function( tagName, attrs, noChild, length ){ var xnode, - nest = X.Dom._htmlStringToXNode.nest, - flat = X.Dom._htmlStringToXNode.flat, + nest = X_HTMLParser_htmlStringToXNode.nest, + flat = X_HTMLParser_htmlStringToXNode.flat, l = nest.length, attr, name, i, _attrs; //, toIndex; if( l ){ @@ -328,7 +328,7 @@ X.Dom._htmlStringToXNode = { _attrs = {}; for( ; i; ){ if( attr = attrs[ --i ] ){ - if( typeof attr === 'string' ){ + if( X.Type.isString( attr ) ){ name = attr; _attrs[ name ] = true; } else { @@ -341,20 +341,20 @@ X.Dom._htmlStringToXNode = { }; }, end : function(){ - 0 < X.Dom._htmlStringToXNode.nest.length && ( --X.Dom._htmlStringToXNode.nest.length ); + 0 < X_HTMLParser_htmlStringToXNode.nest.length && ( --X_HTMLParser_htmlStringToXNode.nest.length ); }, chars : function( text ){ - if( X.Dom._htmlStringToXNode.nest.length ){ - X.Dom._htmlStringToXNode.nest[ X.Dom._htmlStringToXNode.nest.length - 1 ].createText( text ); + if( X_HTMLParser_htmlStringToXNode.nest.length ){ + X_HTMLParser_htmlStringToXNode.nest[ X_HTMLParser_htmlStringToXNode.nest.length - 1 ].createText( text ); } else { - X.Dom._htmlStringToXNode.flat[ X.Dom._htmlStringToXNode.flat.length ] = X.Dom.Node.createText( text ); + X_HTMLParser_htmlStringToXNode.flat[ X_HTMLParser_htmlStringToXNode.flat.length ] = X.Dom.Node.createText( text ); }; }, comment : X.emptyFunction }; -X.Dom.parse = function( html, ignoreError ){ - var worker = X.Dom._htmlStringToXNode, ret; +function X_HtmlParser_parse( html, ignoreError ){ + var worker = X_HTMLParser_htmlStringToXNode, ret; worker.flat = []; worker.nest.length = 0; worker.ignoreError = ignoreError; @@ -364,29 +364,29 @@ X.Dom.parse = function( html, ignoreError ){ return ret; }; -X.Dom._asyncHtmlStringToXNode = { +var X_HTMLParser_asyncHtmlStringToXNode = { err : function( html ){ - X.Dom._htmlStringToXNode.err( html ); - this.asyncDispatch( 0, { type : X.Event.ERROR } ); + X_HTMLParser_htmlStringToXNode.err( html ); + this.asyncDispatch( X.Event.ERROR ); }, - start : X.Dom._htmlStringToXNode.start, - end : X.Dom._htmlStringToXNode.end, - chars : X.Dom._htmlStringToXNode.chars, + start : X_HTMLParser_htmlStringToXNode.start, + end : X_HTMLParser_htmlStringToXNode.end, + chars : X_HTMLParser_htmlStringToXNode.chars, comment : X.emptyFunction, progress : function( pct ){ - this.asyncDispatch( 0, { type : X.Event.PROGRESS, percent : pct } ); + this.asyncDispatch( { type : X.Event.PROGRESS, percent : pct } ); }, complete : function(){ - var ret = X.Dom._htmlStringToXNode.flat; - delete X.Dom._htmlStringToXNode.flat; - this.asyncDispatch( 0, { type : X.Event.SUCCESS, xnodes : ret } ); + var ret = X_HTMLParser_htmlStringToXNode.flat; + delete X_HTMLParser_htmlStringToXNode.flat; + this.asyncDispatch( { type : X.Event.SUCCESS, xnodes : ret } ); } }; -X.Dom.asyncParse = function( html, ignoreError ){ - var dispatcher = X.Class._override( new X.EventDispatcher(), X.Dom._asyncHtmlStringToXNode ), - worker = X.Dom._htmlStringToXNode; +function X_HTMLParser_asyncParse( html, ignoreError ){ + var dispatcher = X.Class._override( new X.EventDispatcher(), X_HTMLParser_asyncHtmlStringToXNode ), + worker = X_HTMLParser_htmlStringToXNode; dispatcher.listenOnce( X.Event.SUCCESS, dispatcher, dispatcher.kill ); worker.flat = []; worker.nest.length = 0;