ó ;˜gQc@s­dZddlmZddlmZddlmZmZddlmZm Z dej 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.7/site-packages/lxml/sax.pyRscCs8|ddkr*t|djddƒƒSd|fSdS(Nit{it}(ttupletsplittNone(ttag((s./usr/lib64/python2.7/site-packages/lxml/sax.pyt _getNsTagstElementTreeContentHandlercBs°eZdZdd„Zd„ZeedejƒZd„Zd„Z d„Z d„Z d„Z d „Z dd „Zd „Zd „Zdd „Zd„Zd„ZeZRS(s/Build an lxml ElementTree from SAX events. cCsed|_g|_g|_d|_idgd6|_i|_|dkrXtj}n||_ dS(N( Rt_roott_root_siblingst_element_stackt _default_nst _ns_mappingt _new_mappingsRtElementt _makeelement(tselft makeelement((s./usr/lib64/python2.7/site-packages/lxml/sax.pyt__init__!s       cCs t|jƒS(s=Contains the generated ElementTree after parsing is finished.(RR(R((s./usr/lib64/python2.7/site-packages/lxml/sax.pyt _get_etree,stdoccCsdS(N((Rtlocator((s./usr/lib64/python2.7/site-packages/lxml/sax.pytsetDocumentLocator2scCsdS(N((R((s./usr/lib64/python2.7/site-packages/lxml/sax.pyt startDocument5scCsdS(N((R((s./usr/lib64/python2.7/site-packages/lxml/sax.pyt endDocument8scCse||j|d|j|f}n|}|S(Ns{%s}%s(R(Rt ns_name_tupletns_urit local_nametel_tag((s./usr/lib64/python2.7/site-packages/lxml/sax.pyt _buildTagJs   c CsM|j|ƒ}|ri}y|jƒ}Wntk rJ|jƒ}nXxH|D]7\}}|drud|} n |d} ||| s {Z