o 0i @s ddlZddlZddlmZmZmZmZddlTddlm Z m Z ej j j ej j jfZGdddej j Z ee ddd ee d d d ee d d d ddZddZddZddZGddde ZGddde Zeeddd eed dd eeddd Gdd d eZeed!d"d eZGd#d$d$eZeddZGd%d&d&e Zeed'd(d eed d)d d*d+ZGd,d-d-ZGd.d/d/ee ZGd0d1d1ee Z ee d!d2d Gd3d4d4e Z!ee!d5d6d ee!d7d8d d9d:Z"d;d<Z#Gd=d>d>e Z$Gd?d@d@e!Z%GdAdBdBeZ&ee&d!dCd GdDdEdEZ'GdFdGdGe'ee Z(GdHdIdIe'e Z)GdJdKdKe'ee Z*GdLdMdMe Z+GdNdOdOeZ,dPdQZ-GdRdSdSe e Z.ee.dTdUd dVdWZ/dXdYZ0dZd[Z1dbd\d]Z2dcd^d_Z3dcd`daZ4dS)dN)EMPTY_NAMESPACE EMPTY_PREFIXXMLNS_NAMESPACEdomreg)*)DOMImplementationLS DocumentLSc@seZdZdZdZdZdZdZeZ ddZ d2ddZ  d3dd Z d d Z d d ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Z dS)4NodeNcCdS)NTselfr r 6/opt/alt/python310/lib64/python3.10/xml/dom/minidom.py__bool__+z Node.__bool__cCs|dd||SN) toprettyxml)r encoding standaloner r rtoxml.z Node.toxml  cCsv|dur t}n tjt|ddd}|jtjkr%||d||||n||d|||dur5|S| S)Nxmlcharrefreplacer)rerrorsnewliner) ioStringIO TextIOWrapperBytesIOnodeTyper DOCUMENT_NODEwritexmlgetvaluedetach)r indentnewlrrwriterr r rr1s    zNode.toprettyxmlcC t|jSN)bool childNodesr r r r hasChildNodesD zNode.hasChildNodescC|jSr*r,r r r r_get_childNodesGzNode._get_childNodescC|jr|jdSdSNrr0r r r r_get_firstChildJ zNode._get_firstChildcCr3Nr0r r r r_get_lastChildNr6zNode._get_lastChildcCs|j|jkrt|jD]}|||q |S|j|jvr*tjdt |t |f|j dur5|j ||dur@| ||Sz|j |}Wn tyTtjw|jtvr^t||j||||_||_|r{|j|d}||_||_nd|_||_ |S)N%s cannot be child of %s)r!DOCUMENT_FRAGMENT_NODEtupler, insertBefore_child_node_typesxmldomHierarchyRequestErrrepr parentNode removeChild appendChildindex ValueError NotFoundErr_nodeTypes_with_children_clear_id_cacheinsert nextSiblingpreviousSibling)r newChildrefChildcrGnoder r rr>Rs<        zNode.insertBeforecCs|j|jkrt|jD]}||q |S|j|jvr)tjdt |t |f|jt vr2t ||j dur=|j |t||d|_|SNr:)r!r<r=r,rFr?r@rArBrCrJrKrDrE _append_childrM)r rRrQr r rrFrs       zNode.appendChildcCs |j|jkr|j}|||||S|j|jvr(tjdt |t |f||ur.dS|j dur9|j |z|j |}Wn t yMtjw||j |<||_ d|_ |jtvsc|jtvrgt||j|_|j|_d|_d|_|jr|||j_|jr||j_|SrS)r!r<rMrEr>r?r@rArBrCrDr,rGrHrIrJrKrN)r rOoldChildrPrGr r r replaceChilds@           zNode.replaceChildcCszz|j|Wn tytjw|jdur|j|j_|jdur)|j|j_d|_|_|jt vr8t |d|_ |Sr*) r,removerHr@rArIrMrNr!rJrKrDr rUr r rrEs        zNode.removeChildcCsg}|jD]Z}|jtjkrP|js%|r|j|d_|jr |j|j_|q|rJ|dj|jkrJ|d}|j|j|_|j|_|jrE||j_|q||q|||jtj kr_| q||jdd<dSr7) r,r!r TEXT_NODEdatarMrNunlinkappend ELEMENT_NODE normalize)r LchildrRr r rr^s,         zNode.normalizecCst|||jp|Sr*) _clone_node ownerDocument)r deepr r r cloneNodezNode.cloneNodecCs|jj||Sr*)rbimplementation hasFeaturer featureversionr r r isSupportedrzNode.isSupportedcCdSr*r r r r r_get_localNamezNode._get_localNamecCs||uSr*r r otherr r r isSameNodezNode.isSameNodecC||dr|SdSr*)rkr rir r r getInterface zNode.getInterfacec Cs*z|j|dWSttfyYdSwr4) _user_dataAttributeErrorKeyErrorr keyr r r getUserDatas zNode.getUserDatacCsnd}z|j}Wntyi}||_Ynw||vr ||d}|dur/d}|dur-||=|S||f||<|Sr4)rwrx)r r{rZhandlerolddr r r setUserDatas      zNode.setUserDatacCsHt|dr t|jD]\}\}}|dur||||||q dSdS)Nrw)hasattrlistrwitemsZhandle)r operationsrcZdstr{rZr}r r r_call_user_data_handlers zNode._call_user_data_handlercCs>d|_|_|jr|jD]}|q t|_d|_d|_dSr*)rDrbr,r[NodeListrNrM)r r`r r rr[s    z Node.unlinkcCs|Sr*r r r r r __enter__rzNode.__enter__cCs |dSr*)r[)r ZetZevtbr r r__exit__ z Node.__exit__NN)rrNN)!__name__ __module__ __qualname__ namespaceURIrDrbrMrNrprefixrrrr-r1r5r9r>rFrVrEr^rdrkrmrqrur|rrr[rrr r r rr "s@      r firstChildzFirst child node, or None.)doc lastChildzLast child node, or None. localNamez"Namespace-local name of this node.cCs2|j}|r|d}||_||_||||_dSr7)r,rNrMr\rD)r rRr,Zlastr r rrTs  rTcCs< |r|dddddddd}||dSdS) N&z&z>)replacewrite)r(rZr r r _write_data(srcCsD|jD]}|jtjkr|dks|j|kr||t|||q|SNr)r,r!r r]tagNamer\_get_elements_by_tagName_helper)parentnamercrRr r rr/s   rcCsX|jD]&}|jtjkr)|dks|j|kr"|dks|j|kr"||t||||q|Sr)r,r!r r]rrr\"_get_elements_by_tagName_ns_helper)rZnsURIrrrRr r rr7s   rc@sJeZdZejZdZdZdZdZ ej ej ej ej ejejejfZddZdS)DocumentFragmentz#document-fragmentNcCs t|_dSr*)rr,r r r r__init__NrzDocumentFragment.__init__)rrrr r<r!nodeName nodeValue attributesrDr]rYCDATA_SECTION_NODEENTITY_REFERENCE_NODEPROCESSING_INSTRUCTION_NODE COMMENT_NODE NOTATION_NODEr?rr r r rr@s rc@seZdZdZejZdZdZdZ ej ej fZ e ddfddZddZdd Zd d Zd d ZeeeZZddZddZeeeZZddZddZeeeZddZddZddZdS)Attr)_name_valuer_prefixr, _localNamerb ownerElementNFcCsFd|_d|_||_||_||_|dur||_t|_|jt dSr*) rrbrrrrrr,r\Text)r qNamerrrr r rr\sz Attr.__init__cC.z|jWSty|jdddYSwN:r;r8)rrxrsplitr r r rrml  zAttr._get_localNamecCr/r*) specifiedr r r r_get_specifiedrr2zAttr._get_specifiedcCr/r*)rr r r r _get_nameur2zAttr._get_namecCs"||_|jdurt|jdSdSr*)rrrKr valuer r r _set_namexs zAttr._set_namecCr/r*)rr r r r _get_valuer2zAttr._get_valuecCs6||_||jd_|jdurt|j||jd_dSr4)rr,rZrrKrr r r _set_values    zAttr._set_valuecCr/r*)rr r r r _get_prefixr2zAttr._get_prefixcCsd|j}|dkr|r|tkrtjd||_|dur|j}nd||jf}|jr-t|j||_ dS)Nxmlnsz5illegal use of 'xmlns' prefix for the wrong namespacez%s:%s) rrr@rA NamespaceErrrrrrKr)r rZnsuriZnewNamer r r _set_prefixs   zAttr._set_prefixcCsv|j}|dur)|j|j=|j|j|jf=|jr)d|_|jd8_|jj d8_ |j D]}| q,|j dd=dS)NFr;) r_attrsr_attrsNSrr_is_id_magic_id_nodesrb_magic_id_countr,r[)r elemr`r r rr[s   z Attr.unlinkcCsb|jrdS|j}|j}|dus|durdS||}|dur dS|jr+||j|jS||jSNTF) rrbr_get_elem_inforisIdNSrisIdrr rrinfor r r _get_isIds  zAttr._get_isIdcCsX|j}|j}|dus|durtS||}|durtS|jr&||j|jS||jSr*) rbr_no_typerrgetAttributeTypeNSrgetAttributeTyperrr r r_get_schemaTypes  zAttr._get_schemaType) rrr __slots__r ATTRIBUTE_NODEr!rrrrYrr?rrrmrrrpropertyrrrrrrrrrr[rrr r r rrRs0    rrz True if this attribute is an ID.z'Namespace-local name of this attribute. schemaTypezSchema type for this attribute.c@seZdZ dZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ d9ddZ eZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8ZdS): NamedNodeMaprr _ownerElementcCs||_||_||_dSr*r)r attrsZattrsNSrr r rrs zNamedNodeMap.__init__cCr)r*)lenrr r r r _get_lengthr.zNamedNodeMap._get_lengthcCs.z |t|j|WStyYdSwr*)rrkeys IndexErrorr rGr r ritems  zNamedNodeMap.itemcCs*g}|jD] }||j|jfq|Sr*)rvaluesr\rrr r_rRr r rrszNamedNodeMap.itemscCs0g}|jD]}||j|jf|jfq|Sr*)rrr\rrrrr r ritemsNSszNamedNodeMap.itemsNScCst|tr ||jvS||jvSr*) isinstancestrrrrzr r r __contains__   zNamedNodeMap.__contains__cC |jSr*)rrr r r rrr.zNamedNodeMap.keyscCrr*)rrr r r rkeysNSr.zNamedNodeMap.keysNScCrr*)rrr r r rrr.zNamedNodeMap.valuesNcC|j||Sr*rget)r rrr r rrzNamedNodeMap.getcCs6|jt|ddur dSt|t|kt|t|kS)Nrr)rgetattridror r r_cmp s zNamedNodeMap._cmpcCs||dkSr4rror r r__eq__rzNamedNodeMap.__eq__cCs||dkSr4rror r r__ge__rzNamedNodeMap.__ge__cCs||dkSr4rror r r__gt__rzNamedNodeMap.__gt__cCs||dkSr4rror r r__le__rzNamedNodeMap.__le__cCs||dkSr4rror r r__lt__rzNamedNodeMap.__lt__cCst|tr |j|S|j|Sr*)rr=rr)r attname_or_tupler r r __getitem__!rzNamedNodeMap.__getitem__cCsvt|tr)z|j|}Wnty#t|}|jj|_||Ynw||_dSt|ts2t d|}||dS)Nz%value must be a string or Attr object) rrrryrrrb setNamedItemr TypeError)r attnamerrRr r r __setitem__(s     zNamedNodeMap.__setitem__cCs"z|j|WStyYdSwr*)rryr rr r r getNamedItem7s   zNamedNodeMap.getNamedItemcCs&z|j||fWStyYdSwr*)rryr rrr r rgetNamedItemNS=s  zNamedNodeMap.getNamedItemNScCsT||}|dur%t|j|j|j=|j|j|jf=t|dr#d|_ |St j Nr) rrKrrrrrrrrr@rArIr rnr r rremoveNamedItemCs     zNamedNodeMap.removeNamedItemcCsV|||}|dur&t|j|j|j|jf=|j|j=t|dr$d|_ |St j r) rrKrrrrrrrrr@rArIr rrrr r rremoveNamedItemNSOs     zNamedNodeMap.removeNamedItemNScCstt|tstjdt|t|f|j|j}|r | ||j|j<||j |j |j f<|j |_t|j|SrS)rrr@rArBrCrrrr[rrrrrrK)r rRr~r r rr[s   zNamedNodeMap.setNamedItemcCs ||Sr*)rr rRr r rsetNamedItemNShr.zNamedNodeMap.setNamedItemNScCs||}t|j|dSr*)rKrr[)r rrRr r r __delitem__ks  zNamedNodeMap.__delitem__cCs|j|j|jfSr*rr r r r __getstate__przNamedNodeMap.__getstate__cCs|\|_|_|_dSr*rr stater r r __setstate__sszNamedNodeMap.__setstate__r*) rrrrrrrrrrrrrr__len__rrrrrrrrrrr r rr rrrr r r rrs>     rZlengthz$Number of nodes in the NamedNodeMap.c@s0eZdZdZddZddZddZdd Zd S) TypeInfo namespacercC||_||_dSr*r)r rrr r rr zTypeInfo.__init__cCs.|jrd|jj|j|jfSd|jj|jfS)Nz<%s %r (from %r)>z<%s %r>)r __class__rrr r r r__repr__s  zTypeInfo.__repr__cCr/r*)rr r r rrr2zTypeInfo._get_namecCr/r*)rr r r r_get_namespacer2zTypeInfo._get_namespaceN)rrrrrrrrr r r rr|s  rc@s eZdZdZejZdZeZ dZ ejej ej ej ejejfZeddfddZddZdd Zd d Zd d ZddZddZddZddZddZddZddZeZddZddZ d d!Z!e!Z"d"d#Z#d$d%Z$d&d'Z%d(d)Z&d*d+Z'd9d-d.Z(d/d0Z)d1d2Z*d3d4Z+d5d6Z,d7d8Z-dS):Element) rbrDrrrrrr,rrrMrNNrcCsHd|_d|_||_|_||_||_t|_d|_|_ d|_ d|_ dSr*) rbrDrrrrrr,rMrNrr)r rrrrr r rrs   zElement.__init__cCs|jdur i|_i|_dSdSr*)rrr r r r_ensure_attributess  zElement._ensure_attributescCrr)rrxrrr r r rrmrzElement._get_localNamecCr/r*rr r r r _get_tagNamer2zElement._get_tagNamecCs@|jdurt|jD]}|q d|_d|_t|dSr*)rrrr[rr )r attrr r rr[s  zElement.unlinkcCs4 |jdurdSz|j|jWStyYdSwr)rrry)r rr r r getAttributes  zElement.getAttributecCs6|jdurdSz |j||fjWStyYdSwr)rrryrr r rgetAttributeNSs  zElement.getAttributeNScCs`||}|durt|}||_|j|_||dS||jkr,||_|jr.t|dSdSdSr*)getAttributeNoderrrbsetAttributeNoderrK)r rrr r r r setAttributes   zElement.setAttributecCst|\}}|||}|dur%t||||}||_|j|_||dS||jkr4||_|jr4t||j|krA||_||_ dSdSr*) _nssplitgetAttributeNodeNSrrrbr$rrKrr)r r qualifiedNamerr localnamer r r rsetAttributeNSs     zElement.setAttributeNScCs|jdurdS|j|Sr*r)r attrnamer r rr#s  zElement.getAttributeNodecCs|jdurdS|j||fSr*)rrrr r rr's zElement.getAttributeNodeNScCs|jd|fvr tjd||j|jd}|dur"|||j |j |j fd}|dur:||ur:||t ||||urE|S||urK|SdS)Nzattribute node already owned) rr@rAZInuseAttributeErrrrrrremoveAttributeNoderrr_set_attribute_node)r r Zold1Zold2r r rr$ s    zElement.setAttributeNodecCsJ|jdur tjz|j|}Wn tytjw||dSr*)rr@rArIrryr,)r rr r r rremoveAttribute"s    zElement.removeAttributecCsN|jdur tjz |j||f}Wn tytjw||dSr*)rr@rArIryr,)r rrr r r rremoveAttributeNS+s    zElement.removeAttributeNScCsX|dur tjz|j|jWn tytjwt|||j|_|Sr*) r@rArIrrryrKr[rbr r r rr,4s   zElement.removeAttributeNodecCs |jdurdS||jvSNFrrr r r hasAttributeDs  zElement.hasAttributecCs|jdurdS||f|jvSr0)rrr r rhasAttributeNSNs zElement.hasAttributeNScCs t||tSr*rrrr r rgetElementsByTagNameSszElement.getElementsByTagNamecCt|||tSr*rrrr r rgetElementsByTagNameNS[ zElement.getElementsByTagNameNScCsd|jt|fS)Nz)rrr r r rr_rezElement.__repr__rcCs ||d|j|}|D]}|d|t|||j|dq|jrw|dt|jdkrQ|jdjt j t j fvrQ|jd |dddn|||jD] }| |||||qY|||d|j|fdS|d |dS) Nrz %s="rrr;rrz%sz/>%s) rr_get_attributesrrrr,rr!r rYrr#)r r(r& addindentr'rZa_namerRr r rr#bs(       zElement.writexmlcCs|t|j|j|Sr*)rrrrr r r rr:szElement._get_attributescCs|jrdSdSrr1r r r r hasAttributesszElement.hasAttributescCs||}||dSr*)r#setIdAttributeNode)r ridAttrr r rsetIdAttributes zElement.setIdAttributecCs|||}||dSr*)r'r=)r rrr>r r rsetIdAttributeNSs zElement.setIdAttributeNScCsn|dus ||jstjt|durtj|js5d|_|jd7_|j j d7_ t |dSdS)NTr;) rqrr@rArI_get_containing_entrefNoModificationAllowedErrrrrbrrK)r r>r r rr=s    zElement.setIdAttributeNoderrr).rrrrr r]r!rrrrrrrYrrr?rrrrmrr[r!r"r%r*r#r'r$ZsetAttributeNodeNSr.r/r,ZremoveAttributeNodeNSr2r3r5r8rr#r:r<r?r@r=r r r rrsV        rrz*NamedNodeMap of attributes on the element.z%Namespace-local name of this element.cCs8t||||j|j<||j|j|jf<||_dSr*)rKrrrrrrr)elementr r r rr-s   r-c@sdeZdZ dZdZeZdZdZddZ ddZ ddZ d d Z d d Z d dZddZddZdS) Childlessr NcCrlr*r r r r rr5rzChildless._get_firstChildcCrlr*r r r r rr9rzChildless._get_lastChildcCtj|jd)Nz nodes cannot have childrenr@rArBrr r r rrFzChildless.appendChildcCr r0r r r r rr-rzChildless.hasChildNodescCrFNz nodes do not have childrenrGr rOrPr r rr>rHzChildless.insertBeforecCrFrI)r@rArIrrXr r rrErHzChildless.removeChildcCrlr*r r r r rr^rnzChildless.normalizecCrFrIrGr rOrUr r rrVrHzChildless.replaceChild)rrrrrZ EmptyNodeListr,rrr5r9rFr-r>rEr^rVr r r rrEs rEc@s\eZdZejZdZddZddZddZ e ee Z dd Z d d Z e e e Zdd dZdS)ProcessingInstructiontargetrZcCrr*rM)r rNrZr r rrrzProcessingInstruction.__init__cCr/r*rZr r r r_get_nodeValuer2z$ProcessingInstruction._get_nodeValuecC ||_dSr*rOrr r r_set_nodeValuer.z$ProcessingInstruction._set_nodeValuecCr/r*rNr r r r _get_nodeNamer2z#ProcessingInstruction._get_nodeNamecCrQr*rSrr r r _set_nodeNamer.z#ProcessingInstruction._set_nodeNamercCs|d||j|j|fdS)Nz %s%s)rrNrZr r(r&r;r'r r rr#szProcessingInstruction.writexmlNrC)rrrr rr!rrrPrRrrrTrUrr#r r r rrLs  rLc@sreZdZdZddZddZeZddZdd Ze eeZ Z d d Z d d Z ddZddZddZddZdS) CharacterData)_datarbrDrNrMcCs,d|_|_d|_|_d|_t|dSr)rbrDrNrMrXr rr r r rrs  zCharacterData.__init__cCr)r*)rrZr r r rrr.zCharacterData._get_lengthcCr/r*rXr r r r _get_datar2zCharacterData._get_datacCrQr*rYr rZr r r _set_datar.zCharacterData._set_datacCs6|j}t|dkr d}nd}d|jj|dd|fS)N z...rzr)rZrrr)r rZZ dotdotdotr r rr s zCharacterData.__repr__cCsT|dkr tjd|t|jkrtjd|dkr!tjd|j|||SNroffset cannot be negative#offset cannot be beyond end of datacount cannot be negativer@rA IndexSizeErrrrZr offsetcountr r r substringDatas   zCharacterData.substringDatacCs|j||_dSr*rO)r argr r r appendDatarzCharacterData.appendDatacCs^|dkr tjd|t|jkrtjd|r-d|jd|||j|df|_dSdS)Nrr_r`%s%s%srb)r rerhr r r insertDatas   zCharacterData.insertDatacCsp|dkr tjd|t|jkrtjd|dkr!tjd|r6|jd||j||d|_dSdSr^rbrdr r r deleteData's   &zCharacterData.deleteDatacCsv|dkr tjd|t|jkrtjd|dkr!tjd|r9d|jd|||j||df|_dSdS)Nrr_r`rarjrb)r rerfrhr r r replaceData1s    zCharacterData.replaceDataN)rrrrrrrrZr\rrZrrrgrirkrlrmr r r rrWs   rWzLength of the string data.c@sHeZdZdZejZdZdZddZ dddZ d d Z d d Z d dZ dS)rr z#textNcCs|dks |t|jkrtjd|}|j|d|_|j|_|j}|jr?||jj vr?|dur8|j |n|j |||jd||_|S)Nrzillegal offset value) rrZr@rArcrrbrMrDr,rFr>)r reZnewTextnextr r r splitTextFs zText.splitTextrcCst|d||j|fdS)Nrj)rrZrVr r rr#Usz Text.writexmlcCs|jg}|j}|dur$|jtjtjfvr|d|j|j}nn|dus |j}|durC|jtjtjfvr>||j|j}nn|dus+d |S)Nrr) rZrNr!r rYrrLrMr\join)r r_rr r r_get_wholeTextZs   zText._get_wholeTextcCs|j}|j}|dur#|jtjtjfvr|j}|||}nn|dus |j}|s-|||durJ|jtjtjfvrE|j}|||}nn|dus1|rQ||_|SdSr*) rDrNr!r rYrrErMrZ)r Zcontentrrrnr r rreplaceWholeTextls.   zText.replaceWholeTextcCsB|jrdSt|}|durdS|j|}|durdS|Sr0)rZstrip_get_containing_elementrbrisElementContent)r rrr r r!_get_isWhitespaceInElementContents  z&Text._get_isWhitespaceInElementContentrC)rrrrr rYr!rrror#rqrrrvr r r rr?s  rZisWhitespaceInElementContentzKTrue iff this text node contains only whitespace and is in element content.Z wholeTextz.The text of all logically-adjacent text nodes.cC0|j}|dur|jtjkr|S|j}|dusdSr*)rDr!r r]rRrQr r rrt rtcCrwr*)rDr!r rrxr r rrAryrAc@s(eZdZejZdZddZdddZdS) Commentz#commentcCst|||_dSr*)rWrrXr[r r rrs  zComment.__init__rcCs,d|jvr td|d||j|fdS)Nz--z%'--' is not allowed in a comment nodez %s%s)rZrHrrVr r rr#s zComment.writexmlNrC) rrrr rr!rrr#r r r rrzs rzc@s$eZdZdZejZdZdddZdS) CDATASectionr z#cdata-sectionrcCs,|jddkr td|d|jdS)Nz]]>rz$']]>' not allowed in a CDATA sectionz)rZfindrHrrVr r rr#szCDATASection.writexmlNrC) rrrrr rr!rr#r r r rr{s r{c@szeZdZdZdddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdS)ReadOnlySequentialNamedNodeMap_seqr cCrQr*r~)r seqr r rrs z'ReadOnlySequentialNamedNodeMap.__init__cCr)r*rrr r r rrr.z&ReadOnlySequentialNamedNodeMap.__len__cCr)r*rr r r rrr.z*ReadOnlySequentialNamedNodeMap._get_lengthcCs"|jD] }|j|kr|SqdSr*)rrrr r rrs  z+ReadOnlySequentialNamedNodeMap.getNamedItemcCs,|jD]}|j|kr|j|kr|SqdSr*)rrrr r r rrs z-ReadOnlySequentialNamedNodeMap.getNamedItemNScCs4t|tr |j|}n||}|durt||Sr*)rr=rrry)r Z name_or_tuplerRr r rrs   z*ReadOnlySequentialNamedNodeMap.__getitem__cCs.|dkrdSz|j|WStyYdSwr4)rrrr r rrs  z#ReadOnlySequentialNamedNodeMap.itemcC tjdNz"NamedNodeMap instance is read-onlyr@rArBrr r rr z.ReadOnlySequentialNamedNodeMap.removeNamedItemcCrrrrr r rr rz0ReadOnlySequentialNamedNodeMap.removeNamedItemNScCrrrr r r rrrz+ReadOnlySequentialNamedNodeMap.setNamedItemcCrrrr r r rr rz-ReadOnlySequentialNamedNodeMap.setNamedItemNScCs|jgSr*r~r r r rrrrz+ReadOnlySequentialNamedNodeMap.__getstate__cCs|d|_dSr4r~rr r rrrz+ReadOnlySequentialNamedNodeMap.__setstate__N)r )rrrrrrrrrrrr r rr rrr r r rr}s   r}z&Number of entries in the NamedNodeMap.c@s*eZdZ dZddZddZddZdS) IdentifiedpublicIdsystemIdcCrr*r)r rrr r r_identified_mixin_init rz!Identified._identified_mixin_initcCr/r*)rr r r r _get_publicIdr2zIdentified._get_publicIdcCr/r*)rr r r r _get_systemIdr2zIdentified._get_systemIdN)rrrrrrrr r r rrs  rc@sHeZdZejZdZdZdZdZ dZ ddZ ddZ ddZ d d d ZdS) DocumentTypeNcCs2t|_t|_|rt|\}}||_|j|_dSr*)r}entities notationsr&rr)r r(rr)r r rrs   zDocumentType.__init__cCr/r*)internalSubsetr r r r_get_internalSubset'r2z DocumentType._get_internalSubsetcCs|jdurstd}|j|_|j|_tjjj}|rjg|j_ g|j _ |j j D]}t |j|j |j }|j j |||||q$|jj D]'}t|j|j |j |j}|j|_|j|_|j|_|jj |||||qB|||||SdSr*)rbrrrr@rAUserDataHandler NODE_CLONEDrrrNotationrrr\rEntity notationNameactualEncodingrrj)r rcclonerrnotationeentityr r rrd*s0    zDocumentType.cloneNodercCs|d||j|jr|d||j||jfn |jr)|d||jf|jdur>|d||j|d|d|dS)Nz orzEntity.insertBeforecCr)Nz*cannot remove children from an entity noderrXr r rrEsrzEntity.removeChildcCr)Nz)cannot replace children of an entity noderrKr r rrVwrzEntity.replaceChild)rrrrr Z ENTITY_NODEr!rrrrjrrrrrFr>rErVr r r rrSs rc@seZdZejZdZddZdS)rNcCs||_|||dSr*)rr)r rrrr r rrszNotation.__init__)rrrr rr!rrr r r rr{s rc@s<eZdZgdZddZddZddZdd Zd d Zd S) DOMImplementation))core1.0)r2.0)rN)r@r)r@r)r@N)ls-loadz3.0)rNcCs|dkrd}||f|jvSr)lower _featuresrhr r rrgszDOMImplementation.hasFeaturec Cs|r |jdur tjd|}|duo|duo|du }|s(|r(tjd|rZt|\}}|dkr>|dkr>tjd|rH|sHtjd|||}|rU| || ||rb||_|_ ||_ ||_ |S)Nz(doctype object owned by another DOM treezElement with no namer@z$http://www.w3.org/XML/1998/namespacezillegal use of 'xml' prefixz(illegal use of prefix without namespaces) rDr@rAWrongDocumentErr_create_documentZInvalidCharacterErrr&rcreateElementNSrFrbdoctyperf) r rr(rrZadd_root_elementrr)rDr r rcreateDocuments<       z DOMImplementation.createDocumentcCst|}||_||_|Sr*)rrr)r r(rrrr r rcreateDocumentTypez$DOMImplementation.createDocumentTypecCrsr*)rgrtr r rrurvzDOMImplementation.getInterfacecCstSr*)Documentr r r rrr2z"DOMImplementation._create_documentN) rrrrrgrrrurr r r rrs - rc@sZeZdZ dZddZddZddZdd Zd d Zd d Z ddZ ddZ ddZ dS) ElementInforcCrQr*rrr r rrr.zElementInfo.__init__cCtSr*rr Zanamer r rrrzElementInfo.getAttributeTypecCrr*rrr r rrrzElementInfo.getAttributeTypeNScCr r0r r r r rrurzElementInfo.isElementContentcC dSr0r r r r risEmptyszElementInfo.isEmptycCrr0r rr r rrzElementInfo.isIdcCrr0r rr r rrrzElementInfo.isIdNScCr/r*rr r r rrr2zElementInfo.__getstate__cCrQr*rrr r rrr.zElementInfo.__setstate__N) rrrrrrrrurrrrrr r r rrs rcCsB|jtjkr|jd|_dS|jr|jjd|j_dSdSr*)r!r r" _id_cacheclear_id_search_stackrb)rRr r rrKs     rKc@sveZdZdZejejejejfZ e Z ej Z dZdZdZdZdZZdZdZdZdZdZdZdZdZddZdd Zd d Zd d ZddZ ddZ!ddZ"ddZ#ddZ$ddZ%ddZ&ddZ'ddZ(d d!Z)d"d#Z*d$d%Z+d&d'Z,d(d)Z-d*d+Z.d,d-Z/d.d/Z0d0d1Z1d2d3Z2d4d5Z3d6d7Z4d8d9Z5d:d;Z6dd?Z8d@dAZ9dBdCZ:  dIdEdFZ;dGdHZs z+Document.getElementById..r;)rrrrrpopextendr,rrrrrrrrrrr)r rstackresultrRrr r r rgetElementByIdsf              'zDocument.getElementByIdcCst||tSr*r4rr r rr5rzDocument.getElementsByTagNamecCr6r*r7rr r rr8r9zDocument.getElementsByTagNameNScCrr*)rfrgrhr r rrk rzDocument.isSupportedcCs<|jtjkr tjd|jtjkrtjdt|||S)Nzcannot import document nodesz!cannot import document type nodes)r!r r"r@rANotSupportedErrrra)r rRrcr r r importNode s     zDocument.importNoderc Csxg}|r |d|d|dur|d|rdndd|dd|d||jD] }|||||q/dS) Nz encoding="rz standalone="ZyesZnoz)r\rrpr,r#) r r(r&r;r'rrZ declarationsrRr r rr#s zDocument.writexmlcCsF|j|urtjd||jf|jtjtjfvrtjd|t kr[d|vr@| dd\}}|dkr?|tjj kr?tj dn|dkrV|tjj krV|jtjkrVtj dd}|}nd}d}|jtjkru|j }|durt|j}||nd}||_||_||_||_|jtjkr||_|S||_|dur|||r|||S)Nz?cannot rename nodes from other documents; expected %s, found %sz8renameNode() only applies to element and attribute nodesrr;rzillegal use of 'xmlns' prefixz$illegal use of the 'xmlns' attribute)rbr@rArr!r r]rrrrrrrrr,rrrrrrr$r=)r rrrrrrDZis_idr r r renameNode#sb          zDocument.renameNode)rrrNN)=rrrrr r]rrrr?rrfr"r!rrrrDrNrMrrrrjrrrrrrrrrrrrrrrFrErr[rdrrrrrrrrrrrrr5r8rkrr#rr r r rrsn   : rrz#Top-level element of this document.c Cs |j|r tjjj}ntjjj}|jtj krR| |j |j }|j D]}||j |j |j||j |j}|j|_q%|rQ|jD] }t|||}||qCn|jtjkrp|}|ro|jD] }t|||}||qan|jtjkr}||j}n|jtjkr||j}n|jtjkr||j |j}n|jtj!kr|"|j}n|jtj#kr|$|j |j }d|_|j|_n|jtj%kr?tjjj}|j&'|j(|j)|j*}||_|r>g|j+_,g|j-_,|j-j,D]"} t.| j | j)| j*} || _|j-j,/| t0| dr| 1|| | q|j+j,D]1} t2| j | j)| j*| j3} | j4| _4| j5| _5| j6| _6|| _|j+j,/| t0| dr<| 1|| | q n tj7dt8|t0|drV|1||||S)NTrzCannot clone node %s)9rbrqr@rArrZ NODE_IMPORTEDr!r r]rrrrrr*rr'rrr,rarFr<rrYrrZrrrrrNrrrrrrfrrrrrrrrr\rrrrrrrjrrC) rRrcZnewOwnerDocumentrrr rr`rQrrrrr r rra\s                         racCs(|dd}t|dkr|Sd|dfS)Nrr;r)rr)r(Zfieldsr r rr&s   r&cCs0||i|}|\}}||||Sr*)ZgetEventZ expandNoder)funcargskwargsZeventsZtoktypeZrootNoder r r_do_pulldom_parses   rcCsF |dur|sddlm}||Sddlm}t|j|f||dS)Nr expatbuilderpulldom)parserbufsize)xml.domrparserr)filerrrrr r rrs     rcCs@ |durddlm}||Sddlm}t|j|fd|iS)Nrrrr)rr parseStringrr)stringrrrr r rrs    rcCs@|rt|tr t|}|D]\}}tj||sdSqtjSr*)rrrZ_parse_feature_stringrrfrg)Zfeaturesfvr r rgetDOMImplementations   rrr*)5rrr@rrrrZxml.dom.minicompatZxml.dom.xmlbuilderrrrAr r]rrJZ defpropertyrTrrrrrobjectrZ AttributeListrrrr-rErLrWrrtrArzr{r}rrrrrrrKrrar&rrrrr r r rsw  |$  )GU  ><( O*UR