<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]X=                 @   s2  d  Z  d d l Td d l m Z m Z d d l m Z d d l m Z m Z d d l m Z d d l m	 Z	 m
 Z
 d d l Z e j d d	  d
 k r e d d   [ y d d l m Z Wn! e k
 r e d d   Yn  Xe e d  r e d d   d d l m Z m Z m Z e j Z e j Z y d d l Z Wn e k
 r^d d   Z Yn Xd d l Z e j Z [ [ Gd d   d  Z Gd d   d e j  Z Gd d   d e j e j  Z  d d   Z! e" d k r.d d l# Z$ e!   Z% e% j& e$ j' j j(    e% j) e$ j' j*    e% j+ d  d S)z0.20    )*)feature_validationfeature_namespaces)feature_namespace_prefixes)feature_external_gesfeature_external_pes)feature_string_interning)property_xml_stringproperty_interning_dictN   javazexpat not available in Java)expatzexpat not supportedParserCreate)	xmlreadersaxutilshandlerc             C   s   |  S)N )or   r   0/opt/alt/python35/lib64/python3.5/expatreader.py_mkproxy'   s    r   c               @   s   e  Z d  Z d S)_ClosedParserN)__name__
__module____qualname__r   r   r   r   r   .   s   r   c               @   sL   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 d
   Z d S)ExpatLocatorc             C   s   t  |  |  _ d  S)N)r   _ref)selfparserr   r   r   __init__9   s    zExpatLocator.__init__c             C   s&   |  j  } | j d  k r d  S| j j S)N)r   _parserErrorColumnNumber)r   r   r   r   r   getColumnNumber<   s    	zExpatLocator.getColumnNumberc             C   s&   |  j  } | j d  k r d S| j j S)N   )r   r   ErrorLineNumber)r   r   r   r   r   getLineNumberB   s    	zExpatLocator.getLineNumberc             C   s&   |  j  } | d  k r d  S| j j   S)N)r   _sourcegetPublicId)r   r   r   r   r   r&   H   s    	zExpatLocator.getPublicIdc             C   s&   |  j  } | d  k r d  S| j j   S)N)r   r%   getSystemId)r   r   r   r   r   r'   N   s    	zExpatLocator.getSystemIdN)r   r   r   r   r!   r$   r&   r'   r   r   r   r   r   3   s
   r   c               @   s  e  Z d  Z d dE d d  Z d d   Z d	 d
   Z d d   Z d d   Z d d   Z d d   Z	 d d   Z
 d d d  Z d d   Z d d   Z d d   Z d d   Z d d    Z d! d"   Z d# d$   Z d% d&   Z d' d(   Z d) d*   Z d+ d,   Z d- d.   Z d/ d0   Z d1 d2   Z d3 d4   Z d5 d6   Z d7 d8   Z d9 d:   Z d; d<   Z d= d>   Z d? d@   Z  dA dB   Z! dC S)FExpatParserr            c             C   se   t  j j |  |  t  j   |  _ d  |  _ | |  _ d  |  _ d |  _ g  |  _	 d |  _
 d  |  _ d  S)Nr   r"   )r   IncrementalParserr   ZInputSourcer%   r   _namespaces_lex_handler_prop_parsing_entity_stack_external_ges
_interning)r   ZnamespaceHandlingbufsizer   r   r   r   Z   s    						zExpatParser.__init__c          	   C   sk   t  j |  } | |  _ y7 |  j   |  j j t |    t j j	 |  |  Wn |  j
     Yn Xd  S)N)r   prepare_input_sourcer%   reset_cont_handlerZsetDocumentLocatorr   r   r,   parse_close_source)r   sourcer   r   r   r7   g   s    	

zExpatParser.parsec             C   s,   | j    d  k	 r( |  j j | j     d  S)N)r'   r   ZSetBase)r   r9   r   r   r   prepareParserw   s    zExpatParser.prepareParserc             C   s*   t  j j |  |  |  j r& |  j   d  S)N)r   r,   setContentHandlerr/   _reset_cont_handler)r   r   r   r   r   r;   }   s    	zExpatParser.setContentHandlerc             C   sl   | t  k r |  j S| t k r, |  j d  k	 S| t t t f k rE d S| t k rX |  j St	 d |   d  S)Nr   zFeature '%s' not recognized)
r   r-   r   r2   r   r   r   r   r1   SAXNotRecognizedException)r   namer   r   r   
getFeature   s    	zExpatParser.getFeaturec             C   s   |  j  r t d   | t k r- | |  _ n | t k rE | |  _ n | t k r~ | rr |  j d  k r{ i  |  _ q d  |  _ ns | t k r | r t d   nR | t	 k r | r t d   n1 | t
 k r | r t d   n t d |   d  S)Nz!Cannot set features while parsingz!expat does not support validationz/expat does not read external parameter entitiesz(expat does not report namespace prefixeszFeature '%s' not recognized)r/   SAXNotSupportedExceptionr   r-   r   r1   r   r2   r   r   r   r=   )r   r>   stater   r   r   
setFeature   s2    	zExpatParser.setFeaturec             C   s   | t  j k r |  j S| t k r) |  j S| t k rx |  j rl t |  j d  r] |  j j   St	 d   n t
 d   t	 d |   d  S)NGetInputContextz=This version of expat does not support getting the XML stringz.XML string cannot be returned when not parsingzProperty '%s' not recognized)r   property_lexical_handlerr.   r
   r2   r	   r   hasattrrC   r=   r@   )r   r>   r   r   r   getProperty   s    		zExpatParser.getPropertyc             C   sy   | t  j k r. | |  _ |  j ru |  j   nG | t k rF | |  _ n/ | t k re t d |   n t	 d |   d  S)NzProperty '%s' cannot be setzProperty '%s' not recognized)
r   rD   r.   r/   _reset_lex_handler_propr
   r2   r	   r@   r=   )r   r>   valuer   r   r   setProperty   s    		zExpatParser.setPropertyc             C   s   |  j  s) |  j   d |  _  |  j j   y |  j j | |  WnV t j k
 r } z3 t t j	 | j
  | |   } |  j j |  WYd  d  } ~ Xn Xd  S)Nr"   )r/   r5   r6   ZstartDocumentr   ZParser   errorZSAXParseExceptionZErrorStringcodeZ_err_handlerZ
fatalError)r   dataisFinaleexcr   r   r   feed   s    	
	zExpatParser.feedc             C   sY   |  j  } z& | j   } | d  k	 r. | j   Wd  | j   } | d  k	 rT | j   Xd  S)N)r%   ZgetCharacterStreamcloseZgetByteStream)r   r9   filer   r   r   r8      s    	zExpatParser._close_sourcec             C   s   |  j  s* |  j d  k s* t |  j t  r. d  Sz6 |  j d d d |  j j   d |  _ d  |  _ Wd  d |  _ |  j d  k	 r t   } |  j j | _ |  j j	 | _	 | |  _ |  j
   Xd  S)N rM   r"   r   )r0   r   
isinstancer   rP   r6   ZendDocumentr/   r    r#   r8   )r   r   r   r   r   rQ      s    				zExpatParser.closec             C   s(   |  j  j |  j _ |  j  j |  j _ d  S)N)r6   processingInstructionr   ZProcessingInstructionHandler
charactersZCharacterDataHandler)r   r   r   r   r<      s    zExpatParser._reset_cont_handlerc             C   s   |  j  } |  j } | d  k rN d  | _ d  | _ d  | _ d  | _ d  | _ n< | j | _ | j | _ | j	 | _ |  j
 | _ | j | _ d  S)N)r.   r   ZCommentHandlerZStartCdataSectionHandlerZEndCdataSectionHandlerZStartDoctypeDeclHandlerZEndDoctypeDeclHandlerZcommentZ
startCDATAZendCDATAstart_doctype_declZendDTD)r   Zlexr   r   r   r   rG     s    						z#ExpatParser._reset_lex_handler_propc             C   sa  |  j  r] t j |  j j   d d |  j |  _ d |  j _ |  j |  j _	 |  j
 |  j _ nB t j |  j j   d |  j |  _ |  j |  j _	 |  j |  j _ |  j   |  j |  j _ |  j |  j _ |  j |  j _ |  j |  j _ d  |  _ |  j r|  j   |  j |  j _ y |  j |  j _ Wn t k
 r7Yn X|  j j t j   d |  _! g  |  _" d  S)N internr"   r   )#r-   r   r   r%   ZgetEncodingr2   r   Znamespace_prefixesstart_element_nsZStartElementHandlerend_element_nsZEndElementHandlerstart_elementend_elementr<   unparsed_entity_declZUnparsedEntityDeclHandlernotation_declZNotationDeclHandlerstart_namespace_declZStartNamespaceDeclHandlerend_namespace_declZEndNamespaceDeclHandlerZ_decl_handler_propr.   rG   external_entity_refZExternalEntityRefHandlerskipped_entity_handlerZSkippedEntityHandlerAttributeErrorZSetParamEntityParsingZ*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONEr/   r0   )r   r   r   r   r5     s6    	
		
	
	zExpatParser.resetc             C   s   |  j  d  k r d  S|  j  j S)N)r   r    )r   r   r   r   r!   ;  s    zExpatParser.getColumnNumberc             C   s   |  j  d  k r d S|  j  j S)Nr"   )r   r#   )r   r   r   r   r$   @  s    zExpatParser.getLineNumberc             C   s   |  j  j   S)N)r%   r&   )r   r   r   r   r&   E  s    zExpatParser.getPublicIdc             C   s   |  j  j   S)N)r%   r'   )r   r   r   r   r'   H  s    zExpatParser.getSystemIdc             C   s   |  j  j | t |   d  S)N)r6   ZstartElementAttributesImpl)r   r>   attrsr   r   r   r\   L  s    zExpatParser.start_elementc             C   s   |  j  j |  d  S)N)r6   Z
endElement)r   r>   r   r   r   r]   O  s    zExpatParser.end_elementc             C   sL  | j    } t |  d k r- d  | f } n5 t |  d k rV | d | d f } n t |  } i  } i  } x | j   D] \ } } | j    } t |  }	 |	 d k r | }
 d  | f } nQ |	 d k r d | d | d f }
 | d | d f } n | d }
 t |  } | | | <|
 | | <q{ W|  j j | d  t | |   d  S)Nr"      r   z%s:%sr)   )splitlentupleitemsr6   ZstartElementNSAttributesNSImpl)r   r>   rf   pairZnewattrsZqnamesZanamerH   partslengthZqnameZapairr   r   r   rZ   R  s.    

zExpatParser.start_element_nsc             C   sy   | j    } t |  d k r- d  | f } n5 t |  d k rV | d | d f } n t |  } |  j j | d   d  S)Nr"   rg   r   )rh   ri   rj   r6   ZendElementNS)r   r>   rm   r   r   r   r[   t  s    zExpatParser.end_element_nsc             C   s   |  j  j | |  d  S)N)r6   rU   )r   targetrL   r   r   r   processing_instruction  s    z"ExpatParser.processing_instructionc             C   s   |  j  j |  d  S)N)r6   rV   )r   rL   r   r   r   character_data  s    zExpatParser.character_datac             C   s   |  j  j | |  d  S)N)r6   ZstartPrefixMapping)r   prefixZurir   r   r   r`     s    z ExpatParser.start_namespace_declc             C   s   |  j  j |  d  S)N)r6   ZendPrefixMapping)r   rs   r   r   r   ra     s    zExpatParser.end_namespace_declc             C   s   |  j  j | | |  d  S)N)r.   ZstartDTD)r   r>   sysidpubidZhas_internal_subsetr   r   r   rW     s    zExpatParser.start_doctype_declc             C   s   |  j  j | | | |  d  S)N)_dtd_handlerZunparsedEntityDecl)r   r>   basert   ru   Znotation_namer   r   r   r^     s    z ExpatParser.unparsed_entity_declc             C   s   |  j  j | | |  d  S)N)rv   ZnotationDecl)r   r>   rw   rt   ru   r   r   r   r_     s    zExpatParser.notation_declc          	   C   s   |  j  s d S|  j j | |  } t j | |  j j   p= d  } |  j j |  j	 |  j f  |  j	 j
 |  |  _	 | |  _ y t j j |  |  Wn d SYn X|  j d \ |  _	 |  _ |  j d =d S)Nr"   rS   r   rx   )r1   Z_ent_handlerZresolveEntityr   r4   r%   r'   r0   appendr   ZExternalEntityParserCreater   r,   r7   )r   contextrw   rt   ru   r9   r   r   r   rb     s     					
zExpatParser.external_entity_refc             C   s$   | r d | } |  j  j |  d  S)N%)r6   ZskippedEntity)r   r>   Zis_per   r   r   rc     s    
z"ExpatParser.skipped_entity_handlerNi   i  )"r   r   r   r   r7   r:   r;   r?   rB   rF   rI   rP   r8   rQ   r<   rG   r5   r!   r$   r&   r'   r\   r]   rZ   r[   rq   rr   r`   ra   rW   r^   r_   rb   rc   r   r   r   r   r(   W   s>   '"r(   c              O   s   t  |  |   S)N)r(   )argskwargsr   r   r   create_parser  s    r~   __main__z:http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml),versionZxml.sax._exceptionsZxml.sax.handlerr   r   r   r   r   r   r	   r
   sysplatformZSAXReaderNotAvailableZxml.parsersr   ImportErrorrE   Zxml.saxr   r   r   re   rl   _weakrefr   weakrefproxyr   ZLocatorr   r,   r(   r~   r   Zxml.sax.saxutilsZxmlpr;   ZsaxZXMLGeneratorZsetErrorHandlerZErrorHandlerr7   r   r   r   r   <module>   sJ   
			$ ^	