-
<c       s     d  Z    d k Z d k Z d k Z d k Z  d k Z  d k Z 
 y  e i e i g Z	 Wn%  e
 j
 o  e i g Z	 n X h  d  Z  h  d  Z 4 d e i f d     YZ | d e i f d     YZ  d d	  Z d S(
   sn   A library of useful helper classes to the SAX classes, for the
convenience of application and driver writers.
Nc    s      |  i d d  }   |  i d d  }   |  i d d  }   x2 | i   D ]! \ } }  |  i | |  }  qU W |  Sd S(   s   Escape &, <, and > in a string of data.

    You can escape other strings of data by passing a dictionary as
    the optional entities parameter.  The keys and values must all be
    strings; each key will be replaced with its corresponding value.
    s   &s   &amp;s   <s   &lt;s   >s   &gt;N(   s   datas   replaces   entitiess   itemss   charss   entity(   s   datas   entitiess   charss   entity(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   escape s    c    s~    ( ) t  |  |  }  * d |  j o> + d |  j o , d |  i d d  }  n . d |  }  n 0 d |  }  1 |  Sd S(   s  Escape and quote an attribute value.

    Escape &, <, and > in a string of data, then quote it for use as
    an attribute value.  The " character will be escaped as well, if
    necessary.

    You can escape other strings of data by passing a dictionary as
    the optional entities parameter.  The keys and values must all be
    strings; each key will be replaced with its corresponding value.
    s   "s   's   "%s"s   &quot;s   '%s'N(   s   escapes   datas   entitiess   replace(   s   datas   entities(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys	   quoteattr s   
s   XMLGeneratorc      s   4 t  Z 6 e d d  Z C d   Z G d   Z L d   Z P d   Z V d   Z Y d   Z	 k d	   Z
 r d
   Z u d   Z x d   Z RS(   Ns
   iso-8859-1c    s   6 7 | t j o 8 d  k } 9 | i } n : t i i |   ; | |  _ < h  g |  _	 = |  i	 d |  _
 > g  |  _ ? | |  _ d  S(   Ni(   s   outs   Nones   syss   stdouts   handlers   ContentHandlers   __init__s   selfs   _outs   _ns_contextss   _current_contexts   _undeclared_ns_mapss   encodings	   _encoding(   s   selfs   outs   encodings   sys(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   __init__6 s   c    s!   C D |  i i d |  i  d  S(   Ns$   <?xml version="1.0" encoding="%s"?>
(   s   selfs   _outs   writes	   _encoding(   s   self(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   startDocumentC s   c    sL   G H |  i i |  i i    I | |  i | <J |  i i | | f  d  S(   N(   s   selfs   _ns_contextss   appends   _current_contexts   copys   prefixs   uris   _undeclared_ns_maps(   s   selfs   prefixs   uri(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   startPrefixMappingG s   c    s'   L M |  i d |  _ N |  i d =d  S(   Ni(   s   selfs   _ns_contextss   _current_context(   s   selfs   prefix(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   endPrefixMappingL s   c    sw   P Q |  i i d |  R x@ | i   DR ]/ \ } } S |  i i d | t |  f  q* WT |  i i d  d  S(   Ns   <s    %s=%ss   >(   s   selfs   _outs   writes   names   attrss   itemss   values	   quoteattr(   s   selfs   names   attrss   value(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   startElementP s
    'c    s   V W |  i i d |  d  S(   Ns   </%s>(   s   selfs   _outs   writes   name(   s   selfs   name(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys
   endElementV s   c    s  Y Z | d t j o \ | d } n! _ |  i | d d | d } ` |  i i d |  b x+ |  i Db ] } c |  i i d |  ql Wd g  |  _ f x` | i	   Df ]O \ } } g |  i | d d | d } h |  i i d | t |  f  q Wi |  i i d  d  S(   Ni    i   s   :s   <s    xmlns:%s="%s"s    %s=%ss   >(   s   names   Nones   selfs   _current_contexts   _outs   writes   _undeclared_ns_mapss   pairs   attrss   itemss   values	   quoteattr(   s   selfs   names   qnames   attrss   pairs   value(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   startElementNSY s     	  'c    sc   k l | d t j o m | d } n! o |  i | d d | d } p |  i i d |  d  S(   Ni    i   s   :s   </%s>(   s   names   Nones   selfs   _current_contexts   _outs   write(   s   selfs   names   qname(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   endElementNSk s    c    s    r s |  i i t |   d  S(   N(   s   selfs   _outs   writes   escapes   content(   s   selfs   content(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys
   charactersr s   c    s   u v |  i i |  d  S(   N(   s   selfs   _outs   writes   content(   s   selfs   content(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   ignorableWhitespaceu s   c    s$   x y |  i i d | | f  d  S(   Ns	   <?%s %s?>(   s   selfs   _outs   writes   targets   data(   s   selfs   targets   data(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   processingInstructionx s   (   s   __name__s
   __module__s   Nones   __init__s   startDocuments   startPrefixMappings   endPrefixMappings   startElements
   endElements   startElementNSs   endElementNSs
   characterss   ignorableWhitespaces   processingInstruction(    (    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   XMLGenerator4 s   	s   XMLFilterBasec      sg  | t  Z d  Z   e d  Z  d   Z  d   Z  d   Z  d   Z  d   Z	  d   Z
  d   Z  d	   Z  d
   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z  d   Z RS(   sY  This class is designed to sit between an XMLReader and the
    client application's event handlers.  By default, it does nothing
    but pass requests up to the reader and events on to the handlers
    unmodified, but subclasses can override specific methods to modify
    the event stream or the configuration requests as they pass
    through.c    s&     t  i i |    | |  _ d  S(   N(   s	   xmlreaders	   XMLReaders   __init__s   selfs   parents   _parent(   s   selfs   parent(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   __init__ s   c    s     |  i i |  d  S(   N(   s   selfs   _err_handlers   errors	   exception(   s   selfs	   exception(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   error s   c    s     |  i i |  d  S(   N(   s   selfs   _err_handlers
   fatalErrors	   exception(   s   selfs	   exception(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys
   fatalError s   c    s     |  i i |  d  S(   N(   s   selfs   _err_handlers   warnings	   exception(   s   selfs	   exception(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   warning s   c    s     |  i i |  d  S(   N(   s   selfs   _cont_handlers   setDocumentLocators   locator(   s   selfs   locator(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   setDocumentLocator s   c    s     |  i i   d  S(   N(   s   selfs   _cont_handlers   startDocument(   s   self(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   startDocument s   c    s     |  i i   d  S(   N(   s   selfs   _cont_handlers   endDocument(   s   self(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   endDocument s   c    s     |  i i | |  d  S(   N(   s   selfs   _cont_handlers   startPrefixMappings   prefixs   uri(   s   selfs   prefixs   uri(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   startPrefixMapping s   c    s     |  i i |  d  S(   N(   s   selfs   _cont_handlers   endPrefixMappings   prefix(   s   selfs   prefix(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   endPrefixMapping s   c    s     |  i i | |  d  S(   N(   s   selfs   _cont_handlers   startElements   names   attrs(   s   selfs   names   attrs(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   startElement s   c    s     |  i i |  d  S(   N(   s   selfs   _cont_handlers
   endElements   name(   s   selfs   name(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys
   endElement s   c    s     |  i i | |  d  S(   N(   s   selfs   _cont_handlers   startElements   names   attrs(   s   selfs   names   qnames   attrs(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   startElementNS s   c    s     |  i i | |  d  S(   N(   s   selfs   _cont_handlers   endElementNSs   names   qname(   s   selfs   names   qname(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   endElementNS s   c    s     |  i i |  d  S(   N(   s   selfs   _cont_handlers
   characterss   content(   s   selfs   content(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys
   characters s   c    s     |  i i |  d  S(   N(   s   selfs   _cont_handlers   ignorableWhitespaces   chars(   s   selfs   chars(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   ignorableWhitespace s   c    s     |  i i | |  d  S(   N(   s   selfs   _cont_handlers   processingInstructions   targets   data(   s   selfs   targets   data(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   processingInstruction s   c    s     |  i i |  d  S(   N(   s   selfs   _cont_handlers   skippedEntitys   name(   s   selfs   name(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   skippedEntity s   c    s      |  i i | | |  d  S(   N(   s   selfs   _dtd_handlers   notationDecls   names   publicIds   systemId(   s   selfs   names   publicIds   systemId(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   notationDecl s   c    s#     |  i i | | | |  d  S(   N(   s   selfs   _dtd_handlers   unparsedEntityDecls   names   publicIds   systemIds   ndata(   s   selfs   names   publicIds   systemIds   ndata(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   unparsedEntityDecl s   c    s     |  i i | |  d  S(   N(   s   selfs   _ent_handlers   resolveEntitys   publicIds   systemId(   s   selfs   publicIds   systemId(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   resolveEntity s   c    sf     |  i i |    |  i i |    |  i i |    |  i i |    |  i i |  d  S(   N(   s   selfs   _parents   setContentHandlers   setErrorHandlers   setEntityResolvers   setDTDHandlers   parses   source(   s   selfs   source(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   parse s
   c    s     |  i i |  d  S(   N(   s   selfs   _parents	   setLocales   locale(   s   selfs   locale(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys	   setLocale s   c    s     |  i i |  Sd  S(   N(   s   selfs   _parents
   getFeatures   name(   s   selfs   name(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys
   getFeature s   c    s     |  i i | |  d  S(   N(   s   selfs   _parents
   setFeatures   names   state(   s   selfs   names   state(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys
   setFeature s   c    s     |  i i |  Sd  S(   N(   s   selfs   _parents   getPropertys   name(   s   selfs   name(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   getProperty s   c    s     |  i i | |  d  S(   N(   s   selfs   _parents   setPropertys   names   value(   s   selfs   names   value(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   setProperty s   c    s     |  i Sd  S(   N(   s   selfs   _parent(   s   self(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys	   getParent s   c    s     | |  _ d  S(   N(   s   parents   selfs   _parent(   s   selfs   parent(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys	   setParent s   (    s   __name__s
   __module__s   __doc__s   Nones   __init__s   errors
   fatalErrors   warnings   setDocumentLocators   startDocuments   endDocuments   startPrefixMappings   endPrefixMappings   startElements
   endElements   startElementNSs   endElementNSs
   characterss   ignorableWhitespaces   processingInstructions   skippedEntitys   notationDecls   unparsedEntityDecls   resolveEntitys   parses	   setLocales
   getFeatures
   setFeatures   getPropertys   setPropertys	   getParents	   setParent(    (    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   XMLFilterBase| s:   s    c    s     t  |   t j o  t i |   }  nj  t |  d  oV  |  }  t i   }   |  i |   t | d  o  |  i | i	  n n  |  i
   t j o  |  i   }  t i i |  oZ  t i i t i i |   d }  |  i t i i | |    t | d  } n5  |  i t i | |    t i |  i    } |  i |  n |  Sd S(   s   This function takes an InputSource and an optional base URL and
    returns a fully resolved InputSource object ready for reading.s   reads   namei    s   rbN(   s   types   sources   _StringTypess	   xmlreaders   InputSources   hasattrs   fs   setByteStreams   setSystemIds   names   getByteStreams   Nones   getSystemIds   sysids   oss   paths   isfiles   splits   normpaths   bases   baseheads   joins   opens   urlparses   urljoins   urllibs   urlopen(   s   sources   bases   sysids   fs   basehead(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   prepare_input_source s&   	%(   s   __doc__s   oss   urlparses   urllibs   typess   handlers	   xmlreaders
   StringTypes   UnicodeTypes   _StringTypess   AttributeErrors   escapes	   quoteattrs   ContentHandlers   XMLGenerators	   XMLReaders   XMLFilterBases   prepare_input_source(   s   _StringTypess   oss   urllibs	   xmlreaders   urlparses   prepare_input_sources   handlers	   quoteattrs   XMLGenerators   escapes   typess   XMLFilterBase(    (    s&   /usr/lib/python2.2/xml/sax/saxutils.pys   ? s   'Ho