mņ
ā\bCc           @   sW  d  Z  d k l Z d k l Z l Z d k l Z l Z l	 Z	 l
 Z
 l Z e   d  Z e   d  Z d g Z d Z e o d k Z n d k Z d k Z e i i d	  o e i d	 i d
  Z n [ d Z e i d  d j o2 e i i e  o e i i e  i d
  Z n g  d  Z e i d  d j o d   Z n
 d   Z [ d S(   sŪ  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.
(   s   InputSource(   s   ContentHandlers   ErrorHandler(   s   SAXExceptions   SAXNotRecognizedExceptions   SAXParseExceptions   SAXNotSupportedExceptions   SAXReaderNotAvailablec         C   s4   t    } | i |  | i |  | i |   d  S(   N(   t   make_parsert   parsert   setContentHandlert   handlert   setErrorHandlert   errorHandlert   parset   source(   R   R   R   R   (    (    t   xml\sax\__init__.pycR      s    	c         C   s   y d k  l } Wn  t j
 o d k l } n X| d  j o t   } n t   } | i |  | i
 |  t   } | i | |    | i |  d  S(   N(   s   StringIO(   t	   cStringIOt   StringIOt   ImportErrorR   t   Nonet   ErrorHandlerR    R   R   R   R   t   InputSourcet   inpsrct   setByteStreamt   stringR   (   R   R   R   R
   R   R   (    (    R   t   parseString#   s    		s   xml.sax.expatreaderi    Nt   PY_SAX_PARSERt   ,s   python.xml.sax.parseri   t   javac         C   s   xm |  t D]a } y t |  SWq t j
 o, } d k } | i i |  o   ql q t	 j
 o q Xq Wt	 d d   d S(   s&  Creates and returns a SAX parser.

    Creates the first parser it is able to instantiate of the ones
    given in the list created by doing parser_list +
    default_parser_list.  The lists must contain the names of Python
    modules containing both a SAX parser and a create_parser function.Ns   No parsers found(   t   parser_listt   default_parser_listt   parser_namet   _create_parserR   t   et   syst   modulest   has_keyt   SAXReaderNotAvailableR   (   R   R   R   R   (    (    R   R    G   s      		c         C   s/   d k  l } | i |  d t    } | i   S(   N(   s   impi    (   t   org.python.coret   impt
   importNameR   t   globalst
   drv_modulet   create_parser(   R   R    R#   (    (    R   R   b   s    c         C   s"   t  |  h  h  d g  } | i   S(   NR$   (   t
   __import__R   R#   R$   (   R   R#   (    (    R   R   h   s    (   t   __doc__t	   xmlreaderR   R   t   ContentHandlerR   t   _exceptionst   SAXExceptiont   SAXNotRecognizedExceptiont   SAXParseExceptiont   SAXNotSupportedExceptionR   R   R   R   t   _falset   xml.sax.expatreadert   xmlt   osR   t   environR   t   splitt   _keyt   platformt   registryt   containsKeyt   getPropertyR    R   (   R0   R   R   R+   R   R   R   R(   R   R   R   R.   R*   R,   R-   R    R1   R4   (    (    R   t   ?   s*   %	'	