-
<c       sn     d  Z    d k Z 
 e i Z  d k T d k T d e f d     YZ d e f d     YZ	 d S(   s   
This module contains a DTD parser that reports DTD parse events to a listener.
Used by xmlproc to parse DTDs, but can be used for other purposes as well.

$Id: dtdparser.py,v 1.13 2002/04/13 19:10:40 larsga Exp $
N(   s   *s	   DTDParserc      s   d  Z    d d  Z , d   Z 9 d   Z D d   Z N d   Z ] d d  Z s d 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 Zd   Z id   Z d   Z d   Z d   Z d   Z d d  Z Td   Z sd   Z d   Z d    Z d!   Z d" d#  Z  d$   Z! RS(%   s2   A parser for XML DTDs, both internal and external.i   c    s     |  i }  | i |  i |  i  }  | t j o  |  i o | o'  t
 |  i  |  _  |  i | Sn ! |  i o= " |  i   # d |  _ $ |  i   % |  i | |  Sn ' t    n ) | i d  |  _ * |  i | |  i !Sd  S(   Ni    (   s   selfs   poss   oldposs   regexps   searchs   datas   mos   Nones   finals   requireds   lens   in_perefs
   pop_entitys   _skip_wss   find_regs   OutOfDataExceptions   start(   s   selfs   regexps   requireds   oldposs   mo(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   find_reg s   c    s   , - t  |  i | |  i  } . | d j oW / |  i o: 0 |  i   1 d |  _ 2 |  i   3 |  i	 |  Sn 4 t
    n 5 |  i |  i | !} 6 | t |  |  _ 7 | Sd  S(   Nii    (   s   string_finds   selfs   datas   targets   poss   new_poss   in_perefs
   pop_entitys   _skip_wss   scan_tos   OutOfDataExceptions   ress   len(   s   selfs   targets   new_poss   res(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   scan_to, s   c    s   9 : t  |  i | |  i  } ; | d j oW < |  i o: = |  i   > d |  _ ? |  i   @ |  i	 |  Sn A t
    n B | Sd  S(   Nii    (   s   string_finds   selfs   datas   targets   poss   new_poss   in_perefs
   pop_entitys   _skip_wss	   get_indexs   OutOfDataException(   s   selfs   targets   new_pos(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys	   get_index9 s   c    s   D E |  i |  i t |  j  o |  i oW F |  i o: G |  i   H d |  _ I |  i   J |  i	 |  Sn K t
    n L |  i |  i |  i t |  !| j Sd  S(   Ni    (   s   selfs   datasizes   poss   lens   strs   finals   in_perefs
   pop_entitys   _skip_wss   test_strs   OutOfDataExceptions   data(   s   selfs   str(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   test_strD s   +c    s   N O |  i |  i t |  j  o |  i oW P |  i o: Q |  i   R d |  _ S |  i   T |  i	 |  Sn U t
    n W |  i |  i |  i t |  !| j o$ X |  i t |  |  _ Y d Sn [ d Sd  S(   Ni    i   (   s   selfs   datasizes   poss   lens   test_strs   finals   in_perefs
   pop_entitys   _skip_wss   now_ats   OutOfDataExceptions   data(   s   selfs   test_str(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   now_atN s   +*i    c    s9  ] ^ |  i } ` y a x2 a |  i |  i t j o b |  i d |  _ q Wd | o$ |  i | j o |  i |  i d j o e |  i d  n Wn f t j
 o g |  i o1 h |  i	   i d |  _ j |  i
   k d  Sn m | o | |  i j o1 n |  i o o |  i d  n q t    n n Xd  S(   Ni   s   %i  i    (   s   selfs   poss   starts   datas
   whitespaces	   necessarys   report_errors
   IndexErrors   in_perefs
   pop_entitys   _skip_wss   finals   OutOfDataException(   s   selfs	   necessarys   start(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   _skip_ws] s"    1c    s]  s t |  i |  u |  i o8v y# w |  i d  o x d  Sn Wn y t j
 o z d  Sn X| |  i   } ~ |  i d  o  |  i d d  n  y  |  i	 i
 |  } Wn0  t j
 o!  |  i d |   d  Sn X | i   o8  d |  _  |  i |  i   | i   d |  _ n  |  i d   |  i   n d  S(   Ns   %s   ;i  i  i   i  (   s   selfs   _skip_wss	   necessarys   internals   now_ats   OutOfDataExceptions	   _get_names   names   report_errors   dtds
   resolve_pes   ents   KeyErrors   is_internals   in_perefs   push_entitys   get_current_sysids   values   finals   skip_ws(   s   selfs	   necessarys   ents   name(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   skip_wss s*   c    s     |  i |  i d j o |  i oW  |  i o:  |  i    d |  _  |  i    |  i |  Sn  t	    n  | i
 |  i |  i  t j Sd  S(   Ni   i    (   s   selfs   poss   datasizes   finals   in_perefs
   pop_entitys   _skip_wss   test_regs   regexps   OutOfDataExceptions   matchs   datas   None(   s   selfs   regexp(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   test_reg s   %c    s[    |  i |  i d j o |  i oW  |  i o:  |  i    d |  _  |  i    |  i |  Sn  t	    n  | i
 |  i |  i  }  | t j o"  |  i t | i   d Sn  | i d  }  | |  i j oJ  |  i o-  |  i    d |  _  | i d  Sn  t	    n  | |  _  | i d  Sd  S(   Ni   i    s    (   s   selfs   poss   datasizes   finals   in_perefs
   pop_entitys   _skip_wss	   get_matchs   regexps   OutOfDataExceptions   matchs   datas   ents   Nones   report_errors   reg2codes   patterns   ends   group(   s   selfs   regexps   ents   end(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys	   get_match s(   %c    s}     t  i |    d |  _  d |  _  t   |  _  |  i |  _  d |  _  d |  _	  d |  _
  g  |  _ d  S(   Ni    (   s   EntityParsers   __init__s   selfs   internals   seen_xmldecls   DTDConsumerPEs   dtds   dtd_consumers   in_perefs   ignores_entereds   includes_entereds   own_ent_stack(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   __init__ s   c    s     t  i |    t |  d  o  |  i i   n  d |  _  d |  _  d |  _  d |  _  d |  _	  g  |  _
  d |  _ d  S(   Ns   dtdi    (   s   EntityParsers   resets   selfs   hasattrs   dtds   internals   seen_xmldecls   in_perefs   ignores_entereds   includes_entereds   own_ent_stacks   dtd_start_called(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   reset s   c    s)     |  i o  |  i i   n d  S(   N(   s   selfs   dtd_start_calleds   dtd_consumers	   dtd_start(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys
   parseStart s   c    s     |  i i   d  S(   N(   s   selfs   dtd_consumers   dtd_end(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parseEnd s   c    s      | |  _ d S(   s/   Tells the parser where to send DTD information.N(   s   dtds   selfs   dtd_consumer(   s   selfs   dtd(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   set_dtd_consumer s   c    s      | |  _  d S(   s   Tells the parser where to mirror PE information (in addition to
        what goes to the DTD consumer and where to get PE information.N(   s   dtds   self(   s   selfs   dtd(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   set_dtd_object s   c    s      | |  _ d S(   s9   Tells the parser whether the DTD is internal or external.N(   s   yesnos   selfs   internal(   s   selfs   yesno(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   set_internal s   c    s2      t  |  _ |  _ |  _ |  _ |  _ d S(   s   Removes circular references.N(   s   Nones   selfs   ents   dtd_consumers   dtds   apps   err(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   deref s   c    s     y2 |  i }  |  i d j o  |  i   n  |  i    x |  i |  i j  o |  i d  o  |  i   nc |  i d  o  |  i	   n? |  i d  o  |  i
   n |  i d  o  |  i   n  |  i t  o  |  i   n |  i d  o |  i |  i  n |  i d  o |  i |  i  n |  i d  o |  i   n[ |  i d	  o |  i d j o |  i d
 |  _ n! 
|  i d  |  i d  |  i } |  i   qO W|  i o |  i d j o |  i d  n Wn~ t j
 o/ } |  i o |  n | |  _ nB t j
 o2 } |  i o t    n | |  _ n Xd S(   s   Does the actual parsing.i    s	   <!ELEMENTs   <!ENTITYs	   <!ATTLISTs
   <!NOTATIONs   <?s   <!--s   <![s   ]]>i   i  s   >i  N(   s   selfs   poss   preposs   ignores_entereds   parse_ignored_datas   _skip_wss   datasizes   now_ats   parse_elem_types   parse_entitys   parse_attlists   parse_notations   test_regs
   reg_pe_refs   parse_pe_refs   parse_pis   dtd_consumers   parse_comments   parse_conditionals   includes_entereds   report_errors   scan_tos   finals   OutOfDataExceptions   es
   IndexError(   s   selfs   preposs   e(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   do_parse sP    #c    s  !t  i |  d  "|  i d  o  #d } $t  i |  d  n
 &d } (|  i   } )|  i d  +|  i d  \ } } -| t
 j o .d } /|  i   } nd 1d } 2|  i   o t i |  d d j o 4|  i d |  n 5t |  i   |  } 7|  i d  o 8|  i d  n :|  i   <| o |  i d  oK >| o ?|  i d  n @|  i   B|  i   } C|  i   n
 Et
 } G|  i d	  o H|  i d
 d	  n J| o L| oJ M|  i i | |  N|  i |  i j o O|  i i | |  n nM Q|  i i | | |  R|  i |  i j o S|  i i | | |  n nA U| o V|  i i | |  n X|  i i | | | |  d S(   s   Parses an entity declaration.i   s   %i    s    i  s   NDATAi  i  s   >i  N(   s   EntityParsers   skip_wss   selfs   now_ats   pedecls	   _get_names   ent_names   parse_external_ids   pub_ids   sys_ids   Nones   internals   parse_ent_repltexts   ent_vals   get_current_sysids   urlparses   report_errors   join_sysidss   ndatas   dtd_consumers   new_parameter_entitys   dtds   new_external_pes   new_general_entitys   new_external_entity(   s   selfs   pub_ids   ndatas   ent_names   ent_vals   sys_ids   pedecls   internal(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_entitysN   				+
	

!
c    s   Z\^|  i d  o _d } nQ `|  i d  o ad } n1 c|  i d d d f  d|  i d  ed Sg|  i |  i |   Sd S(   sr   Parses an entity replacement text and resolves all character
        entity and parameter entity references in it.s   "s   'i  s   >N(   s   selfs   now_ats   delims   report_errors   scan_tos   parse_ent_litval(   s   selfs   delim(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_ent_repltextZs   c 	   s+  ijd } kd } mxmd ont i | |  } p| t j o qPn s| | | | i d  !} t| i d  } v| | | d !d j oewt | d |  } x| d j o y|  i d d  zPn || | d d	 j o }t | | d
 | ! } n t | | d | ! } | d j p1 | d j p$ | d j p | d j o
 | d j ol | d j oE t o
 | d j  o | t |  } n |  i d |  n |  i d |  n | t |  } | d } n| | d j o t | d |  } | d j o |  i d d  Pn | | d | !} yV |  i i |  } | i   o | |  i | i  } n |  i d  Wn) t j
 o |  i d |  n X| d } n |  i d  Pq W| | | Sd  S(   Ni    s    i   i   s   &#s   ;ii  s   xi   i	   i
   i   i    i   i   i  i  s   %i  i  i  (   s   poss   vals   reg_litval_stops   searchs   litvals   ress   Nones   starts   string_finds   endposs   selfs   report_errors   unhexs   digss   ints   using_unicodes   xml_chrs   names   dtds
   resolve_pes   ents   is_internals   parse_ent_litvals   values   KeyError(	   s   selfs   litvals   names   vals   ress   poss   digss   ents   endpos(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_ent_litvalisT   		 
E	c    s   |  i d  |  i   } |  i d  |  i d d  \ } } |  i   |  i d  o |  i d d  n |  i	 i
 | | |  d S(   s   Parses a notation declaration.i   i    s   >i  N(   s   selfs   skip_wss	   _get_names   names   parse_external_ids   pubids   sysids   now_ats   report_errors   dtd_consumers   new_notation(   s   selfs   sysids   pubids   name(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_notations   c    s-  |  i t  d d !} y |  i i |  } Wn0 t j
 o! |  i d |  d Sn X| i	   o: |  i
 |  i   | i  |  i   |  i   nr |  i i | i   | i    } |  i } |  i d  z |  i |  Wd |  i |  Xd S(   s)   Parses a reference to a parameter entity.i   ii  Ni    (   s   selfs	   get_matchs
   reg_pe_refs   names   dtds
   resolve_pes   ents   KeyErrors   report_errors   is_internals   push_entitys   get_current_sysids   values   do_parses
   pop_entitys   pubress   resolve_pe_pubids	   get_pubids	   get_sysids   sysids   internals   ints   set_internals   open_entity(   s   selfs   sysids   ents   names   int(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_pe_refs&   c    s  |  i d  |  i   } |  i d  x|  i d  o||  i   } |  i d  |  i t  o |  i t  } n|  i
 d  o/ |  i d  d |  i t d  f } n |  i
 d  o |  i d |  _ |  i t d  } h  } xK | D]@ } | i |  o |  i d | f  n d | | <q'Wn( |  i d  |  i d  d S|  i d  |  i d	  p |  i d
  o d } |  i   } n |  i
 d  o d } t } n |  i
 d  o d } t } nb |  i
 d  o, |  i d  d } |  i   } n# |  i d  t } t } |  i   |  i i | | | | |  q; W |  i d |  _ d S(   s%   Parses an attribute list declaration.i   s   >s   NOTATIONs   |s   (i  i  Ns   "s   's   #DEFAULTs   #IMPLIEDs	   #REQUIREDs   #FIXEDiE  (   s   selfs   skip_wss	   _get_names   elems   test_strs   attrs   test_regs   reg_attr_types	   get_matchs   a_types   now_ats   _DTDParser__parse_lists   reg_names   poss   reg_nmtokens   tokenss   tokens   has_keys   report_errors   scan_tos   a_decls   parse_ent_repltexts   a_defs   Nones   dtd_consumers   new_attribute(   s   selfs   attrs   a_types   elems   tokenss   tokens   a_defs   a_decl(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_attlistsZ    	
 	#						$c    s  |  i d  |  i   } |  i d  |  i d  o d } ni |  i d  o d } nI |  i d  o |  i   } n# |  i d d d f  d } |  i   |  i d  o |  i d d  n |  i i	 | |  d	 S(
   s#   Parses an element type declaration.i   s   EMPTYs   ANYs   (i  s
   EMPTY, ANYs   >i  N(
   s   selfs   skip_wss	   _get_names	   elem_names   now_ats	   elem_conts   _parse_content_models   report_errors   dtd_consumers   new_element_type(   s   selfs	   elem_names	   elem_cont(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_elem_types    	c    s   "|  i   %g  } &d } (|  i d  o
 | d j o )|  i   Sn +x+d o,|  i   -|  i d  o .|  i d  } n 0|  i	   } 2|  i
 d  p |  i
 d  p |  i
 d  o* 3|  i |  i } 4|  i d |  _ n
 6d } 8t |  t j o 9| i | | f  n ;| i |  =|  i   >|  i d	  o ?Pn A| d j oj B|  i
 d
  p |  i
 d  o C|  i |  i } n E|  i d d d f  F|  i d |  _ n9 H|  i |  o$ I|  i d  J|  i d	  n q\ WL|  i
 d  p |  i
 d  p |  i
 d  o* M|  i |  i } N|  i d |  _ n
 Pd } R| | | f Sd S(   sa  Parses the content model of an element type declaration. Level
        tells the function if we are on the top level (=0) or not (=1).
        The '(' has just been passed over, we read past the ')'. Returns
        a tuple (separator, contents, modifier), where content consists
        of (cp, modifier) tuples and cp can be a new content model tuple.s    s   #PCDATAi    i   s   (s   ?s   *s   +s   )s   |s   ,i  s   '|'i  N(   s   selfs   skip_wss	   cont_lists   seps   now_ats   levels   parse_mixed_content_models   _parse_content_models   cps	   _get_names   test_strs   datas   poss   mods   types   StringTypess   appends   report_errors   scan_to(   s   selfs   levels   seps   cps	   cont_lists   mod(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   _parse_content_modelsF   		  
3	#3	c    s\  TUWd d f g } Xd } Yd } [x [d o \y ]|  i   Wn! ^t j
 o } _|  n Xa|  i d  o bd } n? c|  i d  o dPn$ f|  i d d  g|  i	 d  i|  i   j| i
 |  i t  d f  q0 Wl|  i d  o md } n( n| d j o o|  i d d  n q| | | f Sd	 S(
   s9   Parses mixed content models. Ie: ones containing #PCDATA.s   #PCDATAs    i   s   |s   )i  s   >s   *N(   s	   cont_lists   seps   mods   selfs   skip_wss   OutOfDataExceptions   es   now_ats   report_errors   scan_tos   appends	   get_matchs   reg_name(   s   selfs   es   seps	   cont_lists   mod(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_mixed_content_modelTs.   		 
$c    sc  stu|  i o$ v|  i d  w|  i d  n)y|  i   {|  i d  o\ |d |  _ }|  i   ~|  i d  o |  i d d  n |  i   d Sn |  i d  o@ |  i d	 d
 d f  |  i d  |  i d |  _ n |  i   |  i d  o |  i d d  n |  i   |  i d |  _ d S(   s   Parses a conditional section.i  s   ]]>s   IGNOREi   s   [i  Ns   INCLUDEi  s   'IGNORE'(	   s   selfs   internals   report_errors   scan_tos   skip_wss   now_ats   ignores_entereds   parse_ignored_datas   includes_entered(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_conditionalss*   c    s  yy |  i } xc | oX |  i t  |  i d  o | d } n! | d } |  i d |  _ q WWnr t j
 oc } |  i	 o |  i
 d  n | |  _ d |  _ d |  _ d |  _ |  n Xd |  _ d  S(   Ns   ]]>i   i   i  s    i    (   s   selfs   ignores_entereds   counters   find_regs   reg_cond_sects   now_ats   poss   OutOfDataExceptions   es   finals   report_errors   datas   datasize(   s   selfs   counters   e(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   parse_ignored_datas$    
c    s   g  } |  i   |  i d  o |  i d d  n x d o |  i   | i |  i |   |  i   |  i d  o Pn6 |  i |  o! |  i d d | f  Pn qM W| Sd S(   sB   Parses a '(' S? elem_regexp S? separator ... ')' list. (Internal.)s   (i  i   s   )i  s   ')'N(	   s   lists   selfs   skip_wss   now_ats   report_errors   appends	   get_matchs   elem_regexps	   separator(   s   selfs   elem_regexps	   separators   list(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   __parse_lists    	 
c    s   |  i Sd  S(   N(   s   selfs   internal(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   is_externals   s   Nonec    s<   t  i |  |  |  i i |  i  d |  _ d  S(   Ni    (   s   EntityParsers   _push_ent_stacks   selfs   names   own_ent_stacks   appends   includes_entered(   s   selfs   name(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   _push_ent_stacks   c    s7   t  i |   |  i d |  _ |  i d =d  S(   Ni(   s   EntityParsers   _pop_ent_stacks   selfs   own_ent_stacks   includes_entered(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   _pop_ent_stacks   ("   s   __doc__s   find_regs   scan_tos	   get_indexs   test_strs   now_ats   _skip_wss   skip_wss   test_regs	   get_matchs   __init__s   resets
   parseStarts   parseEnds   set_dtd_consumers   set_dtd_objects   set_internals   derefs   do_parses   parse_entitys   parse_ent_repltexts   parse_ent_litvals   parse_notations   parse_pe_refs   parse_attlists   parse_elem_types   _parse_content_models   parse_mixed_content_models   parse_conditionals   parse_ignored_datas   _DTDParser__parse_lists   is_externals   _push_ent_stacks   _pop_ent_stack(    (    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys	   DTDParser sD   	
!2<<89s   DTDConsumerPEc      sA   d   Z  d   Z d   Z d   Z d   Z RS(   Nc    s2   t  i |  t  h  |  _ h  |  _ d  S(   N(   s   DTDConsumers   __init__s   selfs   Nones
   param_entss   used_notations(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   __init__s   c    s;   |  i i |  o t | |  |  i | <n d  S(   N(   s   selfs
   param_entss   has_keys   names   InternalEntitys   val(   s   selfs   names   val(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   new_parameter_entitys   c    sA   |  i i |  o# t | | | d  |  i | <n d  S(   Ns    (   s   selfs
   param_entss   has_keys   names   ExternalEntitys   pubids   sysid(   s   selfs   names   pubids   sysid(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   new_external_pes   c    s   |  i | Sd  S(   N(   s   selfs
   param_entss   name(   s   selfs   name(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys
   resolve_pes   c    s   h  |  _ d  S(   N(   s   selfs
   param_ents(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   resets   (   s   __init__s   new_parameter_entitys   new_external_pes
   resolve_pes   reset(    (    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   DTDConsumerPEs
   (
   s   __doc__s   strings   finds   string_finds   xmlutilss   xmldtds   XMLCommonParsers	   DTDParsers   DTDConsumers   DTDConsumerPE(   s   DTDConsumerPEs   strings	   DTDParsers   string_find(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/dtdparser.pys   ? s   

  