+e @sdZddlmZddlmZmZddlmZmZm Z m Z m Z eddZ eddZ d gZd Zerd d lZnd d lZd d lZejj rd ejkrejd jd Zn[dZejd ddkr;ejjer;ejjejd ZngddZejd ddkrrddZn ddZ[d S)aSimple 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) SAXExceptionSAXNotRecognizedExceptionSAXParseExceptionSAXNotSupportedExceptionSAXReaderNotAvailablecCs4t}|j||j||j|dS)N) make_parsersetContentHandlersetErrorHandlerparse)sourcehandler errorHandlerparserr5/opt/alt/python34/lib64/python3.4/xml/sax/__init__.pyr s   r cCsxddlm}|dkr(t}nt}|j||j|t}|j|||j|dS)N)BytesIO) iorrr r r rZ setByteStreamr )stringrrrrZinpsrcrrr parseString#s      rzxml.sax.expatreaderrNZ PY_SAX_PARSER,zpython.xml.sax.parserjavacCsxz|tD]n}yt|SWq tk rg}z&ddl}||jkrUnWYdd}~Xq tk rxYq Xq WtdddS)a&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.rNzNo parsers found)default_parser_list_create_parser ImportErrorsysmodulesr )Z parser_list parser_nameerrrrr Ds   r cCs2ddlm}|j|dt}|jS)Nr)imp)Zorg.python.corer#Z importNameglobals create_parser)r!r# drv_modulerrrr_srcCs"t|iidg}|jS)Nr%) __import__r%)r!r&rrrres)__doc__Z xmlreaderrrrr _exceptionsrrrrr r rr_falseZxml.sax.expatreaderZxmlosrflagsignore_environmentenvironsplit_keyplatformregistryZ containsKeyZ getPropertyr rrrrrs*( +