
\Kc        	   @   s  d  Z  d d k Z d d k l Z l Z l Z l Z d d k Td d k l	 Z	 l
 Z
 e i i i e i i i f Z d e i i f d     YZ e e d d	 d
 e e d d	 d e e d d	 d d   Z d   Z d   Z d   Z d   Z d e f d     YZ d e f d     YZ e e d d	 d e e d d	 d e e d d	 d d e f d     YZ e e d d	 d  e Z d! e f d"     YZ e e e  Z d# e f d$     YZ e e d% d	 d& e e d d	 d' d(   Z d) f  d*     YZ  d+ e  e f d,     YZ! d- e  e f d.     YZ" e e" d d	 d/ d0 e" f d1     YZ# e e# d2 d	 d3 e e# d4 d	 d5 d6   Z$ d7   Z% d8 e  e" f d9     YZ& d: e# f d;     YZ' d< e f d=     YZ( e e( d d	 d> d? f  d@     YZ) dA e) e  e f dB     YZ* dC e) e f dD     YZ+ dE e) e  e f dF     YZ, dG e	 f dH     YZ- dI e f dJ     YZ. dK   Z/ dL e e
 f dM     YZ0 e e0 dN d	 dO dP   Z1 dQ   Z2 dR   Z3 dS   Z4 e e dT  Z5 e dU  Z6 e dV  Z7 d S(W   s(  minidom.py -- a lightweight DOM implementation.

parse("foo.xml")

parseString("<foo><bar/></foo>")

Todo:
=====
 * convenience methods for getting elements and text.
 * more testing
 * bring some of the writer and linearizer code into conformance with this
        interface
 * SAX 2 namespaces
iN(   t   EMPTY_NAMESPACEt   EMPTY_PREFIXt   XMLNS_NAMESPACEt   domreg(   t   *(   t   DOMImplementationLSt
   DocumentLSt   Nodec           B   s   e  Z d Z d Z d Z d Z d Z e Z	 d    Z
 d d  Z d d 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 d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  S(   N(   t   True(   t   self(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __nonzero__)   s    c         C   s   |  i  d d |  S(   Nt    (   t   toprettyxml(   R	   t   encoding(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   toxml,   s    s   	s   
c         C   s   t    } | d  j	 o) d d  k } | i |  d |  } n |  i t i j o |  i | d | | |  n |  i | d | |  | i   S(   Nii   R   (	   t   _get_StringIOt   Nonet   codecst   lookupt   nodeTypeR   t   DOCUMENT_NODEt   writexmlt   getvalue(   R	   t   indentt   newlR   t   writerR   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   /   s    	c         C   s   |  i  o t Sn t Sd  S(   N(   t
   childNodesR   t   False(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   hasChildNodes>   s    
c         C   s   |  i  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_childNodesD   s    c         C   s   |  i  o |  i  d Sn d  S(   Ni    (   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_firstChildG   s    
c         C   s   |  i  o |  i  d Sn d  S(   Ni(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_lastChildK   s    
c         C   s  | i  |  i j o2 x' t | i  D] } |  i | |  q# W| Sn | i  |  i j o, t i i d t	 |  t	 |   f   n | i
 d  j	 o | i
 i |  n | d  j o |  i |  n y |  i i |  } Wn" t j
 o t i i    n X| i  t j o t |   n |  i i | |  | | _ | | _ | o' |  i | d } | | _ | | _ n
 d  | _ |  | _
 | S(   Ns   %s cannot be child of %si   (   R   t   DOCUMENT_FRAGMENT_NODEt   tupleR   t   insertBeforet   _child_node_typest   xmlt   domt   HierarchyRequestErrt   reprt
   parentNodeR   t   removeChildt   appendChildt   indext
   ValueErrort   NotFoundErrt   _nodeTypes_with_childrent   _clear_id_cachet   insertt   nextSiblingt   previousSibling(   R	   t   newChildt   refChildt   cR+   t   node(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR"   O   s8     	#					c         C   s   | i  |  i j o/ x$ t | i  D] } |  i |  q# W| Sn | i  |  i j o, t i i d t	 |  t	 |   f   n | i  t
 j o t |   n | i d  j	 o | i i |  n t |  |  d  | _ | S(   Ns   %s cannot be child of %s(   R   R    R!   R   R*   R#   R$   R%   R&   R'   R.   R/   R(   R   R)   t   _append_childR1   (   R	   R6   R5   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR*   o   s     	#	c         C   s  | i  |  i j o* | i } |  i |  |  i | |  Sn | i  |  i j o, t i i d t	 |  t	 |   f   n | | j o d  Sn | i
 d  j	 o | i
 i |  n y |  i i |  } Wn" t j
 o t i i    n X| |  i | <|  | _
 d  | _
 | i  t j p | i  t j o t |   n | i | _ | i | _ d  | _ d  | _ | i o | | i _ n | i o | | i _ n | S(   Ns   %s cannot be child of %s(   R   R    R1   R)   R"   R#   R$   R%   R&   R'   R(   R   R   R+   R,   R-   R.   R/   R2   (   R	   R3   t   oldChildR4   R+   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   replaceChild   s<    		#				

c         C   s   y |  i  i |  Wn" t j
 o t i i    n X| i d  j	 o | i | i _ n | i d  j	 o | i | i _ n d  | _ | _ | i	 t
 j o t |   n d  | _ | S(   N(   R   t   removeR,   R$   R%   R-   R1   R   R2   R   R.   R/   R(   (   R	   R8   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR)      s    	c         C   sh  g  } x9|  i  D].} | i t i j o | i } | oU | oN | d i | i j o7 | d } | i | i | _ | i | _ | i   q>| o? | o | | d _ | d | _ n
 d  | _ | i	 |  q>| i   q | o | | d _ | d | _ n
 d  | _ | i	 |  | i t i
 j o | i   q q W| o d  | d _ n | |  i  (d  S(   Ni(   R   R   R   t	   TEXT_NODEt   dataR1   t   unlinkR2   R   t   appendt   ELEMENT_NODEt	   normalize(   R	   t   Lt   childR<   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR@      s6    
 	%
		c         C   s   t  |  | |  i p |   S(   N(   t   _clone_nodet   ownerDocument(   R	   t   deep(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt	   cloneNode   s    c         C   s   |  i  i i | |  S(   N(   RD   t   implementationt
   hasFeature(   R	   t   featuret   version(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   isSupported   s    c         C   s   d  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_localName   s    c         C   s
   |  | j S(   N(    (   R	   t   other(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt
   isSameNode   s    c         C   s#   |  i  | d   o |  Sn d  Sd  S(   N(   RK   R   (   R	   RI   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getInterface   s    c         C   s7   y |  i  | d SWn t t f j
 o d  Sn Xd  S(   Ni    (   t
   _user_datat   AttributeErrort   KeyErrorR   (   R	   t   key(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getUserData   s    c         C   s   d  } y |  i } Wn" t j
 o h  } | |  _ n X| i |  o | | d } n | d  j o" d  } | d  j	 o | | =q n | | f | | <| S(   Ni    (   R   RP   RQ   t   has_key(   R	   RS   R<   t   handlert   oldt   d(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   setUserData   s    c         C   sh   t  |  d  oT xQ |  i i   D]< \ } \ } } | d  j	 o | i | | | | |  q  q  Wn d  S(   NRP   (   t   hasattrRP   t   itemsR   t   handle(   R	   t	   operationt   srct   dstRS   R<   RV   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _call_user_data_handler  s
     c         C   s^   d  |  _ |  _ |  i o. x |  i D] } | i   q$ Wt   |  _ n d  |  _ d  |  _ d  S(   N(   R   R(   RD   R   R=   t   NodeListR2   R1   (   R	   RB   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR=     s    

 	N(   t   __name__t
   __module__R   t   namespaceURIR(   RD   R1   R2   R   t   prefixR
   R   R   R   R   R   R   R"   R*   R9   R)   R@   RF   RK   RL   RN   RO   RT   RY   R`   R=   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR       s6   						 		 		"					
			t
   firstChildt   docs   First child node, or None.t	   lastChilds   Last child node, or None.t	   localNames"   Namespace-local name of this node.c         C   sV   |  i  } | o( | d } | | i d <| | i d <n | i |  |  | i d <d  S(   NiR2   R1   R(   (   R   t   __dict__R>   (   R	   R6   R   t   last(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR7     s    	
c         C   s=   x6 |  d  j	 o( |  i t i j o t Sn |  i }  q Wt S(   N(   R   R   R   R   R   R(   R   (   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _in_document#  s     c         C   sM   | i  d d  i  d d  } | i  d d  i  d d  } |  i |  d	 S(
   s   Writes datachars to writer.t   &s   &amp;t   <s   &lt;s   "s   &quot;t   >s   &gt;N(   t   replacet   write(   R   R<   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _write_data+  s    c         C   si   xb |  i  D]W } | i t i j o. | d j p | i | j o | i |  n t | | |  q
 W| S(   NR   (   R   R   R   R?   t   tagNameR>   t   _get_elements_by_tagName_helper(   t   parentt   namet   rcR6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRt   1  s    
 c         C   s   x |  i  D]{ } | i t i j ob | d j p | i | j o. | d j p | i | j o | i |  n t | | | |  q
 q
 W| S(   NR   (   R   R   R   R?   Ri   Rd   R>   t"   _get_elements_by_tagName_ns_helper(   Ru   t   nsURIRi   Rw   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRx   9  s    
 t   DocumentFragmentc           B   sb   e  Z e i Z d  Z d Z d Z d Z	 e i
 e i e i e i e i e i e i f Z d   Z RS(   s   #document-fragmentc         C   s   t    |  _ d  S(   N(   Ra   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __init__P  s    N(   Rb   Rc   R   R    R   t   nodeNameR   t	   nodeValuet
   attributesR(   R?   R;   t   CDATA_SECTION_NODEt   ENTITY_REFERENCE_NODEt   PROCESSING_INSTRUCTION_NODEt   COMMENT_NODEt   NOTATION_NODER#   R{   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRz   B  s   	t   Attrc           B   s   e  Z e i Z d
 Z d
 Z e Z	 e Z
 e i e i f Z e d
 d
 d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z RS(   c         C   sS   |  i  } | | d <| d <| | d <| | d <t   | d <|  i i t    d  S(   NR|   Rv   Rd   Re   R   (   Rj   Ra   R   R>   t   Text(   R	   t   qNameRd   Ri   Re   RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{   ]  s    	

c         C   s   |  i  i d d  d S(   Nt   :i   i(   R|   t   split(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRL   k  s    c         C   s   |  i  S(   N(   Rv   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt	   _get_namen  s    c         C   s   |  i  S(   N(   t	   specified(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_specifiedq  s    c         C   s   |  i  } | d j oY | | d <| d <|  i d i  } | | d <| d <|  i d  j	 o t |  i  q nO | d j o7 | | d <| d <|  i d  j	 o t |  i  q n | | | <d  S(	   Nt   valueR}   i    R<   Rv   R|   (   s   values	   nodeValue(   s   names   nodeName(   Rj   R   t   ownerElementR   R/   (   R	   Rv   R   RX   t   d2(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __setattr__t  s    	c         C   s   |  i  } | d j o. | o# | t j o t i i d   qD n |  i } | | d <| d  j o |  i } n d | |  i f } |  i o t	 |  i  n | | d <| d <d  S(   Nt   xmlnss5   illegal use of 'xmlns' prefix for the wrong namespaceRe   s   %s:%sR|   Rv   (
   Rd   R   R$   R%   t   NamespaceErrRj   R   Ri   R   R/   (   R	   Re   t   nsuriRX   t   newName(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _set_prefix  s    			

c         C   sJ   |  i  } | | d <| d <|  i o t |  i  n | |  i d _ d  S(   NR   R}   i    (   Rj   R   R/   R   R<   (   R	   R   RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt
   _set_value  s
    	
c         C   s   |  i  } | d  j	 o_ | i |  i =| i |  i |  i f =|  i o. t |  _ | i	 d 8_	 |  i
 i d 8_ qu n x |  i D] } | i   q W|  i 2d  S(   Ni   (   R   R   t   _attrsR|   t   _attrsNSRd   Ri   t   _is_idR   t   _magic_id_nodesRD   t   _magic_id_countR   R=   (   R	   t   elemRB   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR=     s    	
	
 c         C   s   |  i  o t Sn |  i } |  i } | d  j p | d  j o t Sn | i |  } | d  j o t Sn |  i o | i |  i |  i	  Sn | i
 |  i  Sd  S(   N(   R   R   RD   R   R   R   t   _get_elem_infoRd   t   isIdNSRi   t   isIdR|   (   R	   Rg   R   t   info(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt	   _get_isId  s    
		
c         C   s   |  i  } |  i } | d  j p | d  j o t Sn | i |  } | d  j o t Sn |  i o | i |  i |  i  Sn | i |  i	  Sd  S(   N(
   RD   R   R   t   _no_typeR   Rd   t   getAttributeTypeNSRi   t   getAttributeTypeR|   (   R	   Rg   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_schemaType  s    		
N(   Rb   Rc   R   t   ATTRIBUTE_NODER   R   R~   R   R   R   R   R;   R   R#   R    R{   RL   R   R   R   R   R   R=   R   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   T  s"   									R   s    True if this attribute is an ID.s'   Namespace-local name of this attribute.t
   schemaTypes   Schema type for this attribute.t   NamedNodeMapc           B   s   e  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z d	   Z	 d
   Z
 d   Z d   Z d d  Z e 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(   s  The attribute list is a transient interface to the underlying
    dictionaries.  Mutations here will change the underlying element's
    dictionary.

    Ordering is imposed artificially and does not reflect the order of
    attributes as found in an input document.
    R   R   t   _ownerElementc         C   s   | |  _  | |  _ | |  _ d  S(   N(   R   R   R   (   R	   t   attrst   attrsNSR   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{     s    		c         C   s   t  |  i  S(   N(   t   lenR   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_length  s    c         C   s7   y |  |  i  i   | SWn t j
 o d  Sn Xd  S(   N(   R   t   keyst
   IndexErrorR   (   R	   R+   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   item  s    c         C   s=   g  } x0 |  i  i   D] } | i | i | i f  q W| S(   N(   R   t   valuesR>   R|   R   (   R	   RA   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR[     s
     c         C   sF   g  } x9 |  i  i   D]( } | i | i | i f | i f  q W| S(   N(   R   R   R>   Rd   Ri   R   (   R	   RA   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   itemsNS  s
     &c         C   s8   t  | t  o |  i i |  Sn |  i i |  Sd  S(   N(   t
   isinstancet   StringTypesR   RU   R   (   R	   RS   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRU     s    c         C   s   |  i  i   S(   N(   R   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   |  i  i   S(   N(   R   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   keysNS  s    c         C   s   |  i  i   S(   N(   R   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   |  i  i | |  S(   N(   R   t   get(   R	   Rv   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   sA   |  i  t | d d   j o d Sn t t |   t |   Sd  S(   NR   i    (   R   t   getattrR   t   cmpt   id(   R	   RM   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __cmp__  s    c         C   s.   t  | t  o |  i | Sn |  i | Sd  S(   N(   R   R!   R   R   (   R	   t   attname_or_tuple(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __getitem__  s    c         C   s   t  | t  o\ y |  i | } Wn; t j
 o/ t |  } |  i i | _ |  i |  n X| | _ n1 t  | t  p t	 d  n | } |  i |  d  S(   Ns%   value must be a string or Attr object(
   R   R   R   RR   R   R   RD   t   setNamedItemR   t	   TypeError(   R	   t   attnameR   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __setitem__  s    c         C   s-   y |  i  | SWn t j
 o d  Sn Xd  S(   N(   R   RR   R   (   R	   Rv   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getNamedItem#  s    c         C   s3   y |  i  | | f SWn t j
 o d  Sn Xd  S(   N(   R   RR   R   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getNamedItemNS)  s    c         C   s   |  i  |  } | d  j	 o\ t |  i  |  i | i =|  i | i | i f =| i	 i
 d  o d  | i	 d <n | Sn t i i    d  S(   NR   (   R   R   R/   R   R   R|   R   Rd   Ri   Rj   RU   R$   R%   R-   (   R	   Rv   t   n(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   removeNamedItem/  s    c         C   s   |  i  | |  } | d  j	 o\ t |  i  |  i | i | i f =|  i | i =| i	 i
 d  o d  | i	 d <n | Sn t i i    d  S(   NR   (   R   R   R/   R   R   Rd   Ri   R   R|   Rj   RU   R$   R%   R-   (   R	   Rd   Ri   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   removeNamedItemNS;  s    c         C   s   t  | t  p, t i i d t |  t |   f   n |  i i | i  } | o | i	   n | |  i | i <| |  i
 | i | i f <|  i | _ t | i  | S(   Ns   %s cannot be child of %s(   R   R   R$   R%   R&   R'   R   R   Rv   R=   R   Rd   Ri   R   R   R/   (   R	   R6   RW   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   G  s    	#c         C   s   |  i  |  S(   N(   R   (   R	   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   setNamedItemNST  s    c         C   s%   |  | } t  | i  | i   d  S(   N(   R/   R   R=   (   R	   R   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __delitem__W  s    
c         C   s   |  i  |  i |  i f S(   N(   R   R   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __getstate__\  s    c         C   s   | \ |  _  |  _ |  _ d  S(   N(   R   R   R   (   R	   t   state(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __setstate___  s    (   s   _attrss   _attrsNSs   _ownerElementN(   Rb   Rc   t   __doc__t	   __slots__R{   R   R   R[   R   RU   R   R   R   R   R   t   __len__R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s2   																				t   lengths$   Number of nodes in the NamedNodeMap.t   TypeInfoc           B   s2   e  Z d Z d   Z d   Z d   Z d   Z RS(   t	   namespaceRv   c         C   s   | |  _  | |  _ d  S(   N(   R   Rv   (   R	   R   Rv   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{   k  s    	c         C   s1   |  i  o d |  i |  i  f Sn d |  i Sd  S(   Ns   <TypeInfo %r (from %r)>s   <TypeInfo %r>(   R   Rv   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   __repr__o  s    
c         C   s   |  i  S(   N(   Rv   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   u  s    c         C   s   |  i  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_namespacex  s    (   s	   namespaces   name(   Rb   Rc   R   R{   R   R   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   h  s
   			t   Elementc           B   sL  e  Z e i Z d Z e Z d  Z	 e i e i
 e i e i e i e i f Z e d d d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z e Z d   Z d   Z d   Z e Z  d   Z! d   Z" d   Z# d   Z$ d   Z% d d d d  Z& d   Z' d   Z( d   Z) d   Z* d   Z+ RS(   i    c         C   sD   | |  _  |  _ | |  _ | |  _ t   |  _ h  |  _ h  |  _ d  S(   N(   Rs   R|   Re   Rd   Ra   R   R   R   (   R	   Rs   Rd   Re   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{     s    			c         C   s   |  i  i d d  d S(   NR   i   i(   Rs   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRL     s    c         C   s   |  i  S(   N(   Rs   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_tagName  s    c         C   sG   x! |  i  i   D] } | i   q Wd  |  _  d  |  _ t i |   d  S(   N(   R   R   R=   R   R   R   (   R	   t   attr(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR=     s     		c         C   s0   y |  i  | i SWn t j
 o d Sn Xd  S(   NR   (   R   R   RR   (   R	   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getAttribute  s    c         C   s6   y |  i  | | f i SWn t j
 o d Sn Xd  S(   NR   (   R   R   RR   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getAttributeNS  s    c         C   s   |  i  |  } | d  j oE t |  } | i } | | d <| d <|  i | d <|  i |  nH | | i j o7 | i } | | d <| d <| i o t |   q n d  S(   NR   R}   RD   (	   t   getAttributeNodeR   R   Rj   RD   t   setAttributeNodeR   R   R/   (   R	   R   R   R   RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   setAttribute  s    		
c         C   s  t  |  \ } } |  i | |  } | d  j ob t | | | |  } | i } | | d <| | d <| | d <| d <|  i | d <|  i |  np | i } | | i j o. | | d <| d <| i o t	 |   q n | i
 | j o | | d <| | d <n d  S(   NRe   R|   R   R}   RD   (   t   _nssplitt   getAttributeNodeNSR   R   Rj   RD   R   R   R   R/   Re   (   R	   Rd   t   qualifiedNameR   Re   t	   localnameR   RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   setAttributeNS  s$    	

	

c         C   s   |  i  i |  S(   N(   R   R   (   R	   t   attrname(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   |  i  i | | f  S(   N(   R   R   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   | i  d  |  f j o t i i d   n |  i i | i d   } | d  j	 o |  i |  n |  i	 i | i
 | i f d   } | d  j	 o | | j	 o |  i |  n t |  |  | | j	 o | Sn | | j	 o | Sn d  S(   Ns   attribute node already owned(   R   R   R$   R%   t   InuseAttributeErrR   R   Rv   t   removeAttributeNodeR   Rd   Ri   t   _set_attribute_node(   R	   R   t   old1t   old2(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    !c         C   sG   y |  i  | } Wn" t j
 o t i i    n X|  i |  d  S(   N(   R   RR   R$   R%   R-   R   (   R	   Rv   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   removeAttribute  s
    c         C   sM   y |  i  | | f } Wn" t j
 o t i i    n X|  i |  d  S(   N(   R   RR   R$   R%   R-   R   (   R	   Rd   Ri   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   removeAttributeNS  s
    c         C   s{   | d  j o t i i    n y |  i | i Wn" t j
 o t i i    n Xt |   | i   |  i	 | _	 d  S(   N(
   R   R$   R%   R-   R   Rv   RR   R/   R=   RD   (   R	   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR      s    

c         C   s   |  i  i |  S(   N(   R   RU   (   R	   Rv   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   hasAttribute  s    c         C   s   |  i  i | | f  S(   N(   R   RU   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   hasAttributeNS  s    c         C   s   t  |  | t    S(   N(   Rt   Ra   (   R	   Rv   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getElementsByTagName  s    c         C   s   t  |  | | t    S(   N(   Rx   Ra   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getElementsByTagNameNS  s    c         C   s   d |  i  t |   f S(   Ns   <DOM Element: %s at %#x>(   Rs   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    R   c   	   	   C   s   | i  | d |  i  |  i   } | i   } | i   x@ | D]8 } | i  d |  t | | | i  | i  d  qA W|  i o` | i  d |  x+ |  i D]  } | i | | | | |  q W| i  d | |  i | f  n | i  d |  d  S(   NRn   s    %s="s   "s   >%ss	   %s</%s>%ss   />%s(	   Rq   Rs   t   _get_attributesR   t   sortRr   R   R   R   (	   R	   R   R   t	   addindentR   R   t   a_namest   a_nameR6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s     
 

 !c         C   s   t  |  i |  i |   S(   N(   R   R   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   5  s    c         C   s   |  i  o t Sn t Sd  S(   N(   R   R   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   hasAttributes8  s    
c         C   s    |  i  |  } |  i |  d  S(   N(   R   t   setIdAttributeNode(   R	   Rv   t   idAttr(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   setIdAttribute@  s    c         C   s#   |  i  | |  } |  i |  d  S(   N(   R   R   (   R	   Rd   Ri   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   setIdAttributeNSD  s    c         C   s   | d  j p |  i | i  o t i i    n t |   d  j	 o t i i    n | i p< t	 | i
 d <|  i d 7_ |  i i d 7_ t |   n d  S(   NR   i   (   R   RN   R   R$   R%   R-   t   _get_containing_entreft   NoModificationAllowedErrR   R   Rj   R   RD   R   R/   (   R	   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   H  s    !
N(,   Rb   Rc   R   R?   R   R   R}   R   R   R   R   R   R;   R   R   R#   R    R{   RL   R   R=   R   R   R   R   R   R   R   t   setAttributeNodeNSR   R   R   t   removeAttributeNodeNSR   R   R   R   R   R   R   R   R   R   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   }  sL   																							R~   s*   NamedNodeMap of attributes on the element.s%   Namespace-local name of this element.c         C   sD   t  |   | |  i | i <| |  i | i | i f <|  | i d <d  S(   NR   (   R/   R   Rv   R   Rd   Ri   Rj   (   t   elementR   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   Y  s    
t	   Childlessc           B   sh   e  Z d  Z d Z e   Z d Z d Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z RS(	   s   Mixin that makes childless-ness easy to implement and avoids
    the complexity of the Node methods that deal with children.
    c         C   s   d  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   n  s    c         C   s   d  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   q  s    c         C   s   t  i i |  i d   d  S(   Ns    nodes cannot have children(   R$   R%   R&   R|   (   R	   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR*   t  s    	c         C   s   t  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   x  s    c         C   s   t  i i |  i d   d  S(   Ns    nodes do not have children(   R$   R%   R&   R|   (   R	   R3   R4   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR"   {  s    	c         C   s   t  i i |  i d   d  S(   Ns    nodes do not have children(   R$   R%   R-   R|   (   R	   R8   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR)     s    	c         C   s   t  i i |  i d   d  S(   Ns    nodes do not have children(   R$   R%   R&   R|   (   R	   R3   R8   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR9     s    	N(   Rb   Rc   R   R   R~   t   EmptyNodeListR   Rf   Rh   R   R   R*   R   R"   R)   R9   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   d  s   							t   ProcessingInstructionc           B   sY   e  Z e i Z d    Z d   Z d   Z d   Z d   Z	 d   Z
 d d d d  Z RS(   c         C   s$   | |  _  |  _ | |  _ |  _ d  S(   N(   t   targetR|   R<   R}   (   R	   R   R<   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{     s    c         C   s   |  i  S(   N(   R<   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt	   _get_data  s    c         C   s   |  i  } | | d <| d <d  S(   NR<   R}   (   Rj   (   R	   R   RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt	   _set_data  s    	c         C   s   |  i  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_target  s    c         C   s   |  i  } | | d <| d <d  S(   NR   R|   (   Rj   (   R	   R   RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _set_target  s    	c         C   s}   | d j p | d j o | |  i  d <|  i  d <nD | d j p | d j o | |  i  d <|  i  d <n | |  i  | <d  S(   NR<   R}   R   R|   (   Rj   (   R	   Rv   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s
    R   c         C   s'   | i  d | |  i |  i | f  d  S(   Ns   %s<?%s %s?>%s(   Rq   R   R<   (   R	   R   R   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    (   Rb   Rc   R   R   R   R{   R   R   R   R  R   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s   							t   CharacterDatac           B   st   e  Z d    Z e Z d   Z d   Z e Z e Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d	   Z RS(
   c         C   s   t  |  i  S(   N(   R   R<   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   |  i  d S(   NR<   (   Rj   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   |  i  } | | d <| d <d  S(   NR<   R}   (   Rj   (   R	   R<   RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    	c         C   sG   | d j p | d j o | |  i  d <|  i  d <n | |  i  | <d  S(   NR<   R}   (   Rj   (   R	   Rv   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   sJ   |  i  } t |  d j o
 d } n d } d |  i i | d d !| f S(   Ni
   s   ...R   s   <DOM %s node "%s%s">i    (   R<   R   t	   __class__Rb   (   R	   R<   t	   dotdotdot(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    	
c         C   s   | d j  o t  i i d   n | t |  i  j o t  i i d   n | d j  o t  i i d   n |  i | | | !S(   Ni    s   offset cannot be negatives#   offset cannot be beyond end of datas   count cannot be negative(   R$   R%   t   IndexSizeErrR   R<   (   R	   t   offsett   count(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   substringData  s    c         C   s   |  i  | |  _  d  S(   N(   R<   (   R	   t   arg(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt
   appendData  s    c         C   s   | d j  o t  i i d   n | t |  i  j o t  i i d   n | o( d |  i |  | |  i | f |  _ n d  S(   Ni    s   offset cannot be negatives#   offset cannot be beyond end of datas   %s%s%s(   R$   R%   R  R   R<   (   R	   R  R	  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt
   insertData  s    c         C   s   | d j  o t  i i d   n | t |  i  j o t  i i d   n | d j  o t  i i d   n | o# |  i |  |  i | | |  _ n d  S(   Ni    s   offset cannot be negatives#   offset cannot be beyond end of datas   count cannot be negative(   R$   R%   R  R   R<   (   R	   R  R  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt
   deleteData  s    c         C   s   | d j  o t  i i d   n | t |  i  j o t  i i d   n | d j  o t  i i d   n | o, d |  i |  | |  i | | f |  _ n d  S(   Ni    s   offset cannot be negatives#   offset cannot be beyond end of datas   count cannot be negatives   %s%s%s(   R$   R%   R  R   R<   (   R	   R  R  R	  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   replaceData  s    (   Rb   Rc   R   R   R   R   t   _get_nodeValuet   _set_nodeValueR   R   R  R
  R  R  R  (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR    s   												
s   Length of the string data.R   c           B   sS   e  Z e i Z d  Z d Z d   Z d d d d  Z	 d   Z
 d   Z d   Z RS(   s   #textc         C   s   | d j  p | t  |  i  j o t i i d   n |  i   } |  i | | _ |  i | _ |  i } |  i oK |  |  i i	 j o8 | d  j o |  i i |  q |  i i | |  n |  i |  |  _ | S(   Ni    s   illegal offset value(   R   R<   R$   R%   R  R  RD   R1   R(   R   R   R*   R"   (   R	   R  t   newTextt   next(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt	   splitText  s    #	R   c         C   s!   t  | d | |  i | f  d  S(   Ns   %s%s%s(   Rr   R<   (   R	   R   R   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   
  s    c         C   s   |  i  g } |  i } xO | d  j	 oA | i t i t i f j o  | i d | i   | i } q Pq W|  i } xL | d  j	 o> | i t i t i f j o | i	 | i   | i } qs Pqs Wd i
 |  S(   Ni    R   (   R<   R2   R   R   R   R;   R   R0   R1   R>   t   join(   R	   RA   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_wholeText  s     	 	 c         C   s  |  i  } |  i } xO | d  j	 oA | i t i t i f j o  | i } | i |  | } q Pq W|  i } | p | i |   n xO | d  j	 oA | i t i t i f j o  | i } | i |  | } q Pq W| o% |  i	 } | | d <| | d <|  Sn d  Sd  S(   NR<   R}   (
   R(   R2   R   R   R   R;   R   R)   R1   Rj   (   R	   t   contentRu   R   R  RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   replaceWholeText!  s2    		 	
	 	
	

c         C   sn   |  i  i   o t Sn t |   } | d  j o t Sn |  i i |  } | d  j o t Sn | i   Sd  S(   N(   R<   t   stripR   t   _get_containing_elementR   RD   R   t   isElementContent(   R	   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt!   _get_isWhitespaceInElementContent?  s    N(   Rb   Rc   R   R;   R   R|   R   R~   R  R   R  R  R  (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s   				t   isWhitespaceInElementContentsK   True iff this text node contains only whitespace and is in element content.t	   wholeTexts.   The text of all logically-adjacent text nodes.c         C   sF   |  i  } x6 | d  j	 o( | i t i j o | Sn | i  } q Wd  S(   N(   R(   R   R   R   R?   (   R6   R5   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR  R  s    	 c         C   sF   |  i  } x6 | d  j	 o( | i t i j o | Sn | i  } q Wd  S(   N(   R(   R   R   R   R   (   R6   R5   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   Z  s    	 t   Commentc           B   s2   e  Z e i Z d  Z d   Z d d d d  Z RS(   s   #commentc         C   s   | |  _  |  _ d  S(   N(   R<   R}   (   R	   R<   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{   g  s    R   c         C   s!   | i  d | |  i | f  d  S(   Ns   %s<!--%s-->%s(   Rq   R<   (   R	   R   R   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   j  s    (   Rb   Rc   R   R   R   R|   R{   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR  c  s   		t   CDATASectionc           B   s)   e  Z e i Z d  Z d d d d  Z RS(   s   #cdata-sectionR   c         C   sA   |  i  i d  d j o t d   n | i d |  i   d  S(   Ns   ]]>i    s$   ']]>' not allowed in a CDATA sections   <![CDATA[%s]]>(   R<   t   findR,   Rq   (   R	   R   R   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   w  s    (   Rb   Rc   R   R   R   R|   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR  n  s   	t   ReadOnlySequentialNamedNodeMapc           B   s   e  Z d Z 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 RS(   t   _seqc         C   s   | |  _  d  S(   N(   R!  (   R	   t   seq(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{     s    c         C   s   t  |  i  S(   N(   R   R!  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   t  |  i  S(   N(   R   R!  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s0   x) |  i  D] } | i | j o | Sq
 q
 Wd  S(   N(   R!  R|   (   R	   Rv   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    
 c         C   s@   x9 |  i  D]. } | i | j o | i | j o | Sq
 q
 Wd  S(   N(   R!  Rd   Ri   (   R	   Rd   Ri   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    
  c         C   sP   t  | t  o |  i |   } n |  i |  } | d  j o t |  n | S(   N(   R   R!   R   R   R   RR   (   R	   t   name_or_tupleR6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   sB   | d j  o d  Sn y |  i | SWn t j
 o d  Sn Xd  S(   Ni    (   R   R!  R   (   R	   R+   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   t  i i d   d  S(   Ns"   NamedNodeMap instance is read-only(   R$   R%   R   (   R	   Rv   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    	c         C   s   t  i i d   d  S(   Ns"   NamedNodeMap instance is read-only(   R$   R%   R   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    	c         C   s   t  i i d   d  S(   Ns"   NamedNodeMap instance is read-only(   R$   R%   R   (   R	   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    	c         C   s   t  i i d   d  S(   Ns"   NamedNodeMap instance is read-only(   R$   R%   R   (   R	   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    	c         C   s
   |  i  g S(   N(   R!  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   | d |  _  d  S(   Ni    (   R!  (   R	   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    (   s   _seq(    (   Rb   Rc   R   R{   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   }  s   												s&   Number of entries in the NamedNodeMap.t
   Identifiedc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   s@   Mix-in class that supports the publicId and systemId attributes.c         C   s   | |  _  | |  _ d  S(   N(   t   publicIdt   systemId(   R	   R%  R&  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _identified_mixin_init  s    	c         C   s   |  i  S(   N(   R%  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_publicId  s    c         C   s   |  i  S(   N(   R&  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_systemId  s    (   Rb   Rc   R   R'  R(  R)  (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR$    s   		t   DocumentTypec           B   s\   e  Z e i Z d Z d Z d Z d Z	 d Z
 d    Z d   Z d   Z d d d d  Z RS(   c         C   sN   t    |  _ t    |  _ | o t |  \ } } | |  _ n |  i |  _ d  S(   N(   R   t   entitiest	   notationsR   Rv   R|   (   R	   R   Re   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{     s    c         C   s   |  i  S(   N(   t   internalSubset(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_internalSubset  s    c         C   sc  |  i  d  j oKt d   } |  i | _ |  i | _ t i i i } | o g  | i	 _
 g  | i _
 xU |  i i
 D]G } t | i | i | i  } | i i
 i |  | i | | |  qo Wx |  i	 i
 D]q } t | i | i | i | i  } | i | _ | i | _ | i | _ | i	 i
 i |  | i | | |  q Wn |  i | |  |  | Sn d  Sd  S(   N(   RD   R   R*  Rv   R|   R$   R%   t   UserDataHandlert   NODE_CLONEDR+  R!  R,  t   NotationR%  R&  R>   R`   t   Entityt   notationNamet   actualEncodingR   RJ   (   R	   RE   t   cloneR]   R   t   notationt   et   entity(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRF     s2      R   c         C   s   | i  d  | i  |  i  |  i o' | i  d | |  i | |  i f  n) |  i o | i  d | |  i f  n |  i d  j	 o. | i  d  | i  |  i  | i  d  n | i  d |  d  S(   Ns
   <!DOCTYPE s   %s  PUBLIC '%s'%s  '%s's   %s  SYSTEM '%s's    [t   ]Ro   (   Rq   Rv   R%  R&  R-  R   (   R	   R   R   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    
	
N(   Rb   Rc   R   t   DOCUMENT_TYPE_NODER   R   R}   Rv   R%  R&  R-  R{   R.  RF   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR*    s   				R2  c           B   sw   e  Z d Z e i 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(	   c         C   s2   | |  _  | |  _ t   |  _ |  i | |  d  S(   N(   R|   R3  Ra   R   R'  (   R	   Rv   R%  R&  R6  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{     s    		c         C   s   |  i  S(   N(   R4  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_actualEncoding  s    c         C   s   |  i  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_encoding  s    c         C   s   |  i  S(   N(   RJ   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_version   s    c         C   s   t  i i d   d  S(   Ns(   cannot append children to an entity node(   R$   R%   R&   (   R	   R3   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR*   #  s    	c         C   s   t  i i d   d  S(   Ns+   cannot insert children below an entity node(   R$   R%   R&   (   R	   R3   R4   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR"   '  s    	c         C   s   t  i i d   d  S(   Ns*   cannot remove children from an entity node(   R$   R%   R&   (   R	   R8   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR)   +  s    	c         C   s   t  i i d   d  S(   Ns)   cannot replace children of an entity node(   R$   R%   R&   (   R	   R3   R8   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR9   /  s    	N(   Rb   Rc   R   R~   R   t   ENTITY_NODER   R}   R4  R   RJ   R{   R;  R<  R=  R*   R"   R)   R9   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR2    s   								R1  c           B   s    e  Z e i Z d Z d    Z RS(   c         C   s   | |  _  |  i | |  d  S(   N(   R|   R'  (   R	   Rv   R%  R&  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{   7  s    	N(   Rb   Rc   R   R   R   R   R}   R{   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR1  3  s   	t   DOMImplementationc           B   sY   e  Z d d d d d d d d d d g
 Z d   Z d   Z d   Z d	   Z d
   Z RS(   t   cores   1.0s   2.0s   3.0R$   s   ls-loadc         C   s0   | d j o
 d  } n | i   | f |  i j S(   NR   (   R   t   lowert	   _features(   R	   RI   RJ   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRH   I  s    
c   	      C   s_  | o& | i  d  j	 o t i i d   n |  i   } | d  j o | d  j o
 | d  j } | o | o t i i d   n | o t |  \ } } | d j o# | d j o t i i d   n | o | o t i i d   n | i	 | |  } | o | i
 |  n | i
 |  n | o | | _  | _ n | | _ |  | _ | S(   Ns(   doctype object owned by another DOM trees   Element with no nameR$   s$   http://www.w3.org/XML/1998/namespaces   illegal use of 'xml' prefixs(   illegal use of prefix without namespaces(   R(   R   R$   R%   t   WrongDocumentErrt   _create_documentt   InvalidCharacterErrR   R   t   createElementNSR*   RD   t   doctypeRG   (	   R	   Rd   R   RG  Rg   t   add_root_elementRe   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createDocumentN  s4    				c         C   s"   t  |  } | | _ | | _ | S(   N(   R*  R%  R&  (   R	   R   R%  R&  RG  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createDocumentType{  s    		c         C   s#   |  i  | d   o |  Sn d  Sd  S(   N(   RH   R   (   R	   RI   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRO     s    c         C   s   t    S(   N(   t   Document(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRD    s    (   R@  s   1.0(   R@  s   2.0(   R@  s   3.0N(   R@  N(   s   xmls   1.0(   s   xmls   2.0(   s   xmls   3.0(   s   xmlN(   s   ls-loads   3.0(   s   ls-loadN(	   Rb   Rc   R   RB  RH   RI  RJ  RO   RD  (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR?  <  s   			-		t   ElementInfoc           B   se   e  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z RS(   s   Object that represents content-model information for an element.

    This implementation is not expected to be used in practice; DOM
    builders should provide implementations which do the right thing
    using information available to it.

    Rs   c         C   s   | |  _  d  S(   N(   Rs   (   R	   Rv   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{     s    c         C   s   t  S(   N(   R   (   R	   t   aname(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   t  S(   N(   R   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   t  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR    s    c         C   s   t  S(   sQ   Returns true iff this element is declared to have an EMPTY
        content model.(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   isEmpty  s    c         C   s   t  S(   s6   Returns true iff the named attribte is a DTD-style ID.(   R   (   R	   RM  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   t  S(   s<   Returns true iff the identified attribute is a DTD-style ID.(   R   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   |  i  S(   N(   Rs   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   | |  _  d  S(   N(   Rs   (   R	   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    (   s   tagName(   Rb   Rc   R   R   R{   R   R   R  RN  R   R   R   R   (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRL    s   								c         C   s^   |  i  t i j o |  i i   d  |  _ n. t |   o  |  i i i   d  |  i _ n d  S(   N(	   R   R   R   t	   _id_cachet   clearR   t   _id_search_stackRl   RD   (   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR/     s    RK  c           B   s  e  Z e i e i e i e i f Z e i Z	 d  Z
 d$ Z d$ Z d$ Z d$ Z d$ Z Z e   Z d$ Z d$ Z d$ Z d$ Z e 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   Z0 d   Z1 d   Z2 d   Z3 d   Z4 d   Z5 d   Z6 d   Z7 d   Z8 d   Z9 d   Z: d    Z; d! d! d! d$ d"  Z< d#   Z= RS(%   s	   #documenti    c         C   s+   t    |  _ h  |  _ h  |  _ d  |  _ d  S(   N(   Ra   R   t
   _elem_infoRO  R   RQ  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR{     s    		c         C   s9   | i  o | i  | i f } n
 | i } |  i i |  S(   N(   Rd   Ri   Rs   RR  R   (   R	   R   RS   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    
	c         C   s   |  i  S(   N(   R4  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR;    s    c         C   s   |  i  S(   N(   RG  (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_doctype  s    c         C   s   |  i  S(   N(   t   documentURI(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_documentURI  s    c         C   s   |  i  S(   N(   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR<    s    c         C   s   |  i  S(   N(   t   errorHandler(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_errorHandler  s    c         C   s   |  i  S(   N(   t
   standalone(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_standalone  s    c         C   s   |  i  S(   N(   t   strictErrorChecking(   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _get_strictErrorChecking  s    c         C   s   |  i  S(   N(   RJ   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR=    s    c         C   s   | i  |  i j o, t i i d t |  t |   f   n | i d  j	 o | i i |  n | i  t	 i
 j o# |  i   o t i i d   n t	 i |  |  S(   Ns   %s cannot be child of %ss    two document elements disallowed(   R   R#   R$   R%   R&   R'   R(   R   R)   R   R?   t   _get_documentElementR*   (   R	   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR*      s    	#	c         C   ss   y |  i  i |  Wn" t j
 o t i i    n Xd  | _ | _ d  | _	 |  i
 | j o d  |  _
 n | S(   N(   R   R:   R,   R$   R%   R-   R   R1   R2   R(   t   documentElement(   R	   R8   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR)     s    	c         C   s3   x, |  i  D]! } | i t i j o | Sq
 q
 Wd  S(   N(   R   R   R   R?   (   R	   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR\    s    
 c         C   s;   |  i  d  j	 o |  i  i   d  |  _  n t i |   d  S(   N(   RG  R   R=   R   (   R	   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR=   !  s    c         C   s)  | p d  Sn |  i i d  d  d   } |  i | _ |  i | _ |  i | _ x |  i D] } t | | |  } | i i	 |  p t
  | i i |  | i t i j o | i d  j p t
  n8 | i t i j o$ | i d  j p t
  | | _ n | | _ qU W|  i t i i i |  |  | S(   N(   R   RG   RI  R   RX  RJ   R   RC   RD   RN   t   AssertionErrorR>   R   R   R   R]  R:  RG  R(   R`   R$   R%   R/  R0  (   R	   RE   R5  R   t
   childclone(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRF   '  s(    
 
c         C   s   t    } |  | _ | S(   N(   Rz   RD   (   R	   RX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createDocumentFragment<  s    		c         C   s   t  |  } |  | _ | S(   N(   R   RD   (   R	   Rs   R7  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createElementA  s    	c         C   s<   t  | t  p t d  n t   } | | _ |  | _ | S(   Ns   node contents must be a string(   R   R   R   R   R<   RD   (   R	   R<   t   t(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createTextNodeF  s    			c         C   s<   t  | t  p t d  n t   } | | _ |  | _ | S(   Ns   node contents must be a string(   R   R   R   R  R<   RD   (   R	   R<   R5   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createCDATASectionN  s    			c         C   s   t  |  } |  | _ | S(   N(   R  RD   (   R	   R<   R5   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createCommentV  s    	c         C   s   t  | |  } |  | _ | S(   N(   R   RD   (   R	   R   R<   t   p(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createProcessingInstruction[  s    	c         C   s"   t  |  } |  | _ d | _ | S(   NR   (   R   RD   R   (   R	   R   t   a(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createAttribute`  s    		c         C   s1   t  |  \ } } t | | |  } |  | _ | S(   N(   R   R   RD   (   R	   Rd   R   Re   Ri   R7  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRF  f  s    	c         C   s=   t  |  \ } } t | | | |  } |  | _ d | _ | S(   NR   (   R   R   RD   R   (   R	   Rd   R   Re   Ri   Rh  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   createAttributeNSl  s
    		c         C   s"   t  | | | |  } |  | _ | S(   N(   R2  RD   (   R	   Rv   R%  R&  R3  R7  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _create_entityv  s    	c         C   s   t  | | |  } |  | _ | S(   N(   R1  RD   (   R	   Rv   R%  R&  R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _create_notation{  s    	c   	      C   s  |  i  i |  o |  i  | Sn |  i p |  i p d  Sn |  i } | d  j o |  i g } | |  _ n | p d  Sn d  } x| o| i   } | i g  } | i	 D]! } | i
 t j o | | q q ~  |  i |  } | ox|| i i   D]} | i oZ | i | i | i  o= | |  i  | i <| i | j o
 | } qc| i p Pqcqq | i | i  o= | |  i  | i <| i | j o
 | } q| i p Pqq | i oC | |  i  | i <| i | j o
 | } q| i d j o Pqq q Wna | i oV xS | i i   D]> } | i o. | |  i  | i <| i | j o
 | } qdq&q&Wn | d  j	 o Pq q W| S(   Ni   (   RO  RU   RR  R   R   RQ  R]  t   popt   extendR   R   R.   R   R~   R   Rd   R   Ri   R   R   R   Rv   R   (	   R	   R   t   stackt   resultR6   t   _[1]RB   R   R   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getElementById  sb    	 % 




	


 

c         C   s   t  |  | t    S(   N(   Rt   Ra   (   R	   Rv   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   t  |  | | t    S(   N(   Rx   Ra   (   R	   Rd   Ri   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    c         C   s   |  i  i | |  S(   N(   RG   RH   (   R	   RI   RJ   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRK     s    c         C   sb   | i  t i j o t i i d   n* | i  t i j o t i i d   n t | | |   S(   Ns   cannot import document nodess!   cannot import document type nodes(   R   R   R   R$   R%   t   NotSupportedErrR:  RC   (   R	   R6   RE   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt
   importNode  s
    R   c         C   sg   | d  j o | i d |  n | i d | | f  x' |  i D] } | i | | | |  qC Wd  S(   Ns   <?xml version="1.0" ?>s%   <?xml version="1.0" encoding="%s"?>%s(   R   Rq   R   R   (   R	   R   R   R   R   R   R6   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR     s    
 c   	      C   s  | i  |  j	 o# t i i d |  | i  f   n | i t i t i f j o t i i d   n | t	 j o d | j oR | i
 d d  \ } } | d j o) | t i i j o t i i d   q&q6| d j o< | t i i j o) | i t i j o t i i d   n d  } | } n d  } d  } | i t i j o4 | i } | d  j	 o | i } | i |  qn d  } | i } | | d <| | d	 <| | d
 <| | d <| i t i j o | | d <nA | | d <| d  j	 o) | i |  | o | i |  qn | S(   Ns?   cannot rename nodes from other documents;
expected %s,
found %ss8   renameNode() only applies to element and attribute nodesR   i   R   s   illegal use of 'xmlns' prefixs$   illegal use of the 'xmlns' attributeRe   Ri   Rd   R|   Rs   Rv   (   RD   R$   R%   RC  R   R   R?   R   Rs  R    R   R   R   R   R   R   R   Rj   R   R   (	   R	   R   Rd   Rv   Re   Ri   R   t   is_idRX   (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt
   renameNode  sT    				
			




N(>   Rb   Rc   R   R?   R   R   R:  R#   R   R   R|   R   R}   R~   RG  R(   R2   R1   R?  RG   R4  R   RX  RJ   R   RZ  RV  RT  R   R{   R   R;  RS  RU  R<  RW  RY  R[  R=  R*   R)   R\  R=   RF   R`  Ra  Rc  Rd  Re  Rg  Ri  RF  Rj  Rk  Rl  Rr  R   R   RK   Rt  R   Rv  (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRK    sh   	
																									
			:					
R]  s#   Top-level element of this document.c         C   s0  |  i  i |  o t i i i } n t i i i } |  i t i	 j o | i
 |  i |  i  } xW |  i i   D]F } | i | i | i | i  | i | i | i  } | i | _ qp W| o7 x4 |  i D]% } t | | |  } | i |  q Wqn
|  i t i j oN | i   } | o7 x4 |  i D]% } t | | |  } | i |  q,Wqn|  i t i j o | i |  i  } n|  i t i j o | i |  i  } nW|  i t i j o | i |  i  |  i  } n(|  i t i! j o | i" |  i  } n|  i t i# j o1 | i$ |  i |  i  } t% | _ |  i | _ n|  i t i& j o|  i  | j	 p t'  t i i i } | i( i) |  i* |  i+ |  i,  } | | _  | o0g  | i- _. g  | i/ _. xr |  i/ i. D]d }	 t0 |	 i |	 i+ |	 i,  }
 | |
 _  | i/ i. i1 |
  t2 |	 d  o |	 i3 | |	 |
  qqWx |  i- i. D] } t4 | i | i+ | i, | i5  } | i6 | _6 | i7 | _7 | i8 | _8 | | _  | i- i. i1 |  t2 | d  o | i3 | |	 |  qOqOWqn t i i9 d t: |     t2 |  d  o |  i3 | |  |  n | S(   so   
    Clone a node and give it the new owner document.
    Called by Node.cloneNode and Document.importNode
    R`   s   Cannot clone node %s(;   RD   RN   R$   R%   R/  R0  t   NODE_IMPORTEDR   R   R?   RF  Rd   R|   R~   R   R   R   R   Ri   R   R   RC   R*   R    R`  R;   Rc  R<   R   Rd  R   Rg  R   R   Re  R   Rj  R   R:  R^  RG   RJ  Rv   R%  R&  R+  R!  R,  R1  R>   RZ   R`   R2  R3  R4  R   RJ   Rs  R'   (   R6   RE   t   newOwnerDocumentR]   R5  R   Rh  RB   R5   R   R6  R7  R8  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyRC     s     
 
 			 	 	#c         C   s?   |  i  d d  } t |  d j o | Sn d  | d f Sd  S(   NR   i   i   i    (   R   R   R   (   R   t   fields(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   c  s    c          C   s   d d k  l  }  |    S(   Ni(   t   StringIO(   Rz  (   Rz  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR   k  s    c         C   s<   |  | |   } | i    \ } } | i |  | i   | S(   N(   t   getEventt
   expandNodeRP  (   t   funct   argst   kwargst   eventst   toktypet   rootNode(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   _do_pulldom_parsep  s
    
c         C   sr   | d j o) | o! d d k l } | i |   Sn9 d d k l } t | i |  f h  | d <| d < Sd S(   s3   Parse a file into a DOM by filename or file object.i(   t   expatbuilder(   t   pulldomt   parsert   bufsizeN(   R   t   xml.domR  t   parseR  R  (   t   fileR  R  R  R  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR  w  s    c         C   sa   | d j o! d d k l } | i |   Sn0 d d k l } t | i |  f h  | d < Sd S(   s&   Parse a file into a DOM from a string.i(   R  (   R  R  N(   R   R  R  t   parseStringR  R  (   t   stringR  R  R  (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyR    s    c         C   sj   |  o\ t  |  t  o t i |   }  n x6 |  D]* \ } } t i i | |  p d  Sq1 q1 Wn t i S(   N(   R   R   R   t   _parse_feature_stringRK  RG   RH   R   (   t   featurest   ft   v(    (    s%   /usr/lib/python2.5/xml/dom/minidom.pyt   getDOMImplementation  s     (8   R   R  R$   R    R   R   R   t   xml.dom.minicompatt   xml.dom.xmlbuilderR   R   R%   R   R?   R   R.   t   defpropertyR7   Rl   Rr   Rt   Rx   Rz   R   t   objectR   t   AttributeListR   R   R   R   R   R   R   R  R   R  R   R  R  R   R$  R*  R2  R1  R?  RL  R/   RK  RC   R   R   R  R  R  R  (    (    (    s%   /usr/lib/python2.5/xml/dom/minidom.pys   <module>   s   "
	
					u	$GZ			><(	Q*	 O	R			

