-
<c       sb    d  Z     d k Z d k Z  d k l Z  d k l Z  d k l Z l Z l	 Z	  d k
 l Z  d k l Z  d k Z  d k Z  e i d ?d j o  d	   Z n  d
   Z ! d e	 f d     YZ ' h  d e i <d e i <d e i <d e i <d e i <d e i <d e i <d e i <d e i <d e i <d e i <d e i <Z 7 d   Z  ; e i! d d  Z" E e i! d d e# d  Z$ W e i! d d d  Z% b e i! d d  Z& f d    Z' t e# d!  Z(  e# d"  Z)  d# d$ f Z*  d%   Z+  d&   Z,  d'   Z-  d(   Z. e# d)  Z/ d S(*   s   
WWW: http://4suite.com/4DOM         e-mail: support@4suite.com

Copyright (c) 2000 Fourthought Inc, USA.   All Rights Reserved.
See  http://4suite.com/COPYRIGHT  for license and copyright information
N(   s   Node(   s
   NodeFilter(   s   XML_NAMESPACEs   XMLNS_NAMESPACEs   DOMException(   s   HTML_4_TRANSITIONAL_INLINE(   s   Canonicalizei   i c    s    t  |   t i t i g j S(   N(   s   types   ss   typess
   StringTypes   UnicodeType(   s   s(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   <lambda> s    c    s    t  |   t i j S(   N(   s   types   ss   typess
   StringType(   s   s(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   <lambda> s    s   FtDomExceptionc      s   ! " d   Z  RS(   Nc    s(   " # t  t i |  f |  $ d  Sd  S(   N(   s   applys   DOMExceptions   __init__s   selfs   args(   s   selfs   args(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   __init__" s   (   s   __init__(    (    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   FtDomException! s   s   Elements   Attrs   Texts   CDATASections   EntityReferences   Entitys   ProcessingInstructions   Comments   Documents   DocumentTypes   DocumentFragments   Notationc    s   7 8 t  |  Sd  S(   N(   s   NodeTypeDicts   nodeType(   s   nodeType(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   NodeTypeToClassName7 s   s   UTF-8c    s   ; < t  |  d  o = d  Sn > d k l } ? t |   } @ | i | | d | } A | i
 | |   i   B d  Sd  S(   Ns   nodeType(   s   Printers   nsHints(   s   hasattrs   roots   xml.dom.exts   Printers   SeekNsss   nsss   PrintVisitors   streams   encodings   visitors   PrintWalkers   run(   s   roots   streams   encodings   Printers   visitors   nss(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   Print; s   s     c 	   s   E G t  |  d  o H d  Sn I d k l } J t |   } K | p g  } L |  i p |  } M t  | d  o O | t	 } n P | i
 | | | Q | |  } R | i | |   i   S | i d  T d  Sd  S(   Ns   nodeType(   s   Printers   getElementsByNames   
(   s   hasattrs   roots   xml.dom.exts   Printers   SeekNsss	   nss_hintss   preserveElementss   ownerDocuments	   owner_docs   HTML_4_TRANSITIONAL_INLINEs   PrintVisitors   streams   encodings   indents   visitors   PrintWalkers   runs   write(	   s   roots   streams   encodings   indents   preserveElementss   Printers   visitors	   nss_hintss	   owner_doc(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   PrettyPrintE s   c    s~   W X t  |  d  o Y d  Sn [ d k l } \ | i | | |  } ] t	 i
 | |   i   ^ | i d  _ d  Sd  S(   Ns   nodeType(   s   XHtmlPrinters   
(   s   hasattrs   roots   xml.dom.exts   XHtmlPrinters   XHtmlPrintVisitors   streams   encodings   indents   visitors   Printers   PrintWalkers   runs   write(   s   roots   streams   encodings   indents   XHtmlPrinters   visitor(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   XHtmlPrettyPrintW s   c    s   b c t  |  | | d  d  S(   Ns    (   s   XHtmlPrettyPrints   roots   streams   encoding(   s   roots   streams   encoding(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys
   XHtmlPrintb s   c    s   f g |  i } h xH | Dh ]= } i | i t i j o j t |  n k |  i |  q Wm |  i t i j oY n xO t	 |  i
 i  Dn ]8 } o |  i
 i d  } p |  i |  q t |  q Wn d  S(   Ni    (   s   nodes
   childNodess   cns   childs   nodeTypes   Nodes   ELEMENT_NODEs   ReleaseNodes   removeChilds   ranges
   attributess   lengths   ctrs   items   attrs   removeAttributeNode(   s   nodes   cns   ctrs   childs   attr(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   ReleaseNodef s   
 	 	c    sd  t x y | p g  } z | t } { g  } | |  i p |  } } | i |  t i ~ t	 d  }  | i   }  x  | o  | }  x  | |  j o|  | i t i j o+  | i | j o  Pn  | i } n8  t i | i  o  | i |  n  | i } q W | i   } qu W x$ | D ] }  | i i |  q9W |  Sd S(   s   
    Remove all text nodes in a given tree that do not have at least one
    non-whitespace character, taking into account special HTML elements
    i    N(   s   preserveElementss   HTML_4_TRANSITIONAL_INLINEs   remove_lists	   startNodes   ownerDocuments	   owner_docs   createNodeIterators
   NodeFilters	   SHOW_TEXTs   Nones   snits   nextNodes	   curr_nodes   ancestors   nodeTypes   Nodes   ELEMENT_NODEs   nodeNames
   parentNodes   strings   strips   datas   appends   node_to_removes   removeChild(   s	   startNodes   preserveElementss   remove_lists   ancestors   node_to_removes   snits	   owner_docs	   curr_node(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys	   StripHtmlt s2   	 
	 
 	c    s     | p g  }  g  }  |  i p |  }  | i |  t i  t d  }  | i
   }  x  | o  t |  d j o  t i | i  o  | }  x  | |  j o^  | i t i j o8  | i | j p | i | i f | j o  Pn n  | i } q W | i |   | i } n n  | i
   } qh W x$ | D ] }  | i i |  q_W |  Sd S(   s   
    Remove all text nodes in a given tree that do not have at least one
    non-whitespace character, taking into account xml:space
    i    s   preserveN(   s   preserveElementss   remove_lists	   startNodes   ownerDocuments	   owner_docs   createNodeIterators
   NodeFilters	   SHOW_TEXTs   Nones   snits   nextNodes	   curr_nodes   XmlSpaceStates   strings   strips   datas   ancestors   nodeTypes   Nodes   ELEMENT_NODEs	   localNames   namespaceURIs
   parentNodes   appends   node_to_removes   removeChild(   s	   startNodes   preserveElementss   remove_lists   ancestors   node_to_removes   snits	   owner_docs	   curr_node(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   StripXml s2   	 
	 ,
 	s    s   IDc    s      |  i p |  }  | i |  t i  t d  }  | i   }  x^  | oS  | i
 i t t  }  | o | i   | j o  | Sn  | i   } qO W t Sd S(   sZ   
    Return the element in the given tree with an ID attribute of the given
    value
    i    N(   s	   startNodes   ownerDocuments	   owner_docs   createNodeIterators
   NodeFilters   SHOW_ELEMENTs   Nones   snits   nextNodes	   curr_nodes
   attributess   gets   _id_keys   attrs   _get_nodeValues   targetId(   s	   startNodes   targetIds   snits   attrs	   owner_docs	   curr_node(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   GetElementById s    
c    s      d d d g }  d }  d }  d }  x  | p | o  |  i t i j o6  |  i t	 d  }  | | j o  d } n n  |  i
 }  | o | i t i j o  d } n  | }  q9 W | Sd S(   sO   
    Return the valid value of the xml:space attribute currently in effect
    s    s   preserves   defaulti    s   spacei   N(   s   valid_valuess   xml_space_founds   root_reacheds   xml_space_states   nodes   nodeTypes   Nodes   ELEMENT_NODEs   getAttributeNSs   XML_NAMESPACEs
   parentNodes   parent_node(   s   nodes   xml_space_states   valid_valuess   root_reacheds   parent_nodes   xml_space_found(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   XmlSpaceState s    			  c    sc    h  t  d <}  |  i t i j o |  i o  t |  i  Sn  |  i t i j o  |  i	 o  |  i	 | |  i
 <n  x |  i i   D ]{ }  | i	 t j o>  | i d j o  | i | t <n  | i | | i <n%  | i	 o  | i	 | | i
 <n q Wn  |  i o/  t |  i  }  | i |   | } n  | Sd  S(   Ns   xmls   xmlns(   s   XML_NAMESPACEs   nsss   nodes   nodeTypes   Nodes   ATTRIBUTE_NODEs   ownerElements   GetAllNss   ELEMENT_NODEs   namespaceURIs   prefixs
   attributess   valuess   attrs   XMLNS_NAMESPACEs	   localNames   values   Nones
   parentNodes
   parent_nsss   update(   s   nodes   attrs
   parent_nsss   nss(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   GetAllNs s&     	c    s      t  }  | t  j o  t i |  d  }  t |  d j o6 |  d j o t  d f } n t  |  f } nl t |  d j oF | d d j o | d d f } n 	| d | d f } n t  t  f } n | Sd S(   s|  
    Input a QName according to XML Namespaces 1.0
    http://www.w3.org/TR/REC-xml-names
    Return the name parts according to the spec
    In the case of namespace declarations the tuple returned
    is (prefix, 'xmlns')
    Note that this won't hurt users since prefixes and local parts starting
    with "xml" are reserved, but it makes ns-aware builders easier to write
    s   :i   s   xmlnsi   i    N(   s   Nones   sNames   strings   splitfieldss   qnames   fieldss   lens   sname(   s   qnames   sNames   snames   fields(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys
   SplitQName s   		c    s  | p h  } x |  i D] } | i t i j o | i o | i | | i <n x | i	 i
   D]{ } | i t j o> | i d j o | i | t <n | i | | i <n% | i o | i | | i <n qy Wt | |  n q# W | Sd S(   sC   traverses the tree to seek an approximate set of defined namespacess   xmlnsN(   s   nsss   nodes
   childNodess   childs   nodeTypes   Nodes   ELEMENT_NODEs   namespaceURIs   prefixs
   attributess   valuess   attrs   XMLNS_NAMESPACEs	   localNames   values   Nones   SeekNss(   s   nodes   nsss   childs   attr(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   SeekNsss"    	 	(0   s   __doc__s   syss   strings   xml.doms   Nodes   xml.dom.NodeFilters
   NodeFilters   XML_NAMESPACEs   XMLNS_NAMESPACEs   DOMExceptions   xml.dom.htmls   HTML_4_TRANSITIONAL_INLINEs   c14ns   Canonicalizes   res   typess
   hexversions   IsDOMStrings   FtDomExceptions   ELEMENT_NODEs   ATTRIBUTE_NODEs	   TEXT_NODEs   CDATA_SECTION_NODEs   ENTITY_REFERENCE_NODEs   ENTITY_NODEs   PROCESSING_INSTRUCTION_NODEs   COMMENT_NODEs   DOCUMENT_NODEs   DOCUMENT_TYPE_NODEs   DOCUMENT_FRAGMENT_NODEs   NOTATION_NODEs   NodeTypeDicts   NodeTypeToClassNames   stdouts   Prints   Nones   PrettyPrints   XHtmlPrettyPrints
   XHtmlPrints   ReleaseNodes	   StripHtmls   StripXmls   _id_keys   GetElementByIds   XmlSpaceStates   GetAllNss
   SplitQNames   SeekNss(   s
   NodeFilters   DOMExceptions   strings	   StripHtmls   NodeTypeToClassNames   syss   GetElementByIds   FtDomExceptions   GetAllNss   Prints
   XHtmlPrints   ReleaseNodes   XML_NAMESPACEs   StripXmls   Nodes   XMLNS_NAMESPACEs   PrettyPrints   HTML_4_TRANSITIONAL_INLINEs   XHtmlPrettyPrints   IsDOMStrings   XmlSpaceStates   NodeTypeDicts   res
   SplitQNames   _id_keys   typess   SeekNsss   Canonicalize(    (    sG   /usr/local/twc/lib/python2.2/site-packages/_xmlplus/dom/ext/__init__.pys   ? s8   
