File: //lib64/python2.7/site-packages/lxml/sax.pyc
�
;�gQc           @   s�   d  Z  d d l m Z d d l m Z d d l m Z m Z d d l m Z m	 Z	 d e j
 f d �  �  YZ d �  Z d	 e f d
 �  �  YZ
 d e f d �  �  YZ d
 �  Z d S(   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����(   t   ContentHandler(   t   etree(   t   ElementTreet
   SubElement(   t   Commentt   ProcessingInstructiont   SaxErrorc           B   s   e  Z d  Z RS(   s   General SAX error.
    (   t   __name__t
   __module__t   __doc__(    (    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyR      s   c         C   s8   |  d d k r* t  |  d j d d � � Sd  |  f Sd  S(   Ni    t   {i   t   }(   t   tuplet   splitt   None(   t   tag(    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyt	   _getNsTag   s    t   ElementTreeContentHandlerc           B   s�   e  Z d  Z d d � Z d �  Z e e d e j �Z d �  Z d �  Z	 d �  Z
 d �  Z d �  Z d	 �  Z
 d d
 � Z d �  Z d �  Z d d
 � Z d �  Z d �  Z e Z RS(   s/   Build an lxml ElementTree from SAX events.
    c         C   se   d  |  _ g  |  _ g  |  _ d  |  _ i d  g d  6|  _ i  |  _ | d  k rX t j } n  | |  _	 d  S(   N(
   R   t   _roott   _root_siblingst   _element_stackt   _default_nst   _ns_mappingt
   _new_mappingsR   t   Elementt   _makeelement(   t   selft   makeelement(    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyt   __init__!   s    					c         C   s
   t  |  j � S(   s=   Contains the generated ElementTree after parsing is finished.(   R   R   (   R   (    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyt
   _get_etree,   s    t   docc         C   s   d  S(   N(    (   R   t   locator(    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyt   setDocumentLocator2   s    c         C   s   d  S(   N(    (   R   (    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyt
   startDocument5   s    c         C   s   d  S(   N(    (   R   (    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyt   endDocument8   s    c         C   se   | |  j  | <y |  j | j | � Wn! t k
 rH | g |  j | <n X| d  k ra | |  _ n  d  S(   N(   R   R   t   appendt   KeyErrorR   R   (   R   t   prefixt   uri(    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyt   startPrefixMapping;   s    
c         C   s7   |  j  | } | j �  | d  k r3 | d |  _ n  d  S(   Ni����(   R   t   popR   R   (   R   R%   t   ns_uri_list(    (    s.   /usr/lib64/python2.7/site-packages/lxml/sax.pyt   endPrefixMappingD   s    
c         C   sH   | \ } } | r d | } n% |  j  r>