ó ·r?c@sødZddlmZddlmZmZddlZddlmZddlmZddlm Z ddlm Z dd lm Z dd lm Z dd lm Z dd lmZdd lmZddlmZmZdefd„ƒYZdS(sÉ WWW: http://4suite.com/4DOM e-mail: support@4suite.com Copyright (c) 2000 Fourthought Inc, USA. All Rights Reserved. See http://4suite.com/COPYRIGHT for license and copyright information iÿÿÿÿ(timplementation(tFtNodetget_name_patternN(tNode(t XML_NAMESPACE(tEMPTY_NAMESPACE(tInvalidCharacterErr(tWrongDocumentErr(tInuseAttributeErr(t NotFoundErr(t SyntaxErr(t NamespaceErr(t SplitQNamet IsDOMStringtElementcBskeZejZejejejejejej gZ d„Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd „Zd „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z!e"j#j$ƒZ#e#j%ie d6ƒe"j&j$ƒZ&e&j%iƒe'e&d„e"j(e#j)ƒƒZ(RS(cCs@tj|||||ƒtj|ƒ|jd<||jd=st*( Rt_4dom_createNodeListtfilterRt ELEMENT_NODEt childNodesttagNametappendtextendtlisttgetElementsByTagName(RR,tnodeListtelementstelement((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyR0;s    cCs|jj|ƒdk S(N(RRtNone(RR((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyt hasAttributeFscCs,|jj|ƒ}|r(|j|ƒndS(N(RRtremoveAttributeNode(RRR$((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pytremoveAttributeIscCsŠy|jj|j|jƒWn$tk rC|jj|jƒnX|jdƒ|j dd|d|jdt j j ƒ|j dƒ|S(NtDOMAttrModifiedt relatedNodetattrNamet attrChangetDOMSubtreeModified( RtremoveNamedItemNSRRR tremoveNamedItemRt_4dom_setOwnerElementR4t_4dom_fireMutationEventtEventt MutationEventtREMOVAL(RR$((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyR6Os      cCs†t|ƒstƒ‚ntƒj|ƒs6tƒ‚n|jj|ƒ}|rZ||_n(|jj |ƒ}||_|j |ƒdS(N( R R RtmatchRRRRRtcreateAttributetsetAttributeNode(RRRtattr((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyt setAttribute^s     c Csí|j|jkrtƒ‚n|jd|fkr?tƒ‚n|jj|jƒ}|rŽ|jdd|d|j d|jdt j j ƒn|jj |ƒ|j|ƒ|jdd|d|j d|jdt j jƒ|jdƒ|S(NR8R9t prevValueR:R;tnewValueR<(RRt ownerElementR4RRRRR@RRARBRCt setNamedItemR?tADDITION(RR$told((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyRFls(           cCs(|jj||ƒ}|r$|jp'dS(NR(RtgetNamedItemNSR(RRRRG((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pytgetAttributeNS†scCs|jj||ƒS(N(RRO(RRR((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pytgetAttributeNodeNSŠsc Cs¼|dkrtdƒ‚ntjƒ}ttjd„|jƒ}xs|D]k}|dksj|j|kr•|dks…|j|kr•|j |ƒn|j t |j ||ƒƒƒqIW|S(NRs*Use None instead of '' for empty namespacecSs |j|kS(N(R#(R$R%((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyR&‘sR'( R RR(R)RR*R+RRR-R.R/tgetElementsByTagNameNS(RRRR1R2R3((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyRRs    cCs|jj||ƒdk S(N(RROR4(RRR((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pythasAttributeNSœscCs/|jj||ƒ}|r+|j|ƒndS(N(RROR6(RRRR$((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pytremoveAttributeNSŸscCsžt|ƒstƒ‚ntƒj|ƒs6tƒ‚nt|ƒ\}}|jj||ƒ}|ro||_n+|j j ||ƒ}||_|j |ƒdS(N( R R RRDRR RRORRtcreateAttributeNStsetAttributeNodeNS(RRt qualifiedNameRRRRG((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pytsetAttributeNS¦s      c Csó|j|jkrtƒ‚n|jd|fkr?tƒ‚n|jj|j|jƒ}|r”|j dd|d|j d|j dt j jƒn|jj|ƒ|j|ƒ|j dd|d|j d|j dt j jƒ|j dƒ|S(NR8R9RIR:R;RJR<(RRRKR4RRRORRR@RRRARBRCtsetNamedItemNSR?RM(RR$RN((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyRV¶s(           cCs/dt|ƒ|jt|jƒt|jƒfS(NsB(tidRtlenRR+(R((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyt__repr__Ðs   cCs%||jd<|jdj|ƒdS(Nt__ownerDocumentR(Rt_4dom_setOwnerDocument(RtnewOwner((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyR^Ús cCs|j||j|j|j|jƒ}x_|jD]T}|j|ƒ}|jdkrh|jj|ƒn|jj |ƒ|j |ƒq1W|S(N( t __class__RRRRRt _4dom_cloneR4RLRYR?(RtownerteRGtclone((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyRaàs  cCs"|j|j|j|j|jfS(N(RRRRR(R((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyt__getinitargs__ïs cCs|j|jfS(N(R+R(R((sA/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/Element.pyt __getstate__÷scCsK|\}}tj||ƒ||jd s