Lc @sdZddkZddklZlZlZlZddkTddkl Z l Z ei i i ei i ifZdei i fdYZ ee dd d ee d d d ee d d ddZdZdZdZdZde fdYZde fdYZeedd deed d deedd ddefdYZeedd d eZd!efd"YZeeeZd#e fd$YZeed%d d&eed d d'd(Zd)fd*YZ d+e e fd,YZ!d-e e fd.YZ"ee"dd d/d0e"fd1YZ#ee#d2d d3ee#d4d d5d6Z$d7Z%d8e e"fd9YZ&d:e#fd;YZ'd<efd=YZ(ee(dd d>d?fd@YZ)dAe)e e fdBYZ*dCe)e fdDYZ+dEe)e e fdFYZ,dGe fdHYZ-dIefdJYZ.dKZ/dLe e fdMYZ0ee0dNd dOdPZ1dQZ2dRZ3dSZ4eedTZ5edUZ6edVZ7dS(Ws(minidom.py -- a lightweight DOM implementation. parse("foo.xml") parseString("") 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(tEMPTY_NAMESPACEt EMPTY_PREFIXtXMLNS_NAMESPACEtdomreg(t*(tDOMImplementationLSt DocumentLStNodecBseZdZdZdZdZdZeZ dZ ddZ ddddZ dZ dZdZdZd Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZRS(cCstS(N(tTrue(tself((s'/usr/lib64/python2.6/xml/dom/minidom.pyt __nonzero__)scCs|idd|S(Nt(t toprettyxml(R tencoding((s'/usr/lib64/python2.6/xml/dom/minidom.pyttoxml,ss s cCst}|dj o)ddk}|i|d|}n|itijo|i|d|||n|i|d|||iS(NiiR ( t _get_StringIOtNonetcodecstlookuptnodeTypeRt DOCUMENT_NODEtwritexmltgetvalue(R tindenttnewlR twriterR((s'/usr/lib64/python2.6/xml/dom/minidom.pyR /s   cCs|iotStSdS(N(t childNodesRtFalse(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt hasChildNodes>s cCs|iS(N(R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_childNodesDscCs|io |idSdS(Ni(R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_firstChildGs cCs|io |idSdS(Ni(R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_lastChildKs cCs|i|ijo/x't|iD]}|i||q#W|S|i|ijo,tiidt |t |fn|i dj o|i i |n|djo|i |ny|ii|}Wn"tj otiinX|itjot|n|ii||||_||_|o'|i|d}||_||_n d|_||_ |S(Ns%s cannot be child of %si(RtDOCUMENT_FRAGMENT_NODEttupleRt insertBeforet_child_node_typestxmltdomtHierarchyRequestErrtreprt parentNodeRt removeChildt appendChildtindext ValueErrort NotFoundErrt_nodeTypes_with_childrent_clear_id_cachetinsertt nextSiblingtpreviousSibling(R tnewChildtrefChildtcR+tnode((s'/usr/lib64/python2.6/xml/dom/minidom.pyR"Os8 #       cCs|i|ijo,x$t|iD]}|i|q#W|S|i|ijo,tiidt |t |fn|it jot |n|i dj o|i i|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/lib64/python2.6/xml/dom/minidom.pyR*os #  cCs|i|ijo'|i}|i||i||S|i|ijo,tiidt |t |fn||jodS|i dj o|i i|ny|i i |}Wn"tj otiinX||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/lib64/python2.6/xml/dom/minidom.pyt replaceChilds<   #          cCsy|ii|Wn"tj otiinX|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/lib64/python2.6/xml/dom/minidom.pyR)s cCshg}x9|iD].}|itijo|i}|oU|oN|di|ijo7|d}|i|i|_|i|_|iq>|o?|o||d_|d|_n d|_|i |q>|iq|o||d_|d|_n d|_|i ||iti jo|i qqW|od|d_n||i(dS(Ni( RRRt TEXT_NODEtdataR1tunlinkR2Rtappendt ELEMENT_NODEt normalize(R tLtchildR<R6((s'/usr/lib64/python2.6/xml/dom/minidom.pyR@s6  %       cCst|||ip|S(N(t _clone_nodet ownerDocument(R tdeep((s'/usr/lib64/python2.6/xml/dom/minidom.pyt cloneNodescCs|iii||S(N(RDtimplementationt hasFeature(R tfeaturetversion((s'/usr/lib64/python2.6/xml/dom/minidom.pyt isSupportedscCsdS(N(R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_localNamescCs ||jS(N((R tother((s'/usr/lib64/python2.6/xml/dom/minidom.pyt isSameNodescCs |i|do|SdSdS(N(RKR(R RI((s'/usr/lib64/python2.6/xml/dom/minidom.pyt getInterfacescCs4y|i|dSWnttfj odSXdS(Ni(t _user_datatAttributeErrortKeyErrorR(R tkey((s'/usr/lib64/python2.6/xml/dom/minidom.pyt getUserDatascCsd}y |i}Wn"tj oh}||_nX||jo||d}n|djo"d}|dj o ||=qn||f||<|S(Ni(RRPRQ(R RSR<thandlertoldtd((s'/usr/lib64/python2.6/xml/dom/minidom.pyt setUserDatas    cCsht|doTxQ|iiD]<\}\}}|dj o|i|||||q q WndS(NRP(thasattrRPtitemsRthandle(R t operationtsrctdstRSR<RU((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_call_user_data_handlers  cCs^d|_|_|io.x|iD]}|iq$Wt|_nd|_d|_dS(N(RR(RDRR=tNodeListR2R1(R RB((s'/usr/lib64/python2.6/xml/dom/minidom.pyR= s   N(t__name__t __module__Rt namespaceURIR(RDR1R2RtprefixR RR RRRRR"R*R9R)R@RFRKRLRNRORTRXR_R=(((s'/usr/lib64/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(R R6Rtlast((s'/usr/lib64/python2.6/xml/dom/minidom.pyR7s    cCs:x3|dj o%|itijotS|i}qWtS(N(RRRRRR(R(R6((s'/usr/lib64/python2.6/xml/dom/minidom.pyt _in_document#s  cCsM|iddidd}|iddidd}|i|d S( sWrites datachars to writer.t&s&ts>N(treplacetwrite(RR<((s'/usr/lib64/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/lib64/python2.6/xml/dom/minidom.pyRs1s cCsx|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/lib64/python2.6/xml/dom/minidom.pyRw9s tDocumentFragmentcBsbeZeiZdZdZdZdZ ei ei ei ei eieieifZdZRS(s#document-fragmentcCst|_dS(N(R`R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt__init__PsN(RaRbRR RtnodeNameRt nodeValuet attributesR(R?R;tCDATA_SECTION_NODEtENTITY_REFERENCE_NODEtPROCESSING_INSTRUCTION_NODEt COMMENT_NODEt NOTATION_NODER#Rz(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRyBs  tAttrcBseZeiZd Zd ZeZ eZ ei ei fZ ed d dZdZdZdZdZdZdZdZdZd ZRS( cCsS|i}||d<|d<||d<||dtText(R tqNameRcRhRdRW((s'/usr/lib64/python2.6/xml/dom/minidom.pyRz]s     cCs|iidddS(Nt:ii(R{tsplit(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRLkscCs|iS(N(Ru(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt _get_namenscCs|iS(N(t specified(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_specifiedqscCs|i}|djoY||d<|d<|idi}||d<|d<|idj ot|iqnO|djo7||d<|d<|idj ot|iqn |||R{R(R RAR6((s'/usr/lib64/python2.6/xml/dom/minidom.pyRZs cCsFg}x9|iiD](}|i|i|if|ifqW|S(N(RRR>RcRhR(R RAR6((s'/usr/lib64/python2.6/xml/dom/minidom.pytitemsNSs &cCs5t|to|ii|S|ii|SdS(N(t isinstancet StringTypesRthas_keyR(R RS((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs |iiS(N(RR(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs |iiS(N(RR(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pytkeysNSscCs |iiS(N(RR(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs|ii||S(N(Rtget(R RuR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs>|it|ddjodStt|t|SdS(NRi(RtgetattrRtcmptid(R RM((s'/usr/lib64/python2.6/xml/dom/minidom.pyt__cmp__scCs+t|to |i|S|i|SdS(N(RR!RR(R tattname_or_tuple((s'/usr/lib64/python2.6/xml/dom/minidom.pyt __getitem__s cCst|to\y|i|}Wn;tj o/t|}|ii|_|i|nX||_n1t|tp t dn|}|i|dS(Ns%value must be a string or Attr object( RRRRRRRRDt setNamedItemRt TypeError(R tattnameRR6((s'/usr/lib64/python2.6/xml/dom/minidom.pyt __setitem__s   cCs*y|i|SWntj odSXdS(N(RRRR(R Ru((s'/usr/lib64/python2.6/xml/dom/minidom.pyt getNamedItem$scCs0y|i||fSWntj odSXdS(N(RRRR(R RcRh((s'/usr/lib64/python2.6/xml/dom/minidom.pytgetNamedItemNS*scCs|i|}|dj oVt|i|i|i=|i|i|if=d|i jod|i ds (RRu(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt__repr__ps cCs|iS(N(Ru(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRvscCs|iS(N(R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_namespaceys(s namespacesname(RaRbRRzRRR(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRis    tElementcBsLeZeiZdZeZdZ eiei ei ei ei eifZedddZdZdZdZdZdZdZdZd Zd Zd ZeZd Zd ZdZeZ dZ!dZ"dZ#dZ$dZ%ddddZ&dZ'dZ(dZ)dZ*dZ+RS(icCsD||_|_||_||_t|_h|_h|_dS(N(RrR{RdRcR`RRR(R RrRcRdRh((s'/usr/lib64/python2.6/xml/dom/minidom.pyRzs     cCs|iidddS(NRii(RrR(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRLscCs|iS(N(Rr(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt _get_tagNamescCsGx!|iiD]}|iqWd|_d|_ti|dS(N(RRR=RRR(R tattr((s'/usr/lib64/python2.6/xml/dom/minidom.pyR=s   cCs-y|i|iSWntj odSXdS(NR (RRRR(R R((s'/usr/lib64/python2.6/xml/dom/minidom.pyt getAttributescCs3y|i||fiSWntj odSXdS(NR (RRRR(R RcRh((s'/usr/lib64/python2.6/xml/dom/minidom.pytgetAttributeNSscCs|i|}|djoEt|}|i}||d<|d<|i|d<|i|nH||ijo7|i}||d<|d<|iot|qndS(NRR|RD( tgetAttributeNodeRRRiRDtsetAttributeNodeRRR/(R RRRRW((s'/usr/lib64/python2.6/xml/dom/minidom.pyt setAttributes      cCst|\}}|i||}|djobt||||}|i}||d<||d<||d<|d<|i|d<|i|np|i}||ijo.||d<|d<|iot |qn|i |jo||d<||d(RrR(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRsR c Cs|i|d|i|i}|i}|ix@|D]8}|id|t|||i|idqAW|io`|id|x+|iD] }|i|||||qW|id||i|fn|id|dS(NRms %s="s"s>%ss %s%ss/>%s( RpRrt_get_attributesRtsortRqRRR( R RRt addindentRRta_namesta_nameR6((s'/usr/lib64/python2.6/xml/dom/minidom.pyR s      !cCst|i|i|S(N(RRR(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyR6scCs|iotStSdS(N(RRR(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt hasAttributes9s cCs |i|}|i|dS(N(RtsetIdAttributeNode(R RutidAttr((s'/usr/lib64/python2.6/xml/dom/minidom.pytsetIdAttributeAscCs#|i||}|i|dS(N(RR(R RcRhR((s'/usr/lib64/python2.6/xml/dom/minidom.pytsetIdAttributeNSEscCs|djp|i|i otiint|dj otiin|ip<t |i d<|i d7_ |i i d7_ t|ndS(NRi(RRNRR$R%R-t_get_containing_entreftNoModificationAllowedErrRRRiRRDRR/(R R((s'/usr/lib64/python2.6/xml/dom/minidom.pyRIs!  N(,RaRbRR?RRR|RRRRRR;R~RR#RRzRLRR=RRRRRRRtsetAttributeNodeNSRRRtremoveAttributeNodeNSRRRRRRRRRRR(((s'/usr/lib64/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%s(RpRR<(R RRRR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs( RaRbRRRRzRRRRRR(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs       t CharacterDatacBsteZdZeZdZdZeZeZdZdZ dZ dZ dZ dZ d ZRS( cCs t|iS(N(RR<(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs |idS(NR<(Ri(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs|i}||d<|di(R<Rt __class__Ra(R R<t dotdotdot((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs   cCs|djotiidn|t|ijotiidn|djotiidn|i|||!S(Nisoffset cannot be negatives#offset cannot be beyond end of datascount cannot be negative(R$R%t IndexSizeErrRR<(R toffsettcount((s'/usr/lib64/python2.6/xml/dom/minidom.pyt substringDatas  cCs|i||_dS(N(R<(R targ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt appendDatascCs|djotiidn|t|ijotiidn|o(d|i| ||i|f|_ndS(Nisoffset cannot be negatives#offset cannot be beyond end of datas%s%s%s(R$R%RRR<(R RR ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt insertDatas cCs|djotiidn|t|ijotiidn|djotiidn|o#|i| |i|||_ndS(Nisoffset cannot be negatives#offset cannot be beyond end of datascount cannot be negative(R$R%RRR<(R RR((s'/usr/lib64/python2.6/xml/dom/minidom.pyt deleteDatas  cCs|djotiidn|t|ijotiidn|djotiidn|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%RRR<(R RRR ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt replaceDatas  (RaRbRRRRt_get_nodeValuet_set_nodeValueRRR R R R R(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs      sLength of the string data.RcBsSeZeiZdZdZdZddddZ dZ dZ dZ RS(s#textcCs|djp|t|ijotiidn|i}|i||_|i|_|i}|ioK||ii jo8|djo|ii |q|ii ||n|i| |_|S(Nisillegal offset value( RR<R$R%RRRDR1R(RRR*R"(R RtnewTexttnext((s'/usr/lib64/python2.6/xml/dom/minidom.pyt splitTexts#    R cCs!t|d||i|fdS(Ns%s%s%s(RqR<(R RRRR((s'/usr/lib64/python2.6/xml/dom/minidom.pyR scCs|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/lib64/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||}qPqW|o"|i }||d<||d<|SdSdS(NR<R|( R(R2RRRR;R~R)R1Ri(R tcontentRtRRRW((s'/usr/lib64/python2.6/xml/dom/minidom.pytreplaceWholeText"s2              cCse|iiotSt|}|djotS|ii|}|djotS|iSdS(N(R<tstripRt_get_containing_elementRRDRtisElementContent(R RR((s'/usr/lib64/python2.6/xml/dom/minidom.pyt!_get_isWhitespaceInElementContent@s   N( RaRbRR;RR{RR}RRRRR(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs    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}q WdS(N(R(RRRR?(R6R5((s'/usr/lib64/python2.6/xml/dom/minidom.pyRSs  cCsC|i}x3|dj o%|itijo|S|i}q WdS(N(R(RRRR(R6R5((s'/usr/lib64/python2.6/xml/dom/minidom.pyR[s  tCommentcBs2eZeiZdZdZddddZRS(s#commentcCs||_|_dS(N(R<R|(R R<((s'/usr/lib64/python2.6/xml/dom/minidom.pyRzhsR cCsAd|ijotdn|id||i|fdS(Ns--s%'--' is not allowed in a comment nodes %s%s(R<R,Rp(R RRRR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRks(RaRbRRRR{RzR(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRds  t CDATASectioncBs)eZeiZdZddddZRS(s#cdata-sectionR cCsA|iiddjotdn|id|idS(Ns]]>is$']]>' not allowed in a CDATA sections(R<tfindR,Rp(R RRRR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRzs(RaRbRR~RR{R(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRqs tReadOnlySequentialNamedNodeMapcBseZdZddZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZRS(t_seqcCs ||_dS(N(R"(R tseq((s'/usr/lib64/python2.6/xml/dom/minidom.pyRzscCs t|iS(N(RR"(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs t|iS(N(RR"(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs-x&|iD]}|i|jo|Sq WdS(N(R"R{(R RuR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs cCs=x6|iD]+}|i|jo|i|jo|Sq WdS(N(R"RcRh(R RcRhR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs  cCsPt|to|i|}n|i|}|djo t|n|S(N(RR!RRRRR(R t name_or_tupleR6((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs   cCs<|djodSy|i|SWntj odSXdS(Ni(RR"R(R R+((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs  cCstiiddS(Ns"NamedNodeMap instance is read-only(R$R%R(R Ru((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs cCstiiddS(Ns"NamedNodeMap instance is read-only(R$R%R(R RcRh((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs cCstiiddS(Ns"NamedNodeMap instance is read-only(R$R%R(R R6((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs cCstiiddS(Ns"NamedNodeMap instance is read-only(R$R%R(R R6((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs cCs |igS(N(R"(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs|d|_dS(Ni(R"(R R((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs(s_seq((RaRbRRzRRRRRRRRRRRR(((s'/usr/lib64/python2.6/xml/dom/minidom.pyR!s           s&Number of entries in the NamedNodeMap.t IdentifiedcBs)eZdZdZdZdZRS(s@Mix-in class that supports the publicId and systemId attributes.cCs||_||_dS(N(tpublicIdtsystemId(R R&R'((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_identified_mixin_inits cCs|iS(N(R&(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt _get_publicIdscCs|iS(N(R'(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt _get_systemIds(RaRbRR(R)R*(((s'/usr/lib64/python2.6/xml/dom/minidom.pyR%s  t DocumentTypecBs\eZeiZdZdZdZdZ dZ dZ dZ dZ ddddZRS(cCsNt|_t|_|ot|\}}||_n|i|_dS(N(R!tentitiest notationsRRuR{(R RRdR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRzs    cCs|iS(N(tinternalSubset(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_internalSubsetscCs`|idjoHtd}|i|_|i|_tiii}|og|i _ g|i _ xU|i i D]G}t |i|i |i}|i i i||i|||qoWx|i i D]q}t|i|i |i|i}|i|_|i|_|i|_|i i i||i|||qWn|i||||SdSdS(N(RDRR+RuR{R$R%tUserDataHandlert NODE_CLONEDR,R"R-tNotationR&R'R>R_tEntityt notationNametactualEncodingR RJ(R REtcloneR\Rtnotationtetentity((s'/usr/lib64/python2.6/xml/dom/minidom.pyRFs2           R cCs|id|i|i|io'|id||i||ifn)|io|id||ifn|idj o.|id|i|i|idn|id|dS(Ns R*R"R)R9(((s'/usr/lib64/python2.6/xml/dom/minidom.pyR3s        R2cBs eZeiZdZdZRS(cCs||_|i||dS(N(R{R((R RuR&R'((s'/usr/lib64/python2.6/xml/dom/minidom.pyRz:s N(RaRbRRRRR|Rz(((s'/usr/lib64/python2.6/xml/dom/minidom.pyR26s tDOMImplementationc BsYeZd d d dddddddg ZdZdZdZd Zd ZRS(tcores1.0s2.0s3.0R$sls-loadcCs0|djo d}n|i|f|ijS(NR (Rtlowert _features(R RIRJ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRHLs  c Cs_|o&|idj otiidn|i}|djo|djo |dj }| o|otiidn|ot|\}}|djo#|djotiidn|o| otiidn|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_documenttInvalidCharacterErrRRtcreateElementNSR*RDtdoctypeRG( R RcRRHRftadd_root_elementRdRR((s'/usr/lib64/python2.6/xml/dom/minidom.pytcreateDocumentQs4             cCs"t|}||_||_|S(N(R+R&R'(R RR&R'RH((s'/usr/lib64/python2.6/xml/dom/minidom.pytcreateDocumentType~s   cCs |i|do|SdSdS(N(RHR(R RI((s'/usr/lib64/python2.6/xml/dom/minidom.pyROscCstS(N(tDocument(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyREs(RAs1.0(RAs2.0(RAs3.0N(RAN(sxmls1.0(sxmls2.0(sxmls3.0(sxmlN(sls-loads3.0(sls-loadN( RaRbRRCRHRJRKRORE(((s'/usr/lib64/python2.6/xml/dom/minidom.pyR@?s   -  t ElementInfocBseeZdZd ZdZdZdZdZdZdZ dZ d Z d Z RS( sObject 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/lib64/python2.6/xml/dom/minidom.pyRzscCstS(N(R(R taname((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCstS(N(R(R RcRh((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCstS(N(R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCstS(sQReturns true iff this element is declared to have an EMPTY content model.(R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pytisEmptyscCstS(s6Returns true iff the named attribte is a DTD-style ID.(R(R RN((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCstS(s<Returns true iff the identified attribute is a DTD-style ID.(R(R RcRh((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs|iS(N(Rr(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs ||_dS(N(Rr(R R((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs(stagName( RaRbRRRzRRRRORRRR(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRMs        cCs^|itijo|iid|_n.t|o |iiid|i_ndS(N( RRRt _id_cachetclearRt_id_search_stackRkRD(R6((s'/usr/lib64/python2.6/xml/dom/minidom.pyR/s    RLcBseZeieieieifZeiZ dZ d$Z d$Z d$Zd$Zd$ZZeZd$Zd$Zd$Zd$ZeZd$Zd$ZdZdZdZdZdZ dZ!dZ"dZ#d Z$d Z%d Z&d Z'd Z(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ: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/lib64/python2.6/xml/dom/minidom.pyRzs   cCs9|io|i|if}n |i}|ii|S(N(RcRhRrRSR(R RRS((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs  cCs|iS(N(R5(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyR<scCs|iS(N(RH(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt _get_doctypescCs|iS(N(t documentURI(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_documentURIscCs|iS(N(R (R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyR=scCs|iS(N(t errorHandler(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_errorHandlerscCs|iS(N(t standalone(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_standalonescCs|iS(N(tstrictErrorChecking(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_get_strictErrorCheckingscCs|iS(N(RJ(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyR>scCs|i|ijo,tiidt|t|fn|idj o|ii|n|it i jo#|i otiidnt 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/lib64/python2.6/xml/dom/minidom.pyR*s #   cCssy|ii|Wn"tj otiinXd|_|_d|_ |i |jo d|_ n|S(N( RR:R,R$R%R-RR1R2R(tdocumentElement(R R8((s'/usr/lib64/python2.6/xml/dom/minidom.pyR)s  cCs0x)|iD]}|itijo|Sq WdS(N(RRRR?(R R6((s'/usr/lib64/python2.6/xml/dom/minidom.pyR]s cCs;|idj o|iid|_nti|dS(N(RHRR=R(R ((s'/usr/lib64/python2.6/xml/dom/minidom.pyR=$s  cCs|pdS|iiddd}|i|_|i|_|i|_xs|iD]h}t|||}|ii||i t i jon!|i t i jo ||_ n||_qRW|itiii|||S(N(RRGRJR RYRJRRCR>RRRR;RHR(R_R$R%R0R1(R RER6Rt childclone((s'/usr/lib64/python2.6/xml/dom/minidom.pyRF*s$       cCst}||_|S(N(RyRD(R RW((s'/usr/lib64/python2.6/xml/dom/minidom.pytcreateDocumentFragment?s  cCst|}||_|S(N(RRD(R RrR8((s'/usr/lib64/python2.6/xml/dom/minidom.pyt createElementDs  cCs<t|tp tdnt}||_||_|S(Nsnode contents must be a string(RRRRR<RD(R R<tt((s'/usr/lib64/python2.6/xml/dom/minidom.pytcreateTextNodeIs     cCs<t|tp tdnt}||_||_|S(Nsnode contents must be a string(RRRRR<RD(R R<R5((s'/usr/lib64/python2.6/xml/dom/minidom.pytcreateCDATASectionQs     cCst|}||_|S(N(RRD(R R<R5((s'/usr/lib64/python2.6/xml/dom/minidom.pyt createCommentYs  cCst||}||_|S(N(RRD(R RR<tp((s'/usr/lib64/python2.6/xml/dom/minidom.pytcreateProcessingInstruction^s cCs"t|}||_d|_|S(NR (RRDR(R Rta((s'/usr/lib64/python2.6/xml/dom/minidom.pytcreateAttributecs   cCs1t|\}}t|||}||_|S(N(RRRD(R RcRRdRhR8((s'/usr/lib64/python2.6/xml/dom/minidom.pyRGis cCs=t|\}}t||||}||_d|_|S(NR (RRRDR(R RcRRdRhRh((s'/usr/lib64/python2.6/xml/dom/minidom.pytcreateAttributeNSos   cCs"t||||}||_|S(N(R3RD(R RuR&R'R4R8((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_create_entityys cCst|||}||_|S(N(R2RD(R RuR&R'R((s'/usr/lib64/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 ||qq~|i |}|ox||i i D]}|ioZ|i|i|io=||i|i<|i|jo |}qW|ipPqWqq|i|io=||i|i<|i|jo |}q|ipPqq|ioC||i|i<|i|jo |}q|idjoPqqqWna|ioVxS|i i D]>}|io.||i|i<|i|jo |}qXqqWn|dj oPqyqyW|S(Ni(RPRSRRRRR^tpoptextendRRR.RR}RRcRRhRRRRuR( R RtstacktresultR6t_[1]RBRR((s'/usr/lib64/python2.6/xml/dom/minidom.pytgetElementByIdsb      %             cCst||tS(N(RsR`(R Ru((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCst|||tS(N(RwR`(R RcRh((s'/usr/lib64/python2.6/xml/dom/minidom.pyRscCs|ii||S(N(RGRH(R RIRJ((s'/usr/lib64/python2.6/xml/dom/minidom.pyRKscCsb|itijotiidn*|itijotiidnt|||S(Nscannot import document nodess!cannot import document type nodes(RRRR$R%tNotSupportedErrR;RC(R R6RE((s'/usr/lib64/python2.6/xml/dom/minidom.pyt importNodes R cCsg|djo|id|n|id||fx'|iD]}|i||||qCWdS(Nss%%s(RRpRR(R RRRRR R6((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs   c Cs|i|j o#tiid||ifn|ititifjotiidn|t jod|joR|i dd\}}|djo)|tii jotii dq&q6|djo<|tii jo)|itijotii dnd}|}n d}d}|itijo4|i}|dj o|i}|i|qnd}|i}||d<||d <||d <||d <|itijo||d RaRbRR?RRR;R#RRR{RR|R}RHR(R2R1R@RGR5R RYRJRR[RWRURRzRR<RTRVR=RXRZR\R>R*R)R]R=RFR`RaRcRdReRgRiRGRjRkRlRrRRRKRtRRv(((s'/usr/lib64/python2.6/xml/dom/minidom.pyRLsh                             :      R^s#Top-level element of this document.c Cs|ii|otiii}ntiii}|iti jo|i |i |i }xW|i iD]F}|i|i |i |i|i|i |i}|i|_qpW|o7x4|iD]%}t|||}|i|qWqn|itijoN|i}|o7x4|iD]%}t|||}|i|q,Wqn|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| do| i2|| | qqWx|i,i-D]} t3| i | i*| i+| i4} | i5| _5| i6| _6| i7| _7|| _|i,i-i0| t1| do| i2|| | q8q8Wqntii8dt9|t1|do|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}RRRRRhRRRCR*R R`R;RcR<R~RdRRgRRReRRjRR;RGRKRuR&R'R,R"R-R2R>RYR_R3R4R5R RJRsR'( R6REtnewOwnerDocumentR\R6RRhRBR5RR7R8R9((s'/usr/lib64/python2.6/xml/dom/minidom.pyRCs                     #cCs<|idd}t|djo|Sd|dfSdS(NRiii(RRR(Rtfields((s'/usr/lib64/python2.6/xml/dom/minidom.pyRfscCsddkl}|S(Ni(tStringIO(Rz(Rz((s'/usr/lib64/python2.6/xml/dom/minidom.pyRnscCs<|||}|i\}}|i||i|S(N(tgetEventt expandNodeRQ(tfunctargstkwargsteventsttoktypetrootNode((s'/usr/lib64/python2.6/xml/dom/minidom.pyt_do_pulldom_parsess   cCsk|djo&| oddkl}|i|Sddkl}t|i|fh|d6|d6SdS(s3Parse a file into a DOM by filename or file object.i(t expatbuilder(tpulldomtparsertbufsizeN(Rtxml.domRtparseRR(tfileRRRR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRzs cCs\|djoddkl}|i|Sddkl}t|i|fh|d6SdS(s&Parse a file into a DOM from a string.i(R(RRN(RRRt parseStringRR(tstringRRR((s'/usr/lib64/python2.6/xml/dom/minidom.pyRs  cCsg|oYt|toti|}nx3|D]'\}}tii||pdSq1WntiS(N(RRRt_parse_feature_stringRLRGRHR(tfeaturestftv((s'/usr/lib64/python2.6/xml/dom/minidom.pytgetDOMImplementations  (8RRR$RRRRtxml.dom.minicompattxml.dom.xmlbuilderRRR%RR?RR.t defpropertyR7RkRqRsRwRyRtobjectRt AttributeListRRRRRRRRRRRRRR!R%R+R3R2R@RMR/RLRCRRRRRR(((s'/usr/lib64/python2.6/xml/dom/minidom.pyts "      u    $GZ     > <( Q* O  R