��
���Lc @sdZddkZddklZlZlZlZddkTddkl Z l
Z
eiii
eiiifZdeiifd��YZeedd d
�eedd d�eed
d d�d�Zd�Zd�Zd�Zd�Zdefd��YZdefd��YZeedd d�eed
d d�eedd d�defd��YZeedd d �eZd!efd"��YZeee�Zd#efd$��YZeed%d d&�eed
d d'�d(�Zd)fd*��YZ d+e efd,��YZ!d-e efd.��YZ"ee"dd d/�d0e"fd1��YZ#ee#d2d d3�ee#d4d d5�d6�Z$d7�Z%d8e e"fd9��YZ&d:e#fd;��YZ'd<efd=��YZ(ee(dd d>�d?fd@��YZ)dAe)e efdB��YZ*dCe)efdD��YZ+dEe)e efdF��YZ,dGe fdH��YZ-dIefdJ��YZ.dK�Z/dLee
fdM��YZ0ee0dNd dO�dP�Z1dQ�Z2dR�Z3dS�Z4eedT�Z5edU�Z6edV�Z7dS(Ws(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
i����N(tEMPTY_NAMESPACEtEMPTY_PREFIXtXMLNS_NAMESPACEtdomreg(t*(tDOMImplementationLSt
DocumentLStNodecBs�eZdZdZdZdZdZeZ d�Z
dd�Zdddd�Zd�Z
d�Zd�Zd�Zd �Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCstS(N(tTrue(tself((s%/usr/lib/python2.6/xml/dom/minidom.pyt__nonzero__)scCs|idd|�S(Nt(ttoprettyxml(R tencoding((s%/usr/lib/python2.6/xml/dom/minidom.pyttoxml,ss s
cCs�t�}|dj o)ddk}|i|�d|�}n|itijo|i|d|||�n|i|d||�|i�S(Ni����iR( t
_get_StringIOtNonetcodecstlookuptnodeTypeRt
DOCUMENT_NODEtwritexmltgetvalue(R tindenttnewlR
twriterR((s%/usr/lib/python2.6/xml/dom/minidom.pyR/s
cCs|iotStSdS(N(t
childNodesRtFalse(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt
hasChildNodes>s
cCs|iS(N(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_childNodesDscCs|io|idSdS(Ni(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_firstChildGs
cCs|io|idSdS(Ni����(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_lastChildKs
cCs�|i|ijo/x't|i�D]}|i||�q#W|S|i|ijo,tiidt |�t |�f��n|i
dj o|i
i|�n|djo|i
|�n�y|ii|�}Wn"tj
otii��nX|itjot|�n|ii||�||_||_|o'|i|d}||_||_n
d|_||_
|S(Ns%s cannot be child of %si(RtDOCUMENT_FRAGMENT_NODEttupleRtinsertBeforet_child_node_typestxmltdomtHierarchyRequestErrtreprt
parentNodeRtremoveChildtappendChildtindext
ValueErrortNotFoundErrt_nodeTypes_with_childrent_clear_id_cachetinserttnextSiblingtpreviousSibling(R tnewChildtrefChildtcR+tnode((s%/usr/lib/python2.6/xml/dom/minidom.pyR"Os8 #
cCs�|i|ijo,x$t|i�D]}|i|�q#W|S|i|ijo,tiidt |�t |�f��n|it
jot|�n|idj o|ii|�nt||�d|_|S(Ns%s cannot be child of %s(RR R!RR*R#R$R%R&R'R.R/R(RR)t
_append_childR1(R R6R5((s%/usr/lib/python2.6/xml/dom/minidom.pyR*os #
cCs�|i|ijo'|i}|i|�|i||�S|i|ijo,tiidt |�t |�f��n||jodS|i
dj o|i
i|�ny|ii
|�}Wn"tj
otii��nX||i|<||_
d|_
|itjp|itjot|�n|i|_|i|_d|_d|_|io||i_n|io||i_n|S(Ns%s cannot be child of %s(RR R1R)R"R#R$R%R&R'R(RRR+R,R-R.R/R2(R R3toldChildR4R+((s%/usr/lib/python2.6/xml/dom/minidom.pytreplaceChild�s<
#
cCs�y|ii|�Wn"tj
otii��nX|idj o|i|i_n|idj o|i|i_nd|_|_|i t
jot|�nd|_|S(N(
RtremoveR,R$R%R-R1RR2RR.R/R((R R8((s%/usr/lib/python2.6/xml/dom/minidom.pyR)�s cCshg}x9|iD].}|itijo�|i}|oU|oN|di|ijo7|d}|i|i|_|i|_|i�q>|o?|o||d_|d|_n
d|_|i |�q>|i�q|o||d_|d|_n
d|_|i |�|iti
jo|i�qqW|od|d_n||i(dS(Ni����(RRRt TEXT_NODEtdataR1tunlinkR2RtappendtELEMENT_NODEt normalize(R tLtchildR<R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR@�s6
%
cCst|||ip|�S(N(t_clone_nodet
ownerDocument(R tdeep((s%/usr/lib/python2.6/xml/dom/minidom.pyt cloneNode�scCs|iii||�S(N(RDtimplementationt
hasFeature(R tfeaturetversion((s%/usr/lib/python2.6/xml/dom/minidom.pytisSupported�scCsdS(N(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_localName�scCs
||jS(N((R tother((s%/usr/lib/python2.6/xml/dom/minidom.pyt
isSameNode�scCs |i|d�o|SdSdS(N(RKR(R RI((s%/usr/lib/python2.6/xml/dom/minidom.pytgetInterface�scCs4y|i|dSWnttfj
odSXdS(Ni(t
_user_datatAttributeErrortKeyErrorR(R tkey((s%/usr/lib/python2.6/xml/dom/minidom.pytgetUserData�scCs�d}y
|i}Wn"tj
oh}||_nX||jo||d}n|djo"d}|dj o||=q�n||f||<|S(Ni(RRPRQ(R RSR<thandlertoldtd((s%/usr/lib/python2.6/xml/dom/minidom.pytsetUserData�s
cCsht|d�oTxQ|ii�D]<\}\}}|dj o|i|||||�q q WndS(NRP(thasattrRPtitemsRthandle(R t operationtsrctdstRSR<RU((s%/usr/lib/python2.6/xml/dom/minidom.pyt_call_user_data_handlers
cCs^d|_|_|io.x|iD]}|i�q$Wt�|_nd|_d|_dS(N(RR(RDRR=tNodeListR2R1(R RB((s%/usr/lib/python2.6/xml/dom/minidom.pyR=s
N(t__name__t
__module__RtnamespaceURIR(RDR1R2RtprefixR
RRRRRRR"R*R9R)R@RFRKRLRNRORTRXR_R=(((s%/usr/lib/python2.6/xml/dom/minidom.pyR s6 "
t
firstChildtdocsFirst child node, or None.t lastChildsLast child node, or None.t localNames"Namespace-local name of this node.cCsV|i}|o(|d}||id<||id<n|i|�||id<dS(Ni����R2R1R((Rt__dict__R>(R R6Rtlast((s%/usr/lib/python2.6/xml/dom/minidom.pyR7s
cCs:x3|dj o%|itijotS|i}qWtS(N(RRRRRR(R(R6((s%/usr/lib/python2.6/xml/dom/minidom.pyt_in_document#s
cCsM|idd�idd�}|idd�idd�}|i|�d S(
sWrites datachars to writer.t&s&t<s<s"s"t>s>N(treplacetwrite(RR<((s%/usr/lib/python2.6/xml/dom/minidom.pyt_write_data+scCsixb|iD]W}|itijo.|djp|i|jo|i|�nt|||�q
W|S(NR(RRRR?ttagNameR>t_get_elements_by_tagName_helper(tparenttnametrcR6((s%/usr/lib/python2.6/xml/dom/minidom.pyRs1s
cCs�x�|iD]{}|itijob|djp|i|jo.|djp|i|jo|i|�nt||||�q
q
W|S(NR(RRRR?RhRcR>t"_get_elements_by_tagName_ns_helper(RttnsURIRhRvR6((s%/usr/lib/python2.6/xml/dom/minidom.pyRw9s
tDocumentFragmentcBsbeZeiZdZdZdZdZ ei
eieiei
eieieifZd�ZRS(s#document-fragmentcCst�|_dS(N(R`R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt__init__PsN(RaRbRR RtnodeNameRt nodeValuet
attributesR(R?R;tCDATA_SECTION_NODEtENTITY_REFERENCE_NODEtPROCESSING_INSTRUCTION_NODEtCOMMENT_NODEt
NOTATION_NODER#Rz(((s%/usr/lib/python2.6/xml/dom/minidom.pyRyBs tAttrcBs�eZeiZd
Zd
ZeZ eZ
eieifZ
ed
d
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �ZRS(cCsS|i}||d<|d<||d<||d<t�|d<|iit��dS(NR{RuRcRdR(RiR`RR>tText(R tqNameRcRhRdRW((s%/usr/lib/python2.6/xml/dom/minidom.pyRz]s
cCs|iidd�dS(Nt:ii����(R{tsplit(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyRLkscCs|iS(N(Ru(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt _get_namenscCs|iS(N(t specified(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_specifiedqscCs�|i}|djoY||d<|d<|idi}||d<|d<|idj ot|i�q�nO|djo7||d<|d<|idj ot|i�q�n|||<dS( NtvalueR|iR<RuR{(svalues nodeValue(snamesnodeName(RiRtownerElementRR/(R RuR�RWtd2((s%/usr/lib/python2.6/xml/dom/minidom.pyt__setattr__ts
cCs�|i}|djo.|o#|tjotiid��qDn|i}||d<|djo
|i}nd||if}|iot |i�n||d<|d<dS(Ntxmlnss5illegal use of 'xmlns' prefix for the wrong namespaceRds%s:%sR{Ru(
RcRR$R%tNamespaceErrRiRRhR�R/(R RdtnsuriRWtnewName((s%/usr/lib/python2.6/xml/dom/minidom.pyt_set_prefix�s
cCsJ|i}||d<|d<|iot|i�n||id_dS(NR�R|i(RiR�R/RR<(R R�RW((s%/usr/lib/python2.6/xml/dom/minidom.pyt
_set_value�s
cCs�|i}|dj o_|i|i=|i|i|if=|io.t|_|i d8_ |i
id8_qunx|iD]}|i
�qW|i2dS(Ni(R�Rt_attrsR{t_attrsNSRcRht_is_idRt_magic_id_nodesRDt_magic_id_countRR=(R telemRB((s%/usr/lib/python2.6/xml/dom/minidom.pyR=�s
cCs�|iotS|i}|i}|djp
|djotS|i|�}|djotS|io|i|i|i �S|i
|i�SdS(N(R�RRDR�RRt_get_elem_infoRctisIdNSRhtisIdR{(R RfR�tinfo((s%/usr/lib/python2.6/xml/dom/minidom.pyt _get_isId�s
cCs�|i}|i}|djp
|djotS|i|�}|djotS|io|i|i|i�S|i|i �SdS(N(
RDR�Rt_no_typeR�RctgetAttributeTypeNSRhtgetAttributeTypeR{(R RfR�R�((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_schemaType�s
N(RaRbRtATTRIBUTE_NODERRR}R�RR�R�R;RR#RRzRLR�R�R�R�R�R=R�R�(((s%/usr/lib/python2.6/xml/dom/minidom.pyR�Ts"
R�s True if this attribute is an ID.s'Namespace-local name of this attribute.t
schemaTypesSchema type for this attribute.tNamedNodeMapcBs�eZdZdZd�Zd�Zd�Zd�Zd�Zd �Z d
�Z
d�Zd�Zdd
�ZeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(sThe 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
_ownerElementcCs||_||_||_dS(N(R�R�R�(R tattrstattrsNSR�((s%/usr/lib/python2.6/xml/dom/minidom.pyRz�s cCs
t|i�S(N(tlenR�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_length�scCs4y||ii�|SWntj
odSXdS(N(R�tkeyst
IndexErrorR(R R+((s%/usr/lib/python2.6/xml/dom/minidom.pytitem�scCs=g}x0|ii�D]}|i|i|if�qW|S(N(R�tvaluesR>R{R�(R RAR6((s%/usr/lib/python2.6/xml/dom/minidom.pyRZ�s
cCsFg}x9|ii�D](}|i|i|if|if�qW|S(N(R�R�R>RcRhR�(R RAR6((s%/usr/lib/python2.6/xml/dom/minidom.pytitemsNS�s
&cCs5t|t�o|ii|�S|ii|�SdS(N(t
isinstancetStringTypesR�thas_keyR�(R RS((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs
|ii�S(N(R�R�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs
|ii�S(N(R�R�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pytkeysNS�scCs
|ii�S(N(R�R�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs|ii||�S(N(R�tget(R RuR�((s%/usr/lib/python2.6/xml/dom/minidom.pyR�scCs>|it|dd�jodStt|�t|��SdS(NR�i(R�tgetattrRtcmptid(R RM((s%/usr/lib/python2.6/xml/dom/minidom.pyt__cmp__scCs+t|t�o|i|S|i|SdS(N(R�R!R�R�(R tattname_or_tuple((s%/usr/lib/python2.6/xml/dom/minidom.pyt__getitem__scCs�t|t�o\y|i|}Wn;tj
o/t|�}|ii|_|i|�nX||_n1t|t�p
t d�n|}|i|�dS(Ns%value must be a string or Attr object(
R�R�R�RRR�R�RDtsetNamedItemR�t TypeError(R tattnameR�R6((s%/usr/lib/python2.6/xml/dom/minidom.pyt__setitem__s
cCs*y|i|SWntj
odSXdS(N(R�RRR(R Ru((s%/usr/lib/python2.6/xml/dom/minidom.pytgetNamedItem$scCs0y|i||fSWntj
odSXdS(N(R�RRR(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pytgetNamedItemNS*scCs�|i|�}|dj oVt|i�|i|i=|i|i|if=d|i jod|i d<n|St
ii��dS(NR�(
R�RR/R�R�R{R�RcRhRiR$R%R-(R Rutn((s%/usr/lib/python2.6/xml/dom/minidom.pytremoveNamedItem0s
cCs�|i||�}|dj oVt|i�|i|i|if=|i|i=d|i jod|i d<n|St
ii��dS(NR�(
R�RR/R�R�RcRhR�R{RiR$R%R-(R RcRhR�((s%/usr/lib/python2.6/xml/dom/minidom.pytremoveNamedItemNS<s
cCs�t|t�p,tiidt|�t|�f��n|ii|i�}|o|i �n||i|i<||i
|i|if<|i
|_t|i�|S(Ns%s cannot be child of %s(R�R�R$R%R&R'R�R�RuR=R�RcRhR�R�R/(R R6RV((s%/usr/lib/python2.6/xml/dom/minidom.pyR�Hs #
cCs
|i|�S(N(R�(R R6((s%/usr/lib/python2.6/xml/dom/minidom.pytsetNamedItemNSUscCs%||}t|i�|i�dS(N(R/R�R=(R R�R6((s%/usr/lib/python2.6/xml/dom/minidom.pyt__delitem__Xs
cCs|i|i|ifS(N(R�R�R�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt__getstate__]scCs|\|_|_|_dS(N(R�R�R�(R tstate((s%/usr/lib/python2.6/xml/dom/minidom.pyt__setstate__`s(s_attrss_attrsNSs
_ownerElementN(RaRbt__doc__t __slots__RzR�R�RZR�R�R�R�R�RR�t__len__t__hash__R�R�R�R�R�R�R�R�R�R�R�R�(((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s4
tlengths$Number of nodes in the NamedNodeMap.tTypeInfocBs2eZdZd�Zd�Zd�Zd�ZRS(t namespaceRucCs||_||_dS(N(R�Ru(R R�Ru((s%/usr/lib/python2.6/xml/dom/minidom.pyRzls cCs.|iod|i|ifSd|iSdS(Ns<TypeInfo %r (from %r)>s
<TypeInfo %r>(R�Ru(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt__repr__ps
cCs|iS(N(Ru(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR�vscCs|iS(N(R�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_namespaceys(s namespacesname(RaRbR�RzR�R�R�(((s%/usr/lib/python2.6/xml/dom/minidom.pyR�is
tElementcBsLeZeiZdZeZdZ eiei
eieiei
eifZeddd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �Zd
�Zd�ZeZd�Zd
�Zd�ZeZ d�Z!d�Z"d�Z#d�Z$d�Z%dddd�Z&d�Z'd�Z(d�Z)d�Z*d�Z+RS(icCsD||_|_||_||_t�|_h|_h|_dS(N(RrR{RdRcR`RR�R�(R RrRcRdRh((s%/usr/lib/python2.6/xml/dom/minidom.pyRz�s cCs|iidd�dS(NR�ii����(RrR�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyRL�scCs|iS(N(Rr(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_tagName�scCsGx!|ii�D]}|i�qWd|_d|_ti|�dS(N(R�R�R=RR�R(R tattr((s%/usr/lib/python2.6/xml/dom/minidom.pyR=�s cCs-y|i|iSWntj
odSXdS(NR(R�R�RR(R R�((s%/usr/lib/python2.6/xml/dom/minidom.pytgetAttribute�scCs3y|i||fiSWntj
odSXdS(NR(R�R�RR(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pytgetAttributeNS�scCs�|i|�}|djoEt|�}|i}||d<|d<|i|d<|i|�nH||ijo7|i}||d<|d<|iot|�q�ndS(NR�R|RD( tgetAttributeNodeRR�RiRDtsetAttributeNodeR�R�R/(R R�R�R�RW((s%/usr/lib/python2.6/xml/dom/minidom.pytsetAttribute�s
cCst|�\}}|i||�}|djobt||||�}|i}||d<||d<||d<|d<|i|d<|i|�np|i}||ijo.||d<|d<|iot |�q�n|i
|jo||d<||d<ndS(NRdR{R�R|RD(t_nssplittgetAttributeNodeNSRR�RiRDR�R�R�R/Rd(R Rct
qualifiedNameR�Rdt localnameR�RW((s%/usr/lib/python2.6/xml/dom/minidom.pytsetAttributeNS�s$
cCs|ii|�S(N(R�R�(R tattrname((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs|ii||f�S(N(R�R�(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs�|id|fjotiid��n|ii|id�}|dj o|i|�n|i i|i
|ifd�}|dj o||j o|i|�nt||�||j o|S||j o|SdS(Nsattribute node already owned(
R�RR$R%tInuseAttributeErrR�R�RutremoveAttributeNodeR�RcRht_set_attribute_node(R R�told1told2((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
!
cCsGy|i|}Wn"tj
otii��nX|i|�dS(N(R�RRR$R%R-R�(R RuR�((s%/usr/lib/python2.6/xml/dom/minidom.pytremoveAttribute�s
cCsMy|i||f}Wn"tj
otii��nX|i|�dS(N(R�RRR$R%R-R�(R RcRhR�((s%/usr/lib/python2.6/xml/dom/minidom.pytremoveAttributeNS�s
cCs{|djotii��ny|i|iWn"tj
otii��nXt|�|i�|i |_ dS(N(
RR$R%R-R�RuRRR/R=RD(R R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR�s
cCs|ii|�S(N(R�R�(R Ru((s%/usr/lib/python2.6/xml/dom/minidom.pythasAttributescCs|ii||f�S(N(R�R�(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pythasAttributeNSscCst||t��S(N(RsR`(R Ru((s%/usr/lib/python2.6/xml/dom/minidom.pytgetElementsByTagNamescCst|||t��S(N(RwR`(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pytgetElementsByTagNameNSscCsd|it|�fS(Ns<DOM Element: %s at %#x>(RrR�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR�sRc Cs�|i|d|i�|i�}|i�}|i�x@|D]8}|id|�t|||i�|id�qAW|io`|id|�x+|iD] }|i|||||�q�W|id||i|f�n|id|�dS(NRms %s="s"s>%ss %s</%s>%ss/>%s( RpRrt_get_attributesR�tsortRqR�RR( R RRt addindentRR�ta_namesta_nameR6((s%/usr/lib/python2.6/xml/dom/minidom.pyR s
!cCst|i|i|�S(N(R�R�R�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR�6scCs|iotStSdS(N(R�RR(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt
hasAttributes9s
cCs |i|�}|i|�dS(N(R�tsetIdAttributeNode(R RutidAttr((s%/usr/lib/python2.6/xml/dom/minidom.pytsetIdAttributeAscCs#|i||�}|i|�dS(N(R�R�(R RcRhR�((s%/usr/lib/python2.6/xml/dom/minidom.pytsetIdAttributeNSEscCs�|djp|i|i�otii��nt|�dj otii��n|ip<t |i
d<|id7_|ii
d7_
t|�ndS(NR�i(RRNR�R$R%R-t_get_containing_entreftNoModificationAllowedErrR�RRiR�RDR�R/(R R�((s%/usr/lib/python2.6/xml/dom/minidom.pyR�Is!
N(,RaRbRR?RRR|R�R�R�R�R�R;R~RR#RRzRLR�R=R�R�R�R�R�R�R�tsetAttributeNodeNSR�R�R�tremoveAttributeNodeNSR�R�R�R�R�RR�R�R�R�R�(((s%/usr/lib/python2.6/xml/dom/minidom.pyR�~sL
R}s*NamedNodeMap of attributes on the element.s%Namespace-local name of this element.cCsDt|�||i|i<||i|i|if<||id<dS(NR�(R/R�RuR�RcRhRi(telementR�((s%/usr/lib/python2.6/xml/dom/minidom.pyR�Zs
t ChildlesscBsheZdZdZe�ZdZdZd�Z d�Z
d�Zd�Zd�Z
d�Zd�ZRS( s�Mixin that makes childless-ness easy to implement and avoids
the complexity of the Node methods that deal with children.
cCsdS(N(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyRoscCsdS(N(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyRrscCstii|id��dS(Ns nodes cannot have children(R$R%R&R{(R R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR*us cCstS(N(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyRyscCstii|id��dS(Ns nodes do not have children(R$R%R&R{(R R3R4((s%/usr/lib/python2.6/xml/dom/minidom.pyR"|s cCstii|id��dS(Ns nodes do not have children(R$R%R-R{(R R8((s%/usr/lib/python2.6/xml/dom/minidom.pyR)�s cCstii|id��dS(Ns nodes do not have children(R$R%R&R{(R R3R8((s%/usr/lib/python2.6/xml/dom/minidom.pyR9�s N(RaRbR�RR}t
EmptyNodeListRReRgRRR*RR"R)R9(((s%/usr/lib/python2.6/xml/dom/minidom.pyR�es tProcessingInstructioncBsYeZeiZd�Zd�Zd�Zd�Zd�Z d�Z
dddd�ZRS(cCs$||_|_||_|_dS(N(ttargetR{R<R|(R R�R<((s%/usr/lib/python2.6/xml/dom/minidom.pyRz�scCs|iS(N(R<(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt _get_data�scCs|i}||d<|d<dS(NR<R|(Ri(R R�RW((s%/usr/lib/python2.6/xml/dom/minidom.pyt _set_data�s cCs|iS(N(R�(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_target�scCs|i}||d<|d<dS(NR�R{(Ri(R R�RW((s%/usr/lib/python2.6/xml/dom/minidom.pyt_set_target�s cCs}|djp
|djo||id<|id<nD|djp
|djo||id<|id<n||i|<dS(NR<R|R�R{(Ri(R RuR�((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
RcCs'|id||i|i|f�dS(Ns
%s<?%s %s?>%s(RpR�R<(R RRR�R((s%/usr/lib/python2.6/xml/dom/minidom.pyR�s(RaRbRR�RRzR�RRRR�R(((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s t
CharacterDatacBsteZd�ZeZd�Zd�ZeZeZd�Zd�Z d�Z
d�Zd�Zd�Z
d �ZRS(
cCs
t|i�S(N(R�R<(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs|idS(NR<(Ri(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs|i}||d<|d<dS(NR<R|(Ri(R R<RW((s%/usr/lib/python2.6/xml/dom/minidom.pyR�s cCsG|djp
|djo||id<|id<n||i|<dS(NR<R|(Ri(R RuR�((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCsJ|i}t|�djo
d}nd}d|ii|dd!|fS(Ni
s...Rs<DOM %s node "%r%s">i(R<R�t __class__Ra(R R<t dotdotdot((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
cCs�|djotiid��n|t|i�jotiid��n|djotiid��n|i|||!S(Nisoffset cannot be negatives#offset cannot be beyond end of datascount cannot be negative(R$R%tIndexSizeErrR�R<(R toffsettcount((s%/usr/lib/python2.6/xml/dom/minidom.pyt
substringData�s
cCs|i||_dS(N(R<(R targ((s%/usr/lib/python2.6/xml/dom/minidom.pyt
appendData�scCs�|djotiid��n|t|i�jotiid��n|o(d|i| ||i|f|_ndS(Nisoffset cannot be negatives#offset cannot be beyond end of datas%s%s%s(R$R%RR�R<(R RR
((s%/usr/lib/python2.6/xml/dom/minidom.pyt
insertData�s
cCs�|djotiid��n|t|i�jotiid��n|djotiid��n|o#|i| |i|||_ndS(Nisoffset cannot be negatives#offset cannot be beyond end of datascount cannot be negative(R$R%RR�R<(R RR((s%/usr/lib/python2.6/xml/dom/minidom.pyt
deleteData�s
cCs�|djotiid��n|t|i�jotiid��n|djotiid��n|o,d|i| ||i||f|_ndS(Nisoffset cannot be negatives#offset cannot be beyond end of datascount cannot be negatives%s%s%s(R$R%RR�R<(R RRR
((s%/usr/lib/python2.6/xml/dom/minidom.pytreplaceData�s
(RaRbR�R�R�Rt_get_nodeValuet_set_nodeValueR�R�R RRR
R(((s%/usr/lib/python2.6/xml/dom/minidom.pyR�s
sLength of the string data.R�cBsSeZeiZdZdZd�Zdddd�Z d�Z
d�Zd�ZRS(s#textcCs�|djp|t|i�jotiid��n|i�}|i||_|i|_|i}|ioK||ii jo8|djo|ii|�q�|ii||�n|i| |_|S(Nisillegal offset value(
R�R<R$R%RRRDR1R(RRR*R"(R RtnewTexttnext((s%/usr/lib/python2.6/xml/dom/minidom.pyt splitText�s#
RcCs!t|d||i|f�dS(Ns%s%s%s(RqR<(R RRR�R((s%/usr/lib/python2.6/xml/dom/minidom.pyRscCs�|ig}|i}xO|dj oA|ititifjo |id|i�|i}qPqW|i}xL|dj o>|ititifjo|i |i�|i}qsPqsWdi
|�S(NiR(R<R2RRRR;R~R0R1R>tjoin(R RAR�((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_wholeTexts
cCs|i}|i}xO|dj oA|ititifjo |i}|i|�|}qPqW|i}|p|i|�nxO|dj oA|ititifjo |i}|i|�|}q�Pq�W|o"|i }||d<||d<|SdSdS(NR<R|(
R(R2RRRR;R~R)R1Ri(R tcontentRtR�RRW((s%/usr/lib/python2.6/xml/dom/minidom.pytreplaceWholeText"s2
cCse|ii�otSt|�}|djotS|ii|�}|djotS|i�SdS(N(R<tstripRt_get_containing_elementRRDR�tisElementContent(R R�R�((s%/usr/lib/python2.6/xml/dom/minidom.pyt!_get_isWhitespaceInElementContent@s
N(
RaRbRR;RR{RR}RRRRR(((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s tisWhitespaceInElementContentsKTrue iff this text node contains only whitespace and is in element content.t wholeTexts.The text of all logically-adjacent text nodes.cCsC|i}x3|dj o%|itijo|S|i}qWdS(N(R(RRRR?(R6R5((s%/usr/lib/python2.6/xml/dom/minidom.pyRSs
cCsC|i}x3|dj o%|itijo|S|i}qWdS(N(R(RRRR(R6R5((s%/usr/lib/python2.6/xml/dom/minidom.pyR�[s
tCommentcBs2eZeiZdZd�Zdddd�ZRS(s#commentcCs||_|_dS(N(R<R|(R R<((s%/usr/lib/python2.6/xml/dom/minidom.pyRzhsRcCsAd|ijotd��n|id||i|f�dS(Ns--s%'--' is not allowed in a comment nodes
%s<!--%s-->%s(R<R,Rp(R RRR�R((s%/usr/lib/python2.6/xml/dom/minidom.pyRks(RaRbRR�RR{RzR(((s%/usr/lib/python2.6/xml/dom/minidom.pyRds tCDATASectioncBs)eZeiZdZdddd�ZRS(s#cdata-sectionRcCsA|iid�djotd��n|id|i�dS(Ns]]>is$']]>' not allowed in a CDATA sections<![CDATA[%s]]>(R<tfindR,Rp(R RRR�R((s%/usr/lib/python2.6/xml/dom/minidom.pyRzs(RaRbRR~RR{R(((s%/usr/lib/python2.6/xml/dom/minidom.pyRqs tReadOnlySequentialNamedNodeMapcBs�eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�ZRS(t_seqcCs
||_dS(N(R"(R tseq((s%/usr/lib/python2.6/xml/dom/minidom.pyRz�scCs
t|i�S(N(R�R"(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs
t|i�S(N(R�R"(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs-x&|iD]}|i|jo|Sq
WdS(N(R"R{(R RuR�((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
cCs=x6|iD]+}|i|jo|i|jo|Sq
WdS(N(R"RcRh(R RcRhR�((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
cCsPt|t�o|i|�}n|i|�}|djo
t|�n|S(N(R�R!R�R�RRR(R t
name_or_tupleR6((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
cCs<|djodSy|i|SWntj
odSXdS(Ni(RR"R�(R R+((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
cCstiid��dS(Ns"NamedNodeMap instance is read-only(R$R%R�(R Ru((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s cCstiid��dS(Ns"NamedNodeMap instance is read-only(R$R%R�(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s cCstiid��dS(Ns"NamedNodeMap instance is read-only(R$R%R�(R R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s cCstiid��dS(Ns"NamedNodeMap instance is read-only(R$R%R�(R R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s cCs
|igS(N(R"(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs|d|_dS(Ni(R"(R R�((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s(s_seq((RaRbR�RzR�R�R�R�R�R�R�R�R�R�R�R�(((s%/usr/lib/python2.6/xml/dom/minidom.pyR!�s s&Number of entries in the NamedNodeMap.t
IdentifiedcBs)eZdZd�Zd�Zd�ZRS(s@Mix-in class that supports the publicId and systemId attributes.cCs||_||_dS(N(tpublicIdtsystemId(R R&R'((s%/usr/lib/python2.6/xml/dom/minidom.pyt_identified_mixin_init�s cCs|iS(N(R&(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt
_get_publicId�scCs|iS(N(R'(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt
_get_systemId�s(RaRbR�R(R)R*(((s%/usr/lib/python2.6/xml/dom/minidom.pyR%�s tDocumentTypecBs\eZeiZdZdZdZdZ dZ
d�Zd�Zd�Z
dddd�ZRS(cCsNt�|_t�|_|ot|�\}}||_n|i|_dS(N(R!tentitiest notationsR�RuR{(R R�RdR�((s%/usr/lib/python2.6/xml/dom/minidom.pyRz�s
cCs|iS(N(tinternalSubset(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_internalSubset�scCs`|idjoHtd�}|i|_|i|_tiii}|o�g|i _
g|i_
xU|ii
D]G}t|i|i
|i�}|ii
i|�|i|||�qoWx�|i i
D]q}t|i|i
|i|i�}|i|_|i|_|i|_|i i
i|�|i|||�q�Wn|i|||�|SdSdS(N(RDRR+RuR{R$R%tUserDataHandlertNODE_CLONEDR,R"R-tNotationR&R'R>R_tEntitytnotationNametactualEncodingR
RJ(R REtcloneR\R�tnotationtetentity((s%/usr/lib/python2.6/xml/dom/minidom.pyRF�s2
RcCs�|id�|i|i�|io'|id||i||if�n)|io|id||if�n|idj o.|id�|i|i�|id�n|id|�dS(Ns
<!DOCTYPE s%s PUBLIC '%s'%s '%s's%s SYSTEM '%s's [t]Rn(RpRuR&R'R.R(R RRR�R((s%/usr/lib/python2.6/xml/dom/minidom.pyRs
N(RaRbRtDOCUMENT_TYPE_NODERRR|RuR&R'R.RzR/RFR(((s%/usr/lib/python2.6/xml/dom/minidom.pyR+�s R3cBsweZdZeiZdZdZdZ dZ
d�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�ZRS( cCs2||_||_t�|_|i||�dS(N(R{R4R`RR((R RuR&R'R7((s%/usr/lib/python2.6/xml/dom/minidom.pyRzs cCs|iS(N(R5(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_actualEncodingscCs|iS(N(R
(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt
_get_encoding scCs|iS(N(RJ(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_version#scCstiid��dS(Ns(cannot append children to an entity node(R$R%R&(R R3((s%/usr/lib/python2.6/xml/dom/minidom.pyR*&s cCstiid��dS(Ns+cannot insert children below an entity node(R$R%R&(R R3R4((s%/usr/lib/python2.6/xml/dom/minidom.pyR"*s cCstiid��dS(Ns*cannot remove children from an entity node(R$R%R&(R R8((s%/usr/lib/python2.6/xml/dom/minidom.pyR).s cCstiid��dS(Ns)cannot replace children of an entity node(R$R%R&(R R3R8((s%/usr/lib/python2.6/xml/dom/minidom.pyR92s N(RaRbRR}RtENTITY_NODERR|R5R
RJRzR<R=R>R*R"R)R9(((s%/usr/lib/python2.6/xml/dom/minidom.pyR3s R2cBs eZeiZdZd�ZRS(cCs||_|i||�dS(N(R{R((R RuR&R'((s%/usr/lib/python2.6/xml/dom/minidom.pyRz:s N(RaRbRR�RRR|Rz(((s%/usr/lib/python2.6/xml/dom/minidom.pyR26s tDOMImplementationcBsYeZddd
dddddddg
Zd�Zd�Zd�Zd �Zd
�ZRS(tcores1.0s2.0s3.0R$sls-loadcCs0|djo
d}n|i�|f|ijS(NR(Rtlowert _features(R RIRJ((s%/usr/lib/python2.6/xml/dom/minidom.pyRHLs
c Cs_|o&|idj otiid��n|i�}|djo|djo
|dj}|o|otiid��n|o�t|�\}}|djo#|djotiid��n|o|otiid��n|i ||�}|o|i
|�n|i
|�n|o||_|_n||_||_
|S(Ns(doctype object owned by another DOM treesElement with no nameR$s$http://www.w3.org/XML/1998/namespacesillegal use of 'xml' prefixs(illegal use of prefix without namespaces(R(RR$R%tWrongDocumentErrt_create_documenttInvalidCharacterErrR�R�tcreateElementNSR*RDtdoctypeRG( R RcR�RHRftadd_root_elementRdR�R�((s%/usr/lib/python2.6/xml/dom/minidom.pytcreateDocumentQs4
cCs"t|�}||_||_|S(N(R+R&R'(R R�R&R'RH((s%/usr/lib/python2.6/xml/dom/minidom.pytcreateDocumentType~s cCs |i|d�o|SdSdS(N(RHR(R RI((s%/usr/lib/python2.6/xml/dom/minidom.pyRO�scCst�S(N(tDocument(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyRE�s(RAs1.0(RAs2.0(RAs3.0N(RAN(sxmls1.0(sxmls2.0(sxmls3.0(sxmlN(sls-loads3.0(sls-loadN( RaRbRRCRHRJRKRORE(((s%/usr/lib/python2.6/xml/dom/minidom.pyR@?s - tElementInfocBseeZdZdZd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�ZRS(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.
RrcCs
||_dS(N(Rr(R Ru((s%/usr/lib/python2.6/xml/dom/minidom.pyRz�scCstS(N(R�(R taname((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCstS(N(R�(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCstS(N(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR�scCstS(sQReturns true iff this element is declared to have an EMPTY
content model.(R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pytisEmpty�scCstS(s6Returns true iff the named attribte is a DTD-style ID.(R(R RN((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCstS(s<Returns true iff the identified attribute is a DTD-style ID.(R(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs|iS(N(Rr(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs
||_dS(N(Rr(R R�((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s(stagName(
RaRbR�R�RzR�R�RROR�R�R�R�(((s%/usr/lib/python2.6/xml/dom/minidom.pyRM�s cCs^|itijo|ii�d|_n.t|�o |iii�d|i_ndS(N( RRRt _id_cachetclearRt_id_search_stackRkRD(R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR/�s
RLcBs�eZeieieieifZeiZ dZ
d$Zd$Z
d$Zd$Zd$ZZe�Zd$Zd$Zd$Zd$ZeZd$Zd$ZdZd�Zd�Zd�Zd�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�Z0d�Z1d�Z2d�Z3d�Z4d�Z5d�Z6d�Z7d�Z8d�Z9d�Z:d �Z;d!d!d!d$d"�Z<d#�Z=RS(%s #documenticCs+t�|_h|_h|_d|_dS(N(R`Rt
_elem_infoRPRRR(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyRz�s cCs9|io|i|if}n
|i}|ii|�S(N(RcRhRrRSR�(R R�RS((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
cCs|iS(N(R5(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR<�scCs|iS(N(RH(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_doctype�scCs|iS(N(tdocumentURI(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_documentURI�scCs|iS(N(R
(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR=�scCs|iS(N(terrorHandler(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_errorHandler�scCs|iS(N(t
standalone(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_standalone�scCs|iS(N(tstrictErrorChecking(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyt_get_strictErrorChecking�scCs|iS(N(RJ(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR>scCs�|i|ijo,tiidt|�t|�f��n|idj o|ii|�n|it i
jo#|i�otiid��nt i||�S(Ns%s cannot be child of %ss two document elements disallowed(
RR#R$R%R&R'R(RR)RR?t_get_documentElementR*(R R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR*s #
cCssy|ii|�Wn"tj
otii��nXd|_|_d|_ |i
|jo
d|_
n|S(N(RR:R,R$R%R-RR1R2R(tdocumentElement(R R8((s%/usr/lib/python2.6/xml/dom/minidom.pyR)s
cCs0x)|iD]}|itijo|Sq
WdS(N(RRRR?(R R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR]s
cCs;|idj o|ii�d|_nti|�dS(N(RHRR=R(R ((s%/usr/lib/python2.6/xml/dom/minidom.pyR=$s
cCs�|pdS|iiddd�}|i|_|i|_|i|_xs|iD]h}t|||�}|ii|�|i t
ijon!|i t
ijo
||_
n||_qRW|itiii||�|S(N(RRGRJR
RYRJRRCR>RRRR;RHR(R_R$R%R0R1(R RER6R�t
childclone((s%/usr/lib/python2.6/xml/dom/minidom.pyRF*s$
cCst�}||_|S(N(RyRD(R RW((s%/usr/lib/python2.6/xml/dom/minidom.pytcreateDocumentFragment?s cCst|�}||_|S(N(R�RD(R RrR8((s%/usr/lib/python2.6/xml/dom/minidom.pyt
createElementDs cCs<t|t�p
td�nt�}||_||_|S(Nsnode contents must be a string(R�R�R�R�R<RD(R R<tt((s%/usr/lib/python2.6/xml/dom/minidom.pytcreateTextNodeIs
cCs<t|t�p
td�nt�}||_||_|S(Nsnode contents must be a string(R�R�R�RR<RD(R R<R5((s%/usr/lib/python2.6/xml/dom/minidom.pytcreateCDATASectionQs
cCst|�}||_|S(N(RRD(R R<R5((s%/usr/lib/python2.6/xml/dom/minidom.pyt
createCommentYs cCst||�}||_|S(N(R�RD(R R�R<tp((s%/usr/lib/python2.6/xml/dom/minidom.pytcreateProcessingInstruction^s cCs"t|�}||_d|_|S(NR(R�RDR�(R R�ta((s%/usr/lib/python2.6/xml/dom/minidom.pytcreateAttributecs cCs1t|�\}}t|||�}||_|S(N(R�R�RD(R RcR�RdRhR8((s%/usr/lib/python2.6/xml/dom/minidom.pyRGis cCs=t|�\}}t||||�}||_d|_|S(NR(R�R�RDR�(R RcR�RdRhRh((s%/usr/lib/python2.6/xml/dom/minidom.pytcreateAttributeNSos
cCs"t||||�}||_|S(N(R3RD(R RuR&R'R4R8((s%/usr/lib/python2.6/xml/dom/minidom.pyt_create_entityys cCst|||�}||_|S(N(R2RD(R RuR&R'R�((s%/usr/lib/python2.6/xml/dom/minidom.pyt_create_notation~s c Cs{||ijo|i|S|ip|ipdS|i}|djo|ig}||_n
|pdSd}x�|o�|i�}|ig}|iD]!}|i t
jo||q�q�~�|i|�}|ox||ii
�D]}|ioZ|i|i|i�o=||i|i<|i|jo
|}qW|ipPqWq�q�|i|i�o=||i|i<|i|jo
|}q�|ipPq�q�|ioC||i|i<|i|jo
|}q�|idjoPq�q�q�Wna|ioVxS|ii
�D]>}|io.||i|i<|i|jo
|}qXqqWn|dj oPqyqyW|S(Ni(RPRSR�RRRR^tpoptextendRRR.R�R}R�RcR�RhR�R�R�RuR�( R R�tstacktresultR6t_[1]RBR�R�((s%/usr/lib/python2.6/xml/dom/minidom.pytgetElementById�sb
%
cCst||t��S(N(RsR`(R Ru((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCst|||t��S(N(RwR`(R RcRh((s%/usr/lib/python2.6/xml/dom/minidom.pyR��scCs|ii||�S(N(RGRH(R RIRJ((s%/usr/lib/python2.6/xml/dom/minidom.pyRK�scCsb|itijotiid��n*|itijotiid��nt|||�S(Nscannot import document nodess!cannot import document type nodes(RRRR$R%tNotSupportedErrR;RC(R R6RE((s%/usr/lib/python2.6/xml/dom/minidom.pyt
importNode�s
RcCsg|djo|id|�n|id||f�x'|iD]}|i||||�qCWdS(Ns<?xml version="1.0" ?>s%<?xml version="1.0" encoding="%s"?>%s(RRpRR(R RRR�RR
R6((s%/usr/lib/python2.6/xml/dom/minidom.pyR�s
c Cs|i|j o#tiid||if��n|ititifjotiid��n|t jo�d|joR|i
dd�\}}|djo)|tiijotiid��q&q6|djo<|tiijo)|itijotiid��nd}|}n
d}d}|itijo4|i}|dj o|i}|i|�q�nd}|i}||d<||d <||d
<||d<|itijo||d<nA||d
<|dj o)|i|�|o|i|�qn|S(Ns?cannot rename nodes from other documents;
expected %s,
found %ss8renameNode() only applies to element and attribute nodesR�iR�sillegal use of 'xmlns' prefixs$illegal use of the 'xmlns' attributeRdRhRcR{RrRu(RDR$R%RDRRR?R�RsRR�RR�RR�R�R�RiR�R�( R R�RcRuRdRhR�tis_idRW((s%/usr/lib/python2.6/xml/dom/minidom.pyt
renameNode�sT
N(>RaRbRR?R�R�R;R#RRR{RR|R}RHR(R2R1R@RGR5R
RYRJRR[RWRUR�RzR�R<RTRVR=RXRZR\R>R*R)R]R=RFR`RaRcRdReRgRiRGRjRkRlRrR�R�RKRtRRv(((s%/usr/lib/python2.6/xml/dom/minidom.pyRL�sh
:
R^s#Top-level element of this document.c
Cs|ii|�otiii}ntiii}|iti jo�|i
|i|i�}xW|i
i�D]F}|i|i|i|i�|i|i|i�}|i|_qpW|o7x4|iD]%}t|||�}|i|�q�Wq�n�|itijoN|i�}|o7x4|iD]%}t|||�}|i|�q,Wq�n�|itijo|i|i�}ni|itijo|i|i�}n@|itijo|i|i |i�}n|iti!jo|i"|i�}n�|iti#jo1|i$|i|i�}t%|_|i|_n�|iti&jottiii}|i'i(|i)|i*|i+�}||_|o0g|i,_-g|i._-xr|i.i-D]d} t/| i| i*| i+�}
||
_|i.i-i0|
�t1| d�o| i2|| |
�q�q�Wx�|i,i-D]�}t3|i|i*|i+|i4�}|i5|_5|i6|_6|i7|_7||_|i,i-i0|�t1|d�o|i2|| |�q8q8Wq�ntii8dt9|���t1|d�o|i2|||�n|S(so
Clone a node and give it the new owner document.
Called by Node.cloneNode and Document.importNode
R_sCannot clone node %s(:RDRNR$R%R0R1t
NODE_IMPORTEDRRR?RGRcR{R}R�R�R�R�RhR�RRCR*R R`R;RcR<R~RdR�RgR�R�ReR�RjRR;RGRKRuR&R'R,R"R-R2R>RYR_R3R4R5R
RJRsR'(
R6REtnewOwnerDocumentR\R6R�RhRBR5R�R7R8R9((s%/usr/lib/python2.6/xml/dom/minidom.pyRCs�
#cCs<|idd�}t|�djo|Sd|dfSdS(NR�iii(R�R�R(R�tfields((s%/usr/lib/python2.6/xml/dom/minidom.pyR�fscCsddkl}|�S(Ni����(tStringIO(Rz(Rz((s%/usr/lib/python2.6/xml/dom/minidom.pyRnscCs<|||�}|i�\}}|i|�|i�|S(N(tgetEventt
expandNodeRQ(tfunctargstkwargsteventsttoktypetrootNode((s%/usr/lib/python2.6/xml/dom/minidom.pyt_do_pulldom_parsess
cCsk|djo&|oddkl}|i|�Sddkl}t|i|fh|d6|d6�SdS(s3Parse a file into a DOM by filename or file object.i����(texpatbuilder(tpulldomtparsertbufsizeN(Rtxml.domR�tparseR�R�(tfileR�R�R�R�((s%/usr/lib/python2.6/xml/dom/minidom.pyR�zscCs\|djoddkl}|i|�Sddkl}t|i|fh|d6�SdS(s&Parse a file into a DOM from a string.i����(R�(R�R�N(RR�R�tparseStringR�R�(tstringR�R�R�((s%/usr/lib/python2.6/xml/dom/minidom.pyR��s
cCsg|oYt|t�oti|�}nx3|D]'\}}tii||�pdSq1WntiS(N(R�R�Rt_parse_feature_stringRLRGRHR(tfeaturestftv((s%/usr/lib/python2.6/xml/dom/minidom.pytgetDOMImplementation�s
(8R�R�R$RRRRtxml.dom.minicompattxml.dom.xmlbuilderRRR%RR?RR.tdefpropertyR7RkRqRsRwRyR�tobjectR�t
AttributeListR�RR�R�R�R�R�RR�RR�RRR!R%R+R3R2R@RMR/RLRCR�RR�R�R�R�(((s%/usr/lib/python2.6/xml/dom/minidom.pyt<module>s�"
�
u�� $GZ
><( Q* �O R