-ν
ψr:c       s    d  Z    d k Z d k Z d k Z d k Z d k Z d k Z  d f  d     YZ P d k Z Q d e i	 f d     YZ
 x d e i f d     YZ  e d d	 d
 d d d d g  Z  e d g  Z   e d d d g  Z € e d d g  Z § g  d  Z d S(   s}   
A module of experimental extensions to the standard SAX interface.

$Id: saxexts.py,v 1.13 2001/01/27 09:03:52 loewis Exp $
Ns   ParserFactoryc      sw    d  Z    g  d  Z  d   Z  d   Z " e i d  d j o # d   Z n ) d   Z - g  d  Z RS(	   s   A general class to be used by applications for creating parsers on
    foreign systems where it is unknown which parsers exist.c    s‘     t  i i d  o   t i t  i d d  } n  d }  t i d  d j o t i	 i
 |  o%  t i t i	 i |  d  } n  | |  _ d  S(   Ns   PY_SAX_PARSERs   ,s   python.xml.sax.parseri   s   java(   s   oss   environs   has_keys   strings   splits   lists   _keys   syss   platforms   registrys   containsKeys   getPropertys   selfs   parsers(   s   selfs   lists   _key(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   __init__ s    	*%c    s      |  i Sd S(   s%   Returns the list of possible drivers.N(   s   selfs   parsers(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   get_parser_list s   c    s       | |  _ d S(   s   Sets the driver list.N(   s   lists   selfs   parsers(   s   selfs   list(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   set_parser_list s   i   s   javac    s?   # $ d k  l } % | i | d t    } & | i   Sd  S(   N(   s   impi    (   s   org.python.cores   imps
   importNames   parser_names   globalss
   drv_modules   create_parser(   s   selfs   parser_names   imps
   drv_module(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   _create_parser# s   c    s/   ) * t  | h  h  d g  } + | i   Sd  S(   Ns   create_parser(   s
   __import__s   parser_names
   drv_modules   create_parser(   s   selfs   parser_names
   drv_module(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   _create_parser) s   c    s  - 3 5 d k  } 9 | t j o : g  } n* ; t |  t i j o < | g } n > x‘ | |  i D> ] } ? y @ |  i	 |  SWno A t
 j
 o) } B | i i |  o
 E   n n9 F t i j
 o& I d   } K | | i | _ n Xqi WM t i d t   d S(   si  Returns a SAX driver for the first available parser of the parsers
        in the list. Note that the list is one of drivers, so it first tries
        the driver and if that exists imports it to see if the parser also
        exists. If no parsers are available a SAXException is thrown.

        Accepts a list of driver package names as an optional argument.Nc      s   I J t  i  d  S(   N(   s   _exceptionss   SAXReaderNotAvailable(    (    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   _create_parserI s   s   No parsers found(   s   syss   parser_lists   Nones   types   typess
   StringTypes   selfs   parserss   parser_names   _create_parsers   ImportErrors   es   moduless   has_keys   _exceptionss   SAXReaderNotAvailables   create_parser(   s   selfs   parser_lists   es   _create_parsers   syss   parser_name(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   make_parser- s"    	(   s   __doc__s   __init__s   get_parser_lists   set_parser_lists   syss   platforms   _create_parsers   make_parser(    (    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   ParserFactory s   	s   ExtendedParserc      sn   Q d  Z  R T d   Z X d   Z ] d   Z a d   Z e d   Z j d   Z n d   Z r d   Z RS(	   s>   Experimental unofficial SAX level 2 extended parser interface.c    s   T U V t  i d t   d S(   s"   Returns a single-word parser name.s   Method not supported.N(   s   _exceptionss   SAXExceptions   None(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   get_parser_nameT s   c    s   X Z [ t  i d t   d S(   sl   Returns the version of the imported parser, which may not be the
        one the driver was implemented for.s   Method not supported.N(   s   _exceptionss   SAXExceptions   None(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   get_parser_versionX s   c    s   ] ^ _ t  i d t   d S(   s)   Returns the version number of the driver.s   Method not supported.N(   s   _exceptionss   SAXExceptions   None(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   get_driver_version] s   c    s   a b c t  i d t   d S(   s2   True if the parser is validating, false otherwise.s   Method not supported.N(   s   _exceptionss   SAXExceptions   None(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   is_validatinga s   c    s   e g h t  i d t   d S(   sZ   True if the parser is non-validating, but conforms to the spec by
        reading the DTD.s   Method not supported.N(   s   _exceptionss   SAXExceptions   None(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   is_dtd_readinge s   c    s   j k l t  i d t   d S(   s&   Makes the parser start parsing afresh.s   Method not supported.N(   s   _exceptionss   SAXExceptions   None(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   resetj s   c    s   n o p t  i d t   d S(   s   Feeds data to the parser.s   Method not supported.N(   s   _exceptionss   SAXExceptions   None(   s   selfs   data(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   feedn s   c    s   r s t t  i d t   d S(   s@   Called after the last call to feed, when there are no more data.s   Method not supported.N(   s   _exceptionss   SAXExceptions   None(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   closer s   (	   s   __doc__s   get_parser_names   get_parser_versions   get_driver_versions   is_validatings   is_dtd_readings   resets   feeds   close(    (    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   ExtendedParserQ s   	s   NosliceDocumentHandlerc      sJ   x d  Z  z | d   Z  d   Z  d   Z  d   Z  d   Z RS(   sb   A document handler that does not force the client application to
    slice character data strings.c    s&   | } t  i i   ~ |  i |  _ d  S(   N(   s   handlers   DocumentHandlers   __init__s   selfs   safe_handlers
   characters(   s   self(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   __init__| s   c    s\      | d j o | t |  j o  |  i |  n  |  i | | | | ! d S(   sW   A characters event handler that always works, but doesn't always
        slice strings.i    N(   s   starts   lengths   lens   datas   selfs   handle_data(   s   selfs   datas   starts   length(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   safe_handler s   #c    s%      |  i | | | | ! d S(   s5   A character event handler that always slices strings.N(   s   selfs   handle_datas   datas   starts   length(   s   selfs   datas   starts   length(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   slice_handler s   c    s      |  i |  d S(   s4   A character event handler that never slices strings.N(   s   selfs   handle_datas   data(   s   selfs   datas   starts   length(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   noslice_handler s   c    s      d S(   s4   This is the character data event method to override.N(    (   s   selfs   data(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   handle_data s   (   s   __doc__s   __init__s   safe_handlers   slice_handlers   noslice_handlers   handle_data(    (    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   NosliceDocumentHandlerx s   	s   xml.sax.drivers.drv_pyexpats   xml.sax.drivers.drv_xmltoks   xml.sax.drivers.drv_xmlprocs   xml.sax.drivers.drv_xmltoolkits   xml.sax.drivers.drv_xmllibs   xml.sax.drivers.drv_xmldcs   xml.sax.drivers.drv_sgmlops   xml.sax.drivers.drv_xmlproc_vals   xml.sax.drivers.drv_htmllibs   xml.sax.drivers.drv_sgmllibc    s   § ¨ t  i |   Sd  S(   N(   s   XMLParserFactorys   make_parsers   parser_list(   s   parser_list(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   make_parser§ s   (   s   __doc__s   _exceptionss   handlers   syss   strings   oss   typess   ParserFactorys   saxlibs   Parsers   ExtendedParsers   DocumentHandlers   NosliceDocumentHandlers   XMLParserFactorys   XMLValParserFactorys   HTMLParserFactorys   SGMLParserFactorys   make_parser(   s   NosliceDocumentHandlers   strings   _exceptionss   saxlibs   ParserFactorys   syss   handlers   ExtendedParsers   HTMLParserFactorys   SGMLParserFactorys   XMLParserFactorys   XMLValParserFactorys   make_parsers   oss   types(    (    sB   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/sax/saxexts.pys   ? s   9E'$