; 8c@sh dZddd!ZdkZdklZlZlZdklZhdd<d d<d d<d defd?YZ"d@fdAYZ#dBe"fdCYZ$dDe#e$fdEYZ%dFe$fdGYZ&dHe$fdIYZ'dJe$fdKYZ(dLe$fdMYZ)dNe$fdOYZ*dPe$fdQYZ+dRe$fdSYZ,dTe$fdUYZ-dVe$fdWYZ.dXe$fdYYZ/dZe$fd[YZ0d\e$fd]YZ1d^e$fd_YZ2d`e$fdaYZ3dbe$fdcYZ4dde$fdeYZ5dfe$fdgYZ6dhe$fdiYZ7dje$fdkYZ8dle$fdmYZ9dne$fdoYZ:dpe$fdqYZ;dre$fdsYZ<dte%fduYZ=dve%fdwYZ>dxe%fdyYZ?dze%fd{YZ@d|e%fd}YZAd~e%fdYZBde%fdYZCdeCfdYZDde#e"fdYZEde"fdYZFde$fdYZGdeGfdYZHde#e"fdYZIde$fdYZJde"fdYZKde%fdYZLdeLfdYZMde"fdYZNdeNfdYZOde%fdYZPde%fdYZQde"fdYZRde"fdYZSde%fdYZTde#e"fdYZUde#e"fdYZVde%fdYZWde#e"fdYZXde"fdYZYde#e"fdYZZdeZfdYZ[de%fdYZ\de#e"fdYZ]de$fdYZ^de$fdYZ_de$fdYZ`de%fdYZadeafdYZbdeafdYZcde%fdYZdde#e"fdYZede%fdYZfde%fdYZgde%fdYZhdehfdYZide"fdYZjde"fdYZkde$fdYZlde#elfdYZmde#e"fdYZnde%fdYZode%fdYZpdepfdYZqdepfdYZrdepfdYZsdepfdYZtdetfdYZude$fdYZvdZwgdZxgdZygdZzgdZ{gdZ|gdZ}de#e"fdYZ~dZdZeieidZdZdZgdZgdZdZddZdZdZdZdZdZdZdZdS(sXHTML10 -- generate XHTML conformant to the 1.0 standard. See: http://www.w3.org/TR/xhtml1/ Implemented similarly to HTML40; see the docs in that module. s$Revision: 1.4 $i iN(slowersjoinsreplace(sstdoutsidisklasssstylestitleslangsdirsonloadsonunloadsonclicks ondblclicks onmousedowns onmouseups onmouseovers onmousemoves onmouseoutsonfocussonblurs onkeypresss onkeydownsonkeyupsonsubmitsonresetsonselectsonchangesaltsshapescoordsshrefstargetstabindexs accesskeysheightswidthsbordersalignshspacesvspacescharscharoffsvalignssizescolorsfaceshreflangstypesrelsrevsframesrules(sMarkupsComment(sXMLPIsDOCTYPEsRhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"sJhtml PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd"sElementcBsMtZhZdZdZdZdZdZdZdZ dZ RS( NcOsh|_t|d ot|ii|_n|io|i|in|i||i o|o t dnt ||_ dS(NsnamesNo content for this element(sselfsdictshasattrslowers __class__s__name__snamesdefaultssupdatesattrs content_modelscontents TypeErrorslist(sselfscontentsattr((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pys__init__?s    cCs+x$|iD]\}}|||s<%s>scCs<|i}|o|i|i|fp|i|iSdS(N(sselfsstr_attribute_listsasstart_tag_stringsnamesstart_tag_no_attr_string(sselfsa((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pys start_tagTs cCs|i|iSdS(N(sselfsend_tag_stringsname(sself((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pysend_tagYs( s__name__s __module__sdefaultss__init__supdates __setitem__sstart_tag_stringsstart_tag_no_attr_stringsend_tag_strings start_tagsend_tag(((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pysElement;s   sPrettyTagsMixIncBs)tZedddZdddZRS(NiicCsdd|}|i||ixU|iD]J}t|do!t |d||||q/|it |q/W|i|i dS(Ns s swriteto( sindentsmyindentsfpswritesselfs start_tagscontentscshasattrsgetattrsperlevelsstrsend_tag(sselfsfpsindentsperlevelscsmyindent((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pyswriteto_s !cCs|odpdd|}||ig}xU|iD]J}y'|it |i |||fWq8|it |q8Xq8W|i|i t |dSdS(Ns ss (sperlevelsindentsmyindentsselfs start_tagssscontentscsappendsapplys__str__sstrsend_tagsjoin(sselfsindentsperlevelscsmyindentss((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pys__str__is '(s__name__s __module__sstdoutswritetos__str__(((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pysPrettyTagsMixIn]s s CommonElementcBstZeZRS(N(s__name__s __module__sattrssattlist(((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pys CommonElementrss PCElementcBstZRS(N(s__name__s __module__(((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pys PCElementtssAcBs[tZhdds(sselfsstr_attribute_listsaslevel(sselfsa((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pys start_tag s cCs |io d|ipdSdS(Ns s(sselfs content_modelslevel(sself((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pysend_tags(s__name__s __module__sattlistsupdatesattrss__init__s start_tagsend_tag(((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pysHeadings    sHEADcBs$tZhdds>(sreplacesrss(sssr((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pys quote_bodyss_,.-cCs{g}xa|D]Y}|tjo|i|q |djo|idq |idt|q Wt|dSdS(Ns s+s%%%02xs(slssscssafesappendsordsjoin(ssscsl((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pys url_encodes  cOst|d}g}x=|iD]/\}}|idt |t |fq"Wt|d}|ot||gdp|SdS(Ns/s%s=%ss&s?( sjoinsargssurl_pathsaskwargssitemssksvsappends url_encodesurl_vals(sargsskwargssasvsksurl_valssurl_path((sB/mnt/gmirror/ports/textproc/py-HyperText/work/HyperText/XHTML10.pysURLs 'cKslg}x[|D]S\}}tt|f|}||d<||jod|d