-í
¼Ï<c       sà     d  Z    d k Z d k Z  d k Z d k Z  d f  d „  ƒ  YZ  d f  d „  ƒ  YZ 9 d f  d „  ƒ  YZ I d e e i f d	 „  ƒ  YZ	   d
 e f d „  ƒ  YZ
 .d f  d „  ƒ  YZ Od f  d „  ƒ  YZ d S(   s[   
An SGML Open catalog file parser.
$Id: catalog.py,v 1.14 2001/12/30 12:09:14 loewis Exp $
Ns   CatParserFactoryc      s)    d  Z    e d „ Z  d „  Z RS(   sV   This class is used by the CatalogManager to create new parsers as they
    are needed.c    s     | |  _  d  S(   N(   s
   error_langs   self(   s   selfs
   error_lang(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   __init__ s   c    s     t  |  i ƒ Sd  S(   N(   s   CatalogParsers   selfs
   error_lang(   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   make_parser s   (   s   __doc__s   Nones   __init__s   make_parser(    (    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   CatParserFactory s   	s
   CatalogAppc      sq     d „  Z   d „  Z   d „  Z # d „  Z & d „  Z ) d „  Z , d „  Z / d „  Z 2 d	 „  Z RS(
   Nc    s
     d  S(   N(    (   s   selfs   pubids   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_public s   c    s
     d  S(   N(    (   s   selfs   prefixs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_delegate s   c    s
     ! d  S(   N(    (   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_document  s   c    s
   # $ d  S(   N(    (   s   selfs   sysid1s   sysid2(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_system# s   c    s
   & ' d  S(   N(    (   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_base& s   c    s
   ) * d  S(   N(    (   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_catalog) s   c    s
   , - d  S(   N(    (   s   selfs   yesno(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_override, s   c    s
   / 0 d  S(   N(    (   s   selfs   docelems   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_doctype/ s   c    s
   2 5 d S(   sš   Called for SGMLDECL catalog entries. These are only used by
        SGML systems and tell the application where to find the SGML
        declaration file.N(    (   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_sgmldecl2 s   (	   s   handle_publics   handle_delegates   handle_documents   handle_systems   handle_bases   handle_catalogs   handle_overrides   handle_doctypes   handle_sgmldecl(    (    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys
   CatalogApp s   s   AbstrCatalogParserc      s5   9 d  Z  : < e d „ Z A d „  Z D d „  Z RS(   sF   Abstract catalog parser with functionality needed in all such parsers.c    s7   < = t  ƒ  |  _ > t i t ƒ |  _ ? | |  _ d  S(   N(   s
   CatalogApps   selfs   apps   xmlapps   ErrorHandlers   Nones   errs
   error_lang(   s   selfs
   error_lang(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   __init__< s   c    s   A B | |  _  d  S(   N(   s   apps   self(   s   selfs   app(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   set_applicationA s   c    s   D E | |  _  d  S(   N(   s   errs   self(   s   selfs   err(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   set_error_handlerD s   (   s   __doc__s   Nones   __init__s   set_applications   set_error_handler(    (    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   AbstrCatalogParser9 s   	s   CatalogParserc      sY   I d  Z  J L e d „ Z Y d „  Z ] d „  Z r d „  Z | d „  Z … d „  Z RS(   s%   A parser for SGML Open catalog files.c    s¢   L M t  i |  | ƒ N t i i |  ƒ S h  d d f d <d d f d <d d <d d <d d <d d f d	 <d d
 <d d f d <d d <|  _ d  S(   Ns   ps   ss   PUBLICs   DELEGATEs   CATALOGs   DOCUMENTs   os   BASEs   SYSTEMs   OVERRIDEs   DOCTYPEs   SGMLDECL(   s   AbstrCatalogParsers   __init__s   selfs
   error_langs   xmlutilss   EntityParsers
   entry_hash(   s   selfs
   error_lang(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   __init__L s   c    s+   Y Z |  i o [ |  i |  i ƒ n d  S(   N(   s   selfs
   error_langs   set_error_language(   s   self(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys
   parseStartY s   c    s  ] ^ yÄ _ xº _ |  i d |  i j  oŸ ` |  i } b |  i ƒ  c |  i d |  i j o d Pn f |  i t i ƒ } g |  i	 i
 | ƒ o h |  i d | f ƒ n j |  i | |  i	 | ƒ q WWn< l t i j
 o* m |  i o
 n ‚  n p | |  _ n Xd  S(   Ni   iì  (   s   selfs   poss   datasizes   preposs
   skip_stuffs   find_regs   xmlutilss   reg_wss	   entrynames
   entry_hashs   has_keys   report_errors   parse_entrys   OutOfDataExceptions   final(   s   selfs   preposs	   entryname(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   do_parse] s    #
c    sm   r s |  i d ƒ o t d } n7 u |  i d ƒ o v d } n x |  i t i d ƒ Sz |  i | ƒ Sd  S(   Ns   "s   'i    (   s   selfs   now_ats   delims   find_regs   xmlutilss   reg_wss   scan_to(   s   selfs   delim(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys	   parse_argr s   c    sW   | } ~ xG ~ d o<  |  i ƒ  € |  i d ƒ o  |  i d ƒ n ƒ Pq Wd S(   s,   Skips whitespace and comments between items.i   s   --N(   s   selfs   skip_wss   now_ats   scan_to(   s   self(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys
   skip_stuff| s    
c    sé  … † g  } ‡ x4 | D‡ ]) } ˆ |  i ƒ  ‰ | i |  i ƒ  ƒ q W‹ | d j o" Œ |  i i	 | d | d ƒ nn | d j o Ž |  i i
 | d ƒ nC | d j o"  |  i i | d | d ƒ n‘ | d j o ’ |  i i | d ƒ næ “ | d j o ” |  i i | d ƒ n» • | d j o" – |  i i | d | d ƒ n‰ — | d	 j o ˜ |  i i | d ƒ n^ ™ | d
 j o" š |  i i | d | d ƒ n, › | d j o œ |  i i | d ƒ n d  S(   Ns   PUBLICi    i   s   CATALOGs   DELEGATEs   BASEs   DOCUMENTs   SYSTEMs   OVERRIDEs   DOCTYPEs   SGMLDECL(   s   arglists   argss   args   selfs
   skip_stuffs   appends	   parse_args   names   apps   handle_publics   handle_catalogs   handle_delegates   handle_bases   handle_documents   handle_systems   handle_overrides   handle_doctypes   handle_sgmldecl(   s   selfs   names   argss   arglists   arg(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   parse_entry… s.   	
 	""""(   s   __doc__s   Nones   __init__s
   parseStarts   do_parses	   parse_args
   skip_stuffs   parse_entry(    (    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   CatalogParserI s   	
	s   CatalogManagerc      sþ     ¢ e  d „ Z ´ d „  Z · d „  Z º d „  Z É e i 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(   Nc    sž   ¢ £ h  |  _ ¤ h  |  _ ¥ g  |  _ ¦ t |  _ § h  |  _ ¨ t |  _ © t |  _ ¬ g  |  _	 ® | p t i t ƒ |  _ ¯ t ƒ  |  _ ° t |  _ d  S(   N(   s   selfs   _CatalogManager__publics   _CatalogManager__systems   _CatalogManager__delegationss   Nones   _CatalogManager__documents   _CatalogManager__doctypess   _CatalogManager__bases   _CatalogManager__sgmldecls   _CatalogManager__catalog_stacks   error_handlers   xmlapps   ErrorHandlers   errs   CatParserFactorys   parser_facts   parser(   s   selfs   error_handler(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   __init__¢ s   c    s   ´ µ | |  _  d  S(   N(   s   errs   self(   s   selfs   err(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   set_error_handler´ s   c    s   · ¸ | |  _  d  S(   N(   s   parser_facts   self(   s   selfs   parser_fact(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   set_parser_factory· s   c    sß   º » |  i i |  i f ƒ ¼ | |  _ ¾ |  i i | ƒ |  _ ¿ |  i i	 ƒ  } À |  i i |  i ƒ Á |  i i |  i ƒ Â |  i i |  ƒ Ã |  i i | ƒ Å |  i i | ƒ Æ |  i d d |  _ Ç |  i d =d  S(   Niÿÿÿÿi    (   s   selfs   _CatalogManager__catalog_stacks   appends   _CatalogManager__bases   sysids   parser_facts   make_parsers   parsers   errs   get_locators   old_locators   set_locators   set_error_handlers   set_applications   parse_resource(   s   selfs   sysids   old_locator(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   parse_catalogº s   c    s
  É Ê | i d |  i ƒ Ì | i d ƒ Í x. |  i i ƒ  DÍ ] } Î | i d | ƒ q= WÐ | i d ƒ Ñ x. |  i i ƒ  DÑ ] } Ò | i d | ƒ q WÔ | i d ƒ Õ xN |  i DÕ ]@ \ } } Ö | i d | ƒ × | i | ƒ Ø | i d ƒ q¿ Wd  S(   Ns   Document sysid: %s
s   FPI mappings:
s     %s -> %s
s   Sysid mappings:
s   Delegates:
s   ---PREFIX MAPPER: %s
s   ---EOPM
(   s   outs   writes   selfs   _CatalogManager__documents   _CatalogManager__publics   itemss   its   _CatalogManager__systems   _CatalogManager__delegationss   prefixs   cat_mans   report(   s   selfs   outs   prefixs   its   cat_man(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   reportÉ s    	 	 c    s   Ü Ý | |  _ d  S(   N(   s   newbases   selfs   _CatalogManager__base(   s   selfs   newbase(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_baseÜ s   c    s    ß à |  i |  i | ƒ ƒ d  S(   N(   s   selfs   parse_catalogs   _CatalogManager__resolve_sysids   sysid(   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_catalogß s   c    s    â ã |  i | ƒ |  i | <d  S(   N(   s   selfs   _CatalogManager__resolve_sysids   sysids   _CatalogManager__publics   pubid(   s   selfs   pubids   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_publicâ s   c    s)   å æ |  i | ƒ |  i |  i | ƒ <d  S(   N(   s   selfs   _CatalogManager__resolve_sysids   sysid2s   _CatalogManager__systems   sysid1(   s   selfs   sysid1s   sysid2(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_systemå s   c    sX   é ê t  ƒ  } ë | i |  i ƒ ì | i |  i | ƒ ƒ í |  i i	 | | f ƒ d  S(   N(   s   CatalogManagers   catalog_managers   set_parser_factorys   selfs   parser_facts   parse_catalogs   _CatalogManager__resolve_sysids   sysids   _CatalogManager__delegationss   appends   prefix(   s   selfs   prefixs   sysids   catalog_manager(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_delegateé s   c    s   ï ð |  i | ƒ |  _ d  S(   N(   s   selfs   _CatalogManager__resolve_sysids   sysids   _CatalogManager__document(   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_documentï s   c    s   ò ó |  i | ƒ |  _ d  S(   N(   s   selfs   _CatalogManager__resolve_sysids   sysids   _CatalogManager__sgmldecl(   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_sgmldeclò s   c    s    õ ö |  i | ƒ |  i | <d  S(   N(   s   selfs   _CatalogManager__resolve_sysids   sysids   _CatalogManager__doctypess   docelem(   s   selfs   docelems   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   handle_doctypeõ s   c    sP   ú ü ý |  i i ƒ  } þ x' |  i Dþ ] } ÿ | | i ƒ  } q% W| Sd S(   sY   Returns a list of all declared public indentifiers in this catalog
        and delegates.N(   s   selfs   _CatalogManager__publics   keyss   lists   _CatalogManager__delegationss   delegates   get_public_ids(   s   selfs   lists   delegate(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   get_public_idsú s    	c    s   |  i Sd  S(   N(   s   selfs   _CatalogManager__document(   s   self(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   get_document_sysids   c    s   |  i Sd  S(   N(   s   selfs   _CatalogManager__sgmldecl(   s   self(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   get_sgmldecls   c    s<   	
y |  i | SWn t j
 o | Sn Xd  S(   N(   s   selfs   _CatalogManager__systems   sysids   KeyError(   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   remap_sysid	s   c    sú   | t j oÓ d } xZ |  i D]L \ } } | | t | ƒ  j o& | i | | ƒ } d } Pn q) W| oK y |  i
 | } Wn- t j
 o |  i i d | ƒ n Xn |  i | ƒ Sn  |  i | ƒ d  S(   Ni    i   s   Unknown public identifier '%s'(   s   pubids   Nones   resolveds   selfs   _CatalogManager__delegationss   prefixs   catalogs   lens   resolve_sysids   sysids   _CatalogManager__publics   KeyErrors   errs   errors   remap_sysid(   s   selfs   pubids   sysids   resolveds   catalogs   prefix(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   resolve_sysids   	 	 c    s!   "$%|  i |  i | ƒ Sd S(   s‡   Returns the system identifier of the DTD with the given document
        element. Raises KeyError if no such document element is known.N(   s   selfs   remap_sysids   _CatalogManager__doctypess   docelem(   s   selfs   docelem(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   get_doctype_sysid"s   c    s   )*t  i |  i | ƒ Sd  S(   N(   s   xmlutilss   join_sysidss   selfs   _CatalogManager__bases   sysid(   s   selfs   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   __resolve_sysid)s   (   s   Nones   __init__s   set_error_handlers   set_parser_factorys   parse_catalogs   syss   stdouts   reports   handle_bases   handle_catalogs   handle_publics   handle_systems   handle_delegates   handle_documents   handle_sgmldecls   handle_doctypes   get_public_idss   get_document_sysids   get_sgmldecls   remap_sysids   resolve_sysids   get_doctype_sysids   _CatalogManager__resolve_sysid(    (    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   CatalogManager  s(   	s   xmlproc_catalogc      sP   .0e  d „ Z 5d „  Z 8d „  Z ;d „  Z Ad „  Z Gd „  Z RS(   Nc    s?   01t  | ƒ |  _ 2|  i i | ƒ 3|  i i | ƒ d  S(   N(   s   CatalogManagers   error_handlers   selfs   catalogs   set_parser_factorys   pfs   parse_catalogs   sysid(   s   selfs   sysids   pfs   error_handler(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   __init__0s   c    s   56|  i i ƒ  Sd  S(   N(   s   selfs   catalogs   get_document_sysid(   s   self(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   get_document_sysid5s   c    s   89|  i i ƒ  Sd  S(   N(   s   selfs   catalogs   get_sgmldecl(   s   self(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   get_sgmldecl8s   c    sD   ;<| t j o =|  i i | ƒ Sn ?|  i i | | ƒ Sd  S(   N(   s   pubids   Nones   selfs   catalogs   remap_sysids   sysids   resolve_sysid(   s   selfs   pubids   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   resolve_pe_pubid;s   c    sD   AB| t j o C|  i i | ƒ Sn E|  i i | | ƒ Sd  S(   N(   s   pubids   Nones   selfs   catalogs   remap_sysids   sysids   resolve_sysid(   s   selfs   pubids   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   resolve_doctype_pubidAs   c    sD   GH| t j o I|  i i | ƒ Sn K|  i i | | ƒ Sd  S(   N(   s   pubids   Nones   selfs   catalogs   remap_sysids   sysids   resolve_sysid(   s   selfs   pubids   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   resolve_entity_pubidGs   (   s   Nones   __init__s   get_document_sysids   get_sgmldecls   resolve_pe_pubids   resolve_doctype_pubids   resolve_entity_pubid(    (    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   xmlproc_catalog.s   s   SAX_catalogc      s   OQd „  Z  Vd „  Z RS(   Nc    s<   QRt  ƒ  |  _ S|  i i | ƒ T|  i i | ƒ d  S(   N(   s   CatalogManagers   selfs   catalogs   set_parser_factorys   pfs   parse_catalogs   sysid(   s   selfs   sysids   pf(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   __init__Qs   c    s   VW|  i i | | ƒ Sd  S(   N(   s   selfs   catalogs   resolve_sysids   pubids   sysid(   s   selfs   pubids   sysid(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   resolveEntityVs   (   s   __init__s   resolveEntity(    (    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   SAX_catalogOs   (   s   __doc__s   strings   syss   xmlutilss   xmlapps   CatParserFactorys
   CatalogApps   AbstrCatalogParsers   EntityParsers   CatalogParsers   CatalogManagers   xmlproc_catalogs   SAX_catalog(   s   AbstrCatalogParsers
   CatalogApps   strings   SAX_catalogs   CatalogManagers   xmlapps   syss   xmlutilss   CatalogParsers   xmlproc_catalogs   CatParserFactory(    (    sN   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/parsers/xmlproc/catalog.pys   ? s   !WŽ!