ó \STc@sÔddlZddlZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddl m Z m Z dZd Zd"Zd ed ZdededdZdedZejdedeefejƒZy eƒWn<ddlmZejddƒdd„Zd„ZnXdd#d„ƒYZejdƒZiZx*e jƒD]\ZZ eeƒee [a-zA-Z][a-zA-Z0-9]*)s ("[^"]*")|s ('[^']*')s\s*(?Pt)s\s*PUBLIC\s*(?Pt(is)?)tSYSTEMisDOCTYPE s(%s|%s)?(twstringsISO_8859-1:1987sUS-ASCIIcCs2y#tjtj|ƒ|ƒjƒSWn|SXdS(sCreate a UTF-8 stringN(R tdecodetstringtuppertutf8(tstrtencoding((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pytunicodes#cCs&ytj|ƒjƒSWn|SXdS(s3Create a UTF-8 string from a Unicode character codeN(R tchrR(tchar((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pytunichrst SgmlopParsercBsŒeZdd„Zd„Zdd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „ZRS(cCsFidd6dd6dd6dd6d d 6|_|oA|jj|ƒdS( Nt&tampt'taposttgtt"tquot(tentitiestupdate(tselfR ((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyt__init__'s   cCs||_|jj|ƒdS(N(t_parsertregister(R"tparser((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyt initParser0s cCstd|ƒ‚dS(NsinitState: ownerDoc=%s(tNotImplementError(R"townerDoc((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyt initState5scCs|jj|jƒƒdS(N(R$tparsetread(R"tstream((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR+8scCstd|ƒ‚dS(sHandles directivesshandle_special: data=%sN(tNotImplementedError(R"tdata((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pythandle_special<scCstd||fƒ‚dS(s Handles processing instructions.shandle_proc: target=%s, data=%sN(R.(R"ttargetR/((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyt handle_proc@scCstd|ƒ‚dS(sF In XML mode attrs is a dictionary, otherwise a list. sfinish_starttag: name=%sN(R.(R"ttagnametattrs((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pytfinish_starttagDscCstd|ƒ‚dS(Nsfinish_endtag: name=%s(R.(R"R3((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyt finish_endtagJscCs:|jj|ƒr)|j|j|ƒn |j|ƒdS(N(R thas_keyt handle_datatunknown_entityref(R"tname((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pythandle_entityrefMs cCstd|ƒ‚dS(Nshandle_cdata: data=%s(R.(R"R/((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyt handle_cdata^scCstd|ƒ‚dS(Nshandle_data: data=%s(R.(R"R/((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR8ascCstd|ƒ‚dS(Nshandle_comment: data=%s(R.(R"R/((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pythandle_commentdscCsdS(N((R"R:((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pytunknown_endtaggscCsdS(N((R"R:((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR9hsN(t__name__t __module__tNoneR#R'R*R+R0R2R5R6R;R<R8R=R>R9(((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR&s            s*charset\s*=\s*(?P[a-zA-Z0-9_\-]+)t HtmlParsercBsqeZd„Zd„Zd dd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z RS( cCstj|tƒdS(N(RR#t HTML_ENTITIES(R"((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR#rscCstj|tjƒƒdS(N(RR'Rt SGMLParser(R"((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR'ustcCsU|ptjdƒ|_|p!t|_|jjƒ|_|jg|_d|_dS(NREi( RtcreateHTMLDocumentt _ownerDoctDEFAULT_CHARSETt_charsettcreateDocumentFragmenttrootNodet_stackt_hasHtml(R"R)tcharset((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR*xs  cCsdS(N((R"R/((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR0€scCsdS(N((R"R1R/((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR2„sc Csôt||jƒ}tj|ƒ}tj|ƒs4dS|jjt|ƒ}|dkrÉt d„|ƒ}d |krÉxP|D]E\}}|dkrzt j |ƒ} | r¿| j dƒ|_q¿qzqzWqÉnx?|D]7\}}|j tt||jƒt||jƒƒqÐWxœtdt|jƒƒD]‚} |j| } |ttj| jƒkr$| j|ƒ| dkr…|j| d |_nt|r¢|jj|ƒndSq$W|j rð|dkrð|jd j|ƒ|jj|ƒd|_ndS( NtmetacSs(|\}}tj|ƒtj|ƒfS(N(R tlower(t.0R:tvalue((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyt“s s http-equivs content-typetcontentRNithtmli(s http-equivs content-type(RRIR RPRR7RGtcreateElementNSRtmapt g_reCharsettsearchtgrouptsetAttributeNStrangetlenRLttagNamet appendChildtappendRM( R"R3R4tunicodeTagNamet lowerTagNametelementtloweredR:RRtmatchtitparent((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR5ˆs>     "    cCsttjt||jƒƒ}xRtdt|jƒƒD]8}|j| }||jkr4|j| |_Pq4q4WdS(Ni(R R RRIR\R]RLR^(R"R3t uppercaseRfRc((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR6´scCsŠ|jj|ƒry|j|}|jd}|jp8|}|jtjkr]|j|ƒq†|j|j j |ƒƒn |j |ƒdS(Niÿÿÿÿ( R R7RLt lastChildtnodeTypeRt TEXT_NODEt appendDataR_RGtcreateTextNodeR9(R"R:tunidatatnodet text_node((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR;¾s   cCsmt||jƒ}|jd}|jp+|}|jtjkrP|j|ƒn|j|j j |ƒƒdS(Niÿÿÿÿ( RRIRLRiRjRRkRlR_RGRm(R"R/RnRoRp((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR8Ës cCs™|ddkr&t|ddƒ}n t|ƒ}t|ƒ}|jd}|jpW|}|jtjkr||j|ƒn|j|j j |ƒƒdS(Nitxiiiÿÿÿÿ( tintRRLRiRjRRkRlR_RGRm(R"RRRnRoRp((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pythandle_charrefÕs   cCs*|jj|ƒ}|jdj|ƒdS(Niÿÿÿÿ(RGt createCommentRLR_(R"R/tcomment((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR=èsN(R?R@R#R'RAR*R0R2R5R6R;R8RsR=(((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyRBps     , t XmlParsercBs/eZd„Zdd„Zd„Zd„ZRS(cCstj|tjƒƒdS(N(RR'Rt XMLParser(R"((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR'ïscCsd|_|r<||_|jjƒ|_|jg|_nd|_g|_d|_d|_g|_itd6|_ g|_ d|_ dS(NtxmlRE( RARGRJt _rootNodeRLt_dtt_xmlDeclt_orphanedNodest XML_NAMESPACEt _namespacest_namespaceStackt _currText(R"R)((sM/opt/freeware/lib64/python2.7/site-packages/_xmlplus/dom/ext/reader/Sgmlop.pyR*òs         c Cs i}g}i}xª|jƒD]œ\}}t|ƒ\}} |||| |f<| dkr|jj|ƒr‚|j|||s60'   D}