
    daf                     $   d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZ  e       fdZ e       fdZdgZdZerdd	lZdd	lZdd	lZej(                  j*                  s,d
ej,                  v rej,                  d
   j/                  d      Z[[ddZd Zy	)a  Simple API for XML (SAX) implementation for Python.

This module provides an implementation of the SAX 2 interface;
information about the Java version of the interface can be found at
http://www.megginson.com/SAX/.  The Python version of the interface is
documented at <...>.

This package contains the following modules:

handler -- Base classes and constants which define the SAX 2 API for
           the 'client-side' of SAX for Python.

saxutils -- Implementation of the convenience classes commonly used to
            work with SAX.

xmlreader -- Base classes and constants which define the SAX 2 API for
             the parsers used with SAX for Python.

expatreader -- Driver that allows use of the Expat parser with SAX.
   )InputSource)ContentHandlerErrorHandler)SAXExceptionSAXNotRecognizedExceptionSAXParseExceptionSAXNotSupportedExceptionSAXReaderNotAvailablec                 ~    t               }|j                  |       |j                  |       |j                  |        y )N)make_parsersetContentHandlersetErrorHandlerparse)sourcehandlererrorHandlerparsers       +/root/Python-3.12.4/Lib/xml/sax/__init__.pyr   r      s1    ]F
W%
<(
LL    c                 T   dd l }|
t               }t               }|j                  |       |j	                  |       t               }t        | t              r!|j                  |j                  |              n |j                  |j                  |              |j                  |       y )N    )ior   r   r   r   r   
isinstancestrsetCharacterStreamStringIOsetByteStreamBytesIOr   )stringr   r   r   r   inpsrcs         r   parseStringr!   #   s    #~]F
W%
<(]F&#!!"++f"56RZZ/0
LLr   zxml.sax.expatreaderr   NPY_SAX_PARSER,c                     t        |       t        z   D ]  }	 t        |      c S  t        dd      # t        $ r ddl}||j
                  v r Y <t        $ r Y Fw xY w)a3  Creates and returns a SAX parser.

    Creates the first parser it is able to instantiate of the ones
    given in the iterable created by chaining parser_list and
    default_parser_list.  The iterables must contain the names of Python
    modules containing both a SAX parser and a create_parser function.r   NzNo parsers found)listdefault_parser_list_create_parserImportErrorsysmodulesr
   )parser_listparser_namer)   s      r   r   r   B   sw     K(+>> 	!+..   2D
99  	ckk)  * % 	 	s   
1AAAc                 @    t        | i i dg      }|j                         S )Ncreate_parser)
__import__r.   )r,   
drv_modules     r   r'   r'   \   s$    K2.?@J##%%r   ) )__doc__	xmlreaderr   r   r   r   _exceptionsr   r   r   r	   r
   r   r!   r&   _falsexml.sax.expatreaderxmlosr)   flagsignore_environmentenvironsplitr   r'   r1   r   r   <module>r=      s   * # 1. .
 )5  /;n $ --  
	 
yy##2::(E**_5;;C@:4&r   