-í
¼Ï<c       s]     d  Z    d k Z 	 d k Z  d e i f d „  ƒ  YZ > d e f d „  ƒ  YZ d S(   sš   
A parser filter for namespace support. Placed externally to the parser
for efficiency reasons.

$Id: namespace.py,v 1.5 2001/12/30 12:09:14 loewis Exp $
Ns   ParserFilterc      sª    d  Z    d „  Z  d „  Z  d „  Z  d „  Z ! d „  Z $ d „  Z ' d „  Z * d „  Z - d	 „  Z	 0 d
 „  Z
 3 d „  Z 6 d „  Z 9 d „  Z RS(   s   A generic parser filter class.c    s,     t  i i |  ƒ  t  i ƒ  |  _ d  S(   N(   s   xmlapps   Applications   __init__s   selfs   app(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   __init__ s   c    s      | |  _  d S(   s)   Sets the application to report events to.N(   s   apps   self(   s   selfs   app(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   set_application s   c    s0     t  i i |  | ƒ  |  i i | ƒ d  S(   N(   s   xmlapps   Applications   set_locators   selfs   locators   app(   s   selfs   locator(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   set_locator s   c    s     |  i i ƒ  d  S(   N(   s   selfs   apps	   doc_start(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys	   doc_start s   c    s   ! " |  i i ƒ  d  S(   N(   s   selfs   apps   doc_end(   s   self(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   doc_end! s   c    s   $ % |  i i | ƒ d  S(   N(   s   selfs   apps   handle_comments   data(   s   selfs   data(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   handle_comment$ s   c    s   ' ( |  i i | | ƒ d  S(   N(   s   selfs   apps   handle_start_tags   names   attrs(   s   selfs   names   attrs(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   handle_start_tag' s   c    s   * + |  i i | ƒ d  S(   N(   s   selfs   apps   handle_end_tags   name(   s   selfs   name(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   handle_end_tag* s   c    s    - . |  i i | | | ƒ d  S(   N(   s   selfs   apps   handle_datas   datas   starts   end(   s   selfs   datas   starts   end(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   handle_data- s   c    s    0 1 |  i i | | | ƒ d  S(   N(   s   selfs   apps   handle_ignorable_datas   datas   starts   end(   s   selfs   datas   starts   end(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   handle_ignorable_data0 s   c    s   3 4 |  i i | | ƒ d  S(   N(   s   selfs   apps	   handle_pis   targets   data(   s   selfs   targets   data(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys	   handle_pi3 s   c    s    6 7 |  i i | | | ƒ d  S(   N(   s   selfs   apps   handle_doctypes   roots   pubIDs   sysID(   s   selfs   roots   pubIDs   sysID(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   handle_doctype6 s   c    s    9 : |  i i | | | ƒ d  S(   N(   s   selfs   apps   set_entity_infos   xmlvers   encs   sddecl(   s   selfs   xmlvers   encs   sddecl(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   set_entity_info9 s   (   s   __doc__s   __init__s   set_applications   set_locators	   doc_starts   doc_ends   handle_comments   handle_start_tags   handle_end_tags   handle_datas   handle_ignorable_datas	   handle_pis   handle_doctypes   set_entity_info(    (    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   ParserFilter s   	s   NamespaceFilterc      sM   > d  Z  A C d „  Z J d „  Z P d „  Z † d „  Z • e d „ Z RS(   s±   An xmlproc application that processes qualified names and reports them
    as 'URI local-part' names. It reports errors through the error reporting
    mechanisms of the parser.c    sG   C D t  i |  ƒ E h  |  _ F g  |  _ G d |  _ H | |  _ d  S(   Ni    (   s   ParserFilters   __init__s   selfs   ns_maps   ns_stacks   rep_ns_attrss   parser(   s   selfs   parser(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   __init__C s
   c    s   J K L | |  _ d S(   s>   Tells the filter whether to report or delete xmlns-attributes.N(   s   actions   selfs   rep_ns_attrs(   s   selfs   action(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   set_report_ns_attributesJ s   c    sr  P Q h  } R g  } W xW| i ƒ  DW ]F\ } } X | d  d j ok Y | d } Z t i | d ƒ d j o [ |  i
 i d ƒ n ] | d j o ^ |  i
 i d ƒ n n$ _ | d j o ` d } n b q% d |  i i | ƒ o e |  i | | | <n g | i | ƒ i | d j o
 | d j o j |  i | =n l | |  i | <n |  i o o | | =n q% Wq |  i i | | f ƒ t |  i | ƒ } v t i | ƒ } w t | ƒ d	 j o x | d
 }	 n
 z t }	 | xs | i ƒ  D| ]b \ } } } | | =~ |  i | |	 ƒ }
  | i |
 ƒ o € |  i
 i d ƒ n  | | |
 <qïW„ |  i i | | ƒ d  S(   Ni   s   xmlns:s   :iÿÿÿÿil  s    im  s   xmlnsi   i    io  (   s   old_nss   del_nss   attrss   itemss   as   vs   prefixs   strings   finds   selfs   parsers   report_errors   ns_maps   has_keys   appends   rep_ns_attrss   ns_stacks   _NamespaceFilter__process_names   names   splits   partss   lens   nss   Nones   anames   apps   handle_start_tag(   s   selfs   names   attrss   as   old_nss   del_nss   prefixs   partss   vs   nss   aname(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   handle_start_tagP sF   		 	 
c    s†   † ‡ |  i | ƒ } Š |  i d \ } } ‹ |  i d = |  i i | ƒ Ž x | DŽ ] }  |  i | =qU W‘ |  i	 i
 | ƒ d  S(   Niÿÿÿÿ(   s   selfs   _NamespaceFilter__process_names   names   ns_stacks   old_nss   del_nss   ns_maps   updates   prefixs   apps   handle_end_tag(   s   selfs   names   prefixs   del_nss   old_ns(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   handle_end_tag† s   
 	c    sN  • – t  i | d ƒ } — t | ƒ d j o ˜ |  i i d ƒ ™ | Snÿ š t | ƒ d j o} › | d d j o œ | Sn ž y$ Ÿ d |  i | d | d f SWn0   t	 j
 o! ¡ |  i i d ƒ ¢ | Sn Xnl £ | t j o ¤ d | | f SnG ¥ |  i i d	 ƒ o
 | d j o ¦ d |  i d	 | f Sn ¨ | Sd  S(
   Ns   :i   il  i    s   xmlnss   %s %si   in  s    (   s   strings   splits   names   ns   lens   selfs   parsers   report_errors   ns_maps   KeyErrors
   default_tos   Nones   has_key(   s   selfs   names
   default_tos   n(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   __process_name• s"   $#(   s   __doc__s   __init__s   set_report_ns_attributess   handle_start_tags   handle_end_tags   Nones   _NamespaceFilter__process_name(    (    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   NamespaceFilter> s   	6(   s   __doc__s   strings   xmlapps   Applications   ParserFilters   NamespaceFilter(   s   NamespaceFilters   strings   xmlapps   ParserFilter(    (    sP   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/namespace.pys   ? s   1