Ñò
$8Zc           @   s'  d  Z  d Z d d k Td d k l Z l Z d d k l Z d d k l Z l Z d d k l	 Z	 d d k l
 Z
 l Z d d	 k Z e i d
  d j o e d e ƒ ‚ n [ y d d k l Z Wn" e j
 o e d e ƒ ‚ n& Xe e d ƒ o e d e ƒ ‚ n d d k l Z l Z l Z e i Z e i Z y d d	 k Z Wn e j
 o d „  Z n Xd d	 k Z e i Z [ [ d e i f d „  ƒ  YZ d e i  e i f d „  ƒ  YZ! d „  Z" e# d j oR d d	 k Z$ e" ƒ  Z% e% i& e$ i' i( ƒ  ƒ e% i) e$ i' i* ƒ  ƒ e% i+ d ƒ n d	 S(   s]   
SAX driver for the pyexpat C module.  This driver works with
pyexpat.__version__ == '2.22'.
s   0.20iÿÿÿÿ(   t   *(   t   feature_validationt   feature_namespaces(   t   feature_namespace_prefixes(   t   feature_external_gest   feature_external_pes(   t   feature_string_interning(   t   property_xml_stringt   property_interning_dictNi   t   javas   expat not available in Java(   t   expats   expat not supportedt   ParserCreate(   t	   xmlreadert   saxutilst   handlerc         C   s   |  S(   N(    (   t   o(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   _mkproxy'   s    t   ExpatLocatorc           B   s;   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s¼   Locator for use with the ExpatParser class.

    This uses a weak reference to the parser object to avoid creating
    a circular reference between the parser and the content handler.
    c         C   s   t  | ƒ |  _ d  S(   N(   R   t   _ref(   t   selft   parser(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   __init__6   s    c         C   s(   |  i  } | i d  j o d  S| i i S(   N(   R   t   _parsert   Nonet   ErrorColumnNumber(   R   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   getColumnNumber9   s    	c         C   s(   |  i  } | i d  j o d S| i i S(   Ni   (   R   R   R   t   ErrorLineNumber(   R   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   getLineNumber?   s    	c         C   s(   |  i  } | d  j o d  S| i i ƒ  S(   N(   R   R   t   _sourcet   getPublicId(   R   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR   E   s    	c         C   s(   |  i  } | d  j o d  S| i i ƒ  S(   N(   R   R   R   t   getSystemId(   R   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR   K   s    	(   t   __name__t
   __module__t   __doc__R   R   R   R   R   (    (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR   0   s   				t   ExpatParserc           B   s%  e  Z d  Z d d$ d „ Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z	 d „  Z
 d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z  RS(%   s$   SAX driver for the pyexpat C module.i    i   i   i   c         C   se   t  i i |  | ƒ t  i ƒ  |  _ d  |  _ | |  _ d  |  _ d |  _	 g  |  _
 d |  _ d  |  _ d  S(   Ni    i   (   R   t   IncrementalParserR   t   InputSourceR   R   R   t   _namespacest   _lex_handler_propt   _parsingt   _entity_stackt   _external_gest
   _interning(   R   t   namespaceHandlingt   bufsize(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR   W   s    						c         C   sO   t  i | ƒ } | |  _ |  i ƒ  |  i i t |  ƒ ƒ t i i	 |  | ƒ d S(   s3   Parse an XML document from a URL or an InputSource.N(
   R   t   prepare_input_sourceR   t   resett   _cont_handlert   setDocumentLocatorR   R   R#   t   parse(   R   t   source(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR1   d   s
    	
c         C   s1   | i  ƒ  d  j	 o |  i i | i  ƒ  ƒ n d  S(   N(   R   R   R   t   SetBase(   R   R2   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   prepareParserm   s    c         C   s/   t  i i |  | ƒ |  i o |  i ƒ  n d  S(   N(   R   R#   t   setContentHandlerR'   t   _reset_cont_handler(   R   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR5   s   s    
c         C   st   | t  j o |  i S| t j o |  i d  j	 S| t t t f j o d S| t j o |  i	 St
 d | ƒ ‚ d  S(   Ni    s   Feature '%s' not recognized(   R   R%   R   R*   R   R   R   R   R   R)   t   SAXNotRecognizedException(   R   t   name(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt
   getFeaturex   s    	c         C   s  |  i  o t d ƒ ‚ n | t j o | |  _ nå | t j o | |  _ nË | t j o5 | o! |  i d  j o h  |  _ qŒ qd  |  _ n‰ | t	 j o | o t d ƒ ‚ qna | t
 j o | o t d ƒ ‚ qn9 | t j o | o t d ƒ ‚ qn t d | ƒ ‚ d  S(   Ns!   Cannot set features while parsings!   expat does not support validations/   expat does not read external parameter entitiess(   expat does not report namespace prefixess   Feature '%s' not recognized(   R'   t   SAXNotSupportedExceptionR   R%   R   R)   R   R*   R   R   R   R   R7   (   R   R8   t   state(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt
   setFeature„   s2    
c         C   s™   | t  i j o |  i S| t j o |  i S| t j oK |  i o1 t |  i d ƒ o |  i i ƒ  St	 d ƒ ‚ q… t
 d ƒ ‚ n t	 d | ƒ ‚ d  S(   Nt   GetInputContexts=   This version of expat does not support getting the XML strings.   XML string cannot be returned when not parsings   Property '%s' not recognized(   R   t   property_lexical_handlerR&   R   R*   R   R   t   hasattrR=   R7   R:   (   R   R8   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   getProperty¢   s    
c         C   s„   | t  i j o% | |  _ |  i o |  i ƒ  q€ nL | t j o | |  _ n2 | t j o t d | ƒ ‚ n t	 d | ƒ ‚ d  S(   Ns   Property '%s' cannot be sets   Property '%s' not recognized(
   R   R>   R&   R'   t   _reset_lex_handler_propR   R*   R   R:   R7   (   R   R8   t   value(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   setProperty´   s    	
c         C   s’   |  i  p$ |  i ƒ  d |  _  |  i i ƒ  n y |  i i | | ƒ WnF t i j
 o7 } t t i	 | i
 ƒ | |  ƒ } |  i i | ƒ n Xd  S(   Ni   (   R'   R.   R/   t   startDocumentR   t   ParseR
   t   errort   SAXParseExceptiont   ErrorStringt   codet   _err_handlert
   fatalError(   R   t   datat   isFinalt   et   exc(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   feedÄ   s    

	c         C   sE   |  i  o d  S|  i d d d ƒ|  i i ƒ  d |  _ d  |  _ d  S(   Nt    RM   i   i    (   R(   RP   R/   t   endDocumentR'   R   R   (   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   closeÕ   s    
	c         C   s(   |  i  i |  i _ |  i  i |  i _ d  S(   N(   R/   t   processingInstructionR   t   ProcessingInstructionHandlert
   characterst   CharacterDataHandler(   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR6   ß   s    c         C   s   |  i  } |  i } | d  j o1 d  | _ d  | _ d  | _ d  | _ d  | _ n= | i | _ | i	 | _ | i
 | _ |  i | _ | i | _ d  S(   N(   R&   R   R   t   CommentHandlert   StartCdataSectionHandlert   EndCdataSectionHandlert   StartDoctypeDeclHandlert   EndDoctypeDeclHandlert   commentt
   startCDATAt   endCDATAt   start_doctype_declt   endDTD(   R   t   lexR   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRA   ä   s    						c         C   si  |  i  oU t i |  i i ƒ  d d |  i ƒ|  _ d |  i _ |  i |  i _	 |  i
 |  i _ nC t i |  i i ƒ  d |  i ƒ|  _ |  i |  i _	 |  i |  i _ |  i ƒ  |  i |  i _ |  i |  i _ |  i |  i _ |  i |  i _ d  |  _ |  i o |  i ƒ  n |  i |  i _ y |  i |  i _ Wn t j
 o n X|  i i  t i! ƒ d |  _" g  |  _# d  S(   Nt    t   interni   i    ($   R%   R
   R   R   t   getEncodingR*   R   t   namespace_prefixest   start_element_nst   StartElementHandlert   end_element_nst   EndElementHandlert   start_elementt   end_elementR6   t   unparsed_entity_declt   UnparsedEntityDeclHandlert   notation_declt   NotationDeclHandlert   start_namespace_declt   StartNamespaceDeclHandlert   end_namespace_declt   EndNamespaceDeclHandlerR   t   _decl_handler_propR&   RA   t   external_entity_reft   ExternalEntityRefHandlert   skipped_entity_handlert   SkippedEntityHandlert   AttributeErrort   SetParamEntityParsingt*   XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONER'   R(   (   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR.   ô   s6    

	
	
	c         C   s   |  i  d  j o d  S|  i  i S(   N(   R   R   R   (   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR     s    c         C   s   |  i  d  j o d S|  i  i S(   Ni   (   R   R   R   (   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR      s    c         C   s   |  i  i ƒ  S(   N(   R   R   (   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR   %  s    c         C   s   |  i  i ƒ  S(   N(   R   R   (   R   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR   (  s    c         C   s   |  i  i | t | ƒ ƒ d  S(   N(   R/   t   startElementt   AttributesImpl(   R   R8   t   attrs(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRk   ,  s    c         C   s   |  i  i | ƒ d  S(   N(   R/   t
   endElement(   R   R8   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRl   /  s    c         C   sT  | i  ƒ  } t | ƒ d j o d  | f } n8 t | ƒ d j o | d | d f } n t | ƒ } h  } h  } x¼ | i ƒ  D]® \ } } | i  ƒ  } t | ƒ }	 |	 d j o | }
 d  | f } nT |	 d j o0 d | d | d f }
 | d | d f } n | d }
 t | ƒ } | | | <|
 | | <q W|  i i | d  t | | ƒ ƒ d  S(   Ni   i   i    s   %s:%si   (   t   splitt   lenR   t   tuplet   itemsR/   t   startElementNSt   AttributesNSImpl(   R   R8   R   t   pairt   newattrst   qnamest   anameRB   t   partst   lengtht   qnamet   apair(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRg   2  s0     

c         C   s}   | i  ƒ  } t | ƒ d j o d  | f } n8 t | ƒ d j o | d | d f } n t | ƒ } |  i i | d  ƒ d  S(   Ni   i   i    (   R   R‚   R   Rƒ   R/   t   endElementNS(   R   R8   R‡   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRi   T  s    c         C   s   |  i  i | | ƒ d  S(   N(   R/   RT   (   R   t   targetRL   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   processing_instruction`  s    c         C   s   |  i  i | ƒ d  S(   N(   R/   RV   (   R   RL   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   character_datad  s    c         C   s   |  i  i | | ƒ d  S(   N(   R/   t   startPrefixMapping(   R   t   prefixt   uri(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRq   g  s    c         C   s   |  i  i | ƒ d  S(   N(   R/   t   endPrefixMapping(   R   R”   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRs   j  s    c         C   s   |  i  i | | | ƒ d  S(   N(   R&   t   startDTD(   R   R8   t   sysidt   pubidt   has_internal_subset(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR`   m  s    c         C   s   |  i  i | | | | ƒ d  S(   N(   t   _dtd_handlert   unparsedEntityDecl(   R   R8   t   baseR˜   R™   t   notation_name(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRm   p  s    c         C   s   |  i  i | | | ƒ d  S(   N(   R›   t   notationDecl(   R   R8   R   R˜   R™   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRo   s  s    c         C   sÉ   |  i  p d S|  i i | | ƒ } t i | |  i i ƒ  p d ƒ } |  i i |  i	 |  i f ƒ |  i	 i
 | ƒ |  _	 | |  _ y t i i |  | ƒ Wn d SX|  i d \ |  _	 |  _ |  i d =d S(   Ni   RQ   i    iÿÿÿÿ(   R)   t   _ent_handlert   resolveEntityR   R-   R   R   R(   t   appendR   t   ExternalEntityParserCreateR   R#   R1   (   R   t   contextR   R˜   R™   R2   (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRv   v  s     
			
c         C   s)   | o d | } n |  i  i | ƒ d  S(   Nt   %(   R/   t   skippedEntity(   R   R8   t   is_pe(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyRx   Œ  s    i   iìÿ  (!   R   R    R!   R   R1   R4   R5   R9   R<   R@   RC   RP   RS   R6   RA   R.   R   R   R   R   Rk   Rl   Rg   Ri   R‘   R’   Rq   Rs   R`   Rm   Ro   Rv   Rx   (    (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyR"   T   s>   									
			'							"									c          O   s   t  |  | Ž  S(   N(   R"   (   t   argst   kwargs(    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   create_parser”  s    t   __main__s   ../../../hamlet.xml(,   R!   t   versiont   xml.sax._exceptionst   xml.sax.handlerR   R   R   R   R   R   R   R   t   syst   platformt   SAXReaderNotAvailableR   t   xml.parsersR
   t   ImportErrorR?   t   xml.saxR   R   R   R~   R†   t   _weakrefR   t   weakreft   proxyt   LocatorR   R#   R"   Rª   R   t   xmlt   pR5   t   saxt   XMLGeneratort   setErrorHandlert   ErrorHandlerR1   (    (    (    s)   /usr/lib/python2.6/xml/sax/expatreader.pyt   <module>   sJ   
			$ÿ A		