Ñò §ÚêLc@s.dZddkZddkZddkZddkZddkZddkZyeieigZ Wne j oeigZ nXyddk l Z dZ [ Wnej o dZ nXd„Zhd„Zhd„Zhd „Zd eifd „ƒYZd eifd „ƒYZdd„ZdS(snA library of useful helper classes to the SAX classes, for the convenience of application and driver writers. iÿÿÿÿN(txmlcharrefreplace_errorstxmlcharrefreplacetstrictcCs3x,|iƒD]\}}|i||ƒ}q W|S(s2Replace substrings of a string using a dictionary.(titemstreplace(tstdtkeytvalue((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt__dict_replaces cCsT|iddƒ}|iddƒ}|iddƒ}|ot||ƒ}n|S(süEscape &, <, and > in a string of data. You can escape other strings of data by passing a dictionary as the optional entities parameter. The keys and values must all be strings; each key will be replaced with its corresponding value. t&s&t>s>t in a string of data, then quote it for use as an attribute value. The " character will be escaped as well, if necessary. You can escape other strings of data by passing a dictionary as the optional entities parameter. The keys and values must all be strings; each key will be replaced with its corresponding value. s s s s s s t"t's"%s"s"s'%s'(tcopytupdateRR(R R((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt quoteattr<s "   t XMLGeneratorcBsƒeZddd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „ZRS(s iso-8859-1cCsq|djoddk}|i}ntii|ƒ||_hg|_|id|_g|_ ||_ dS(Niÿÿÿÿ( tNonetsyststdoutthandlertContentHandlert__init__t_outt _ns_contextst_current_contextt_undeclared_ns_mapst _encoding(tselftouttencodingR((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRVs      cCsGt|tƒo|ii|ƒn |ii|i|itƒƒdS(N(t isinstancetstrRtwritetencodeR!t_error_handling(R"ttext((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt_writeascCs@|do-|i|d}|o|d|dSn|dS(s7Builds a qualified name from a (ns_url, localname) pairit:i(R(R"tnametprefix((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt_qnamegs  cCs|id|iƒdS(Ns$ (R+R!(R"((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt startDocumentts cCs@|ii|iiƒƒ||i|<|ii||fƒdS(N(RtappendRRR (R"R.turi((s(/usr/lib64/python2.6/xml/sax/saxutils.pytstartPrefixMappingxs cCs|id|_|id=dS(Niÿÿÿÿ(RR(R"R.((s(/usr/lib64/python2.6/xml/sax/saxutils.pytendPrefixMapping}scCs\|id|ƒx7|iƒD])\}}|id|t|ƒfƒqW|idƒdS(NR s %s=%sR (R+RR(R"R-tattrsR((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt startElements  !cCs|id|ƒdS(Ns(R+(R"R-((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt endElement‡scCsÊ|id|i|ƒƒxP|iD]E\}}|o|iid||fƒq$|iid|ƒq$Wg|_x@|iƒD]2\}}|id|i|ƒt|ƒfƒqƒW|idƒdS(NR s xmlns:%s="%s"s xmlns="%s"s %s=%sR (R+R/R RR'RR(R"R-tqnameR5R.R2R((s(/usr/lib64/python2.6/xml/sax/saxutils.pytstartElementNSŠs   *cCs|id|i|ƒƒdS(Ns(R+R/(R"R-R8((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt endElementNS˜scCs|it|ƒƒdS(N(R+R(R"tcontent((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt characters›scCs|i|ƒdS(N(R+(R"R;((s(/usr/lib64/python2.6/xml/sax/saxutils.pytignorableWhitespacežscCs|id||fƒdS(Ns (R+(R"ttargetR ((s(/usr/lib64/python2.6/xml/sax/saxutils.pytprocessingInstruction¡sN(t__name__t __module__RRR+R/R0R3R4R6R7R9R:R<R=R?(((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRTs          t XMLFilterBasecBs eZdZdd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(sYThis class is designed to sit between an XMLReader and the client application's event handlers. By default, it does nothing but pass requests up to the reader and events on to the handlers unmodified, but subclasses can override specific methods to modify the event stream or the configuration requests as they pass through.cCstii|ƒ||_dS(N(t xmlreadert XMLReaderRt_parent(R"tparent((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR­scCs|ii|ƒdS(N(t _err_handlerterror(R"t exception((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRH³scCs|ii|ƒdS(N(RGt fatalError(R"RI((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRJ¶scCs|ii|ƒdS(N(RGtwarning(R"RI((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRK¹scCs|ii|ƒdS(N(t _cont_handlertsetDocumentLocator(R"tlocator((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRM¾scCs|iiƒdS(N(RLR0(R"((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR0ÁscCs|iiƒdS(N(RLt endDocument(R"((s(/usr/lib64/python2.6/xml/sax/saxutils.pyROÄscCs|ii||ƒdS(N(RLR3(R"R.R2((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR3ÇscCs|ii|ƒdS(N(RLR4(R"R.((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR4ÊscCs|ii||ƒdS(N(RLR6(R"R-R5((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR6ÍscCs|ii|ƒdS(N(RLR7(R"R-((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR7ÐscCs|ii|||ƒdS(N(RLR9(R"R-R8R5((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR9ÓscCs|ii||ƒdS(N(RLR:(R"R-R8((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR:ÖscCs|ii|ƒdS(N(RLR<(R"R;((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR<ÙscCs|ii|ƒdS(N(RLR=(R"tchars((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR=ÜscCs|ii||ƒdS(N(RLR?(R"R>R ((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR?ßscCs|ii|ƒdS(N(RLt skippedEntity(R"R-((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRQâscCs|ii|||ƒdS(N(t _dtd_handlert notationDecl(R"R-tpublicIdtsystemId((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRSçscCs|ii||||ƒdS(N(RRtunparsedEntityDecl(R"R-RTRUtndata((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRVêscCs|ii||ƒS(N(t _ent_handlert resolveEntity(R"RTRU((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRYïscCsT|ii|ƒ|ii|ƒ|ii|ƒ|ii|ƒ|ii|ƒdS(N(REtsetContentHandlertsetErrorHandlertsetEntityResolvert setDTDHandlertparse(R"tsource((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR^ôs cCs|ii|ƒdS(N(REt setLocale(R"tlocale((s(/usr/lib64/python2.6/xml/sax/saxutils.pyR`ûscCs|ii|ƒS(N(REt getFeature(R"R-((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRbþscCs|ii||ƒdS(N(REt setFeature(R"R-tstate((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRcscCs|ii|ƒS(N(REt getProperty(R"R-((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRescCs|ii||ƒdS(N(REt setProperty(R"R-R((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRfscCs|iS(N(RE(R"((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt getParent scCs ||_dS(N(RE(R"RF((s(/usr/lib64/python2.6/xml/sax/saxutils.pyt setParentsN( R@RAt__doc__RRRHRJRKRMR0ROR3R4R6R7R9R:R<R=R?RQRSRVRYR^R`RbRcReRfRgRh(((s(/usr/lib64/python2.6/xml/sax/saxutils.pyRB¥s:                           tcCsEt|ƒtjoti|ƒ}nXt|dƒoG|}tiƒ}|i|ƒt|dƒo|i|iƒq}n|iƒdjo±|i ƒ}t i i t i i|ƒƒ}t i i||ƒ}t i i|ƒo |i|ƒt|dƒ}n/|iti||ƒƒti|i ƒƒ}|i|ƒn|S(s‚This function takes an InputSource and an optional base URL and returns a fully resolved InputSource object ready for reading.treadR-trbN(ttypet _StringTypesRCt InputSourcethasattrt setByteStreamt setSystemIdR-t getByteStreamRt getSystemIdtostpathtdirnametnormpathtjointisfiletopenturlparseturljointurllibturlopen(R_tbasetftsysidtbaseheadt sysidfilename((s(/usr/lib64/python2.6/xml/sax/saxutils.pytprepare_input_sources&    (RiRuR|R~ttypesRRCt StringTypet UnicodeTypeRntAttributeErrortcodecsRR)t ImportErrorR RRRRRRDRBR…(((s(/usr/lib64/python2.6/xml/sax/saxutils.pyts(0       Qo