Ńň ŸŞJc@s­dZddklZddklZddklZlZddklZl Z dei fd„ƒYZ d„Z d efd „ƒYZ d efd „ƒYZd „ZdS(sI SAX-based adapter to copy trees from/to the Python standard library. Use the `ElementTreeContentHandler` class to build an ElementTree from SAX events. Use the `ElementTreeProducer` class or the `saxify()` function to fire the SAX events of an ElementTree against a SAX ContentHandler. See http://codespeak.net/lxml/sax.html i˙˙˙˙(tContentHandler(tetree(t ElementTreet SubElement(tCommenttProcessingInstructiontSaxErrorcBseZdZRS(sGeneral SAX error. (t__name__t __module__t__doc__(((s./usr/lib64/python2.6/site-packages/lxml/sax.pyRscCs:|ddjot|diddƒƒSd|fSdS(Nit{it}(ttupletsplittNone(ttag((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt _getNsTagstElementTreeContentHandlercBs§eZdZdd„Zd„ZeedeiƒZd„Zd„Z d„Z d„Z d„Z dd „Z d „Zd „Zdd „Zd „Zd„ZeZRS(s/Build an lxml ElementTree from SAX events. cCsgd|_g|_g|_d|_hdgd6|_h|_|djo ti}n||_ dS(N( Rt_roott_root_siblingst_element_stackt _default_nst _ns_mappingt _new_mappingsRtElementt _makeelement(tselft makeelement((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt__init__ s       cCs t|iƒS(s=Contains the generated ElementTree after parsing is finished.(RR(R((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt _get_etree+stdoccCsdS(N((Rtlocator((s./usr/lib64/python2.6/site-packages/lxml/sax.pytsetDocumentLocator1scCsdS(N((R((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt startDocument4scCsdS(N((R((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt endDocument7scCsi||i|          cCsKt||ƒ}|idjo|ii|ƒn|idi|ƒdS(Ni˙˙˙˙(RRRRR#R(Rttargettdatatpi((s./usr/lib64/python2.6/site-packages/lxml/sax.pytprocessingInstructionqscCs=|iiƒ}|t|iƒjotd|ƒ‚ndS(Ns!Unexpected element closed: {%s}%s(RR(RRR(RR1R2R=((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt endElementNSxscCs|id|f||ƒdS(N(R?R(RtnameR3((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt startElement}scCs|id|f|ƒdS(N(RDR(RRE((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt endElement€scCsc|id}y%|d}|ipd||_Wn*tj o|ipd||_nXdS(Ni˙˙˙˙t(Rttailt IndexErrorttext(RRAt last_element((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt charactersƒs   N(RRR RRRtpropertyRR R!R"R'R*R?RCRDRFRGRMtignorableWhitespace(((s./usr/lib64/python2.6/site-packages/lxml/sax.pyRs       (     tElementTreeProducercBs2eZdZd„Zd„Zd„Zd„ZRS(s5Produces SAX events for an element and children. cCsmy|iƒ}Wntj o |}nX||_||_ddkl}||_|hhƒ|_dS(Ni˙˙˙˙(tAttributesNSImpl(tgetrootR-t_elementt_content_handlertxml.sax.xmlreaderRQt _attr_classt_empty_attributes(Rtelement_or_treetcontent_handlerR=t attr_class((s./usr/lib64/python2.6/site-packages/lxml/sax.pyR“s    cCs"|iiƒ|i}t|dƒo~g}|iƒ}x7t|ddƒtjo|i|ƒ|iƒ}q;Wx/|ddd…D]}|i |hƒq†Wn|i |hƒt|dƒoM|i ƒ}x>t|ddƒtjo |i |hƒ|i ƒ}qÓWn|ii ƒdS(Nt getpreviousRi˙˙˙˙tgetnext( RTR!RSR/R[tgetattrRRR#t_recursive_saxifyR\R"(RR=tsiblingsR>((s./usr/lib64/python2.6/site-packages/lxml/sax.pytsaxifyžs(     c Cs|i}|i}|tjp |tjoJ|tjo|i|i|iƒn|io|i|iƒndSg}|i }|i ƒ}|oph}h} xK|D]C\} } t | ƒ} | || <|| d| d||ƒ| | tj o2dt|ƒ}||<|i||fƒnX|d|S(Nsns%02dt:(RR$tlenR#(RR4R5RbRcR%((s./usr/lib64/python2.6/site-packages/lxml/sax.pyRaŕs (RRR RR`R^Ra(((s./usr/lib64/python2.6/site-packages/lxml/sax.pyRPs   +cCst||ƒiƒS(slOne-shot helper to generate SAX events from an XML tree and fire them against a SAX ContentHandler. (RPR`(RXRY((s./usr/lib64/python2.6/site-packages/lxml/sax.pyR`ęsN(R txml.sax.handlerRtlxmlRt lxml.etreeRRRRt LxmlErrorRRRtobjectRPR`(((s./usr/lib64/python2.6/site-packages/lxml/sax.pyt s sZ