Viewing File: /opt/alt/python35/lib64/python3.5/xml/dom/__pycache__/minidom.cpython-35.opt-2.pyc



]@s+ddlZddlZddlmZmZmZmZddlTddlm	Z	m
Z
ejjj
ejjjfZGdddejjZeeddd	eed
ddeeddd
ddZddZddZddZddZGdddeZGdddeZeedddeedddeeddd Gd!d"d"eZeed#dd$eZGd%d&d&eZeddZGd'd(d(eZeed)dd*eeddd+d,d-ZGd.d/d/ZGd0d1d1eeZ Gd2d3d3eeZ!ee!d#dd4Gd5d6d6e!Z"ee"d7dd8ee"d9dd:d;d<Z#d=d>Z$Gd?d@d@e!Z%GdAdBdBe"Z&GdCdDdDeZ'ee'd#ddEGdFdGdGZ(GdHdIdIe(eeZ)GdJdKdKe(eZ*GdLdMdMe(eeZ+GdNdOdOe	Z,GdPdQdQeZ-dRdSZ.GdTdUdUee
Z/ee/dVddWdXdYZ0dZd[Z1d\d]Z2ddd^d_Z3dd`daZ4ddbdcZ5dS)dN)EMPTY_NAMESPACEEMPTY_PREFIXXMLNS_NAMESPACEdomreg)*)DOMImplementationLS
DocumentLSc@sTeZdZdZdZdZdZdZeZ	ddZ
dddZddddd	Zd
dZ
dd
ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Z dS)2NodeNcCsdS)NT)selfr
r
,/opt/alt/python35/lib64/python3.5/minidom.py__bool__+sz
Node.__bool__cCs|jdd|S)N)toprettyxml)rencodingr
r
rtoxml.sz
Node.toxml	
cCs|dkrtj}n'tjtjd|dddd}|jtjkrp|j|d|||n|j|d|||dkr|jS|j	jSdS)Nrerrorsxmlcharrefreplacenewlinerr)
ioStringIO
TextIOWrapperBytesIOnodeTyper	
DOCUMENT_NODEwritexmlgetvaluedetach)rindentnewlrwriterr
r
rr1s	
zNode.toprettyxmlcCs
t|jS)N)bool
childNodes)rr
r
r
hasChildNodesCszNode.hasChildNodescCs|jS)N)r$)rr
r
r_get_childNodesFszNode._get_childNodescCs|jr|jdSdS)Nr)r$)rr
r
r_get_firstChildIs	zNode._get_firstChildcCs|jr|jdSdS)N)r$)rr
r
r_get_lastChildMs	zNode._get_lastChildcCso|j|jkr@x't|jD]}|j||q"W|S|j|jkrztjjdt	|t	|f|j
dk	r|j
j||dkr|j|ny|jj
|}Wn!tk
rtjjYnX|jtkrt||jj||||_||_|rY|j|d}||_||_n	d|_||_
|S)Nz%s cannot be child of %sr()rDOCUMENT_FRAGMENT_NODEtupler$insertBefore_child_node_typesxmldomHierarchyRequestErrrepr
parentNoderemoveChildappendChildindex
ValueErrorNotFoundErr_nodeTypes_with_children_clear_id_cacheinsertnextSiblingpreviousSibling)rnewChildrefChildcr6noder
r
rr-Qs6	

					zNode.insertBeforecCs|j|jkr=x$t|jD]}|j|q"W|S|j|jkrztjjdt	|t	|fn|jt
krt||jdk	r|jj
|t||d|_|S)Nz%s cannot be child of %s)rr+r,r$r5r.r/r0r1r2r9r:r3r4
_append_childr<)rrAr@r
r
rr5qs	"

	zNode.appendChildcCsz|j|jkr8|j}|j||j||S|j|jkrrtjjdt	|t	|f||krdS|j
dk	r|j
j|y|jj|}Wn!t
k
rtjjYnX||j|<||_
d|_
|jtks|jtkr"t||j|_|j|_d|_d|_|jra||j_|jrv||j_|S)Nz%s cannot be child of %s)rr+r<r4r-r.r/r0r1r2r3r$r6r7r8r9r:r=)rr>oldChildr?r6r
r
rreplaceChilds<	
	

		
				zNode.replaceChildcCsy|jj|Wn!tk
r7tjjYnX|jdk	rV|j|j_|jdk	rt|j|j_d|_|_|jt	krt
|d|_|S)N)r$remover7r/r0r8r<r=rr9r:r3)rrCr
r
rr4s

	zNode.removeChildcCs'g}x|jD]}|jtjkr|jsl|rG|j|d_|jr_|j|j_|jq|r|dj|jkr|d}|j|j|_|j|_|jr||j_|jq|j|q|j||jtj	kr|j
qW||jdd<dS)Nr(r)r)r))r$rr		TEXT_NODEdatar<r=unlinkappendELEMENT_NODE	normalize)rLchildrAr
r
rrKs*		

	

zNode.normalizecCst|||jp|S)N)_clone_node
ownerDocument)rdeepr
r
r	cloneNodeszNode.cloneNodecCs|jjj||S)N)rOimplementation
hasFeature)rfeatureversionr
r
risSupportedszNode.isSupportedcCsdS)Nr
)rr
r
r_get_localNameszNode._get_localNamecCs
||kS)Nr
)rotherr
r
r
isSameNodeszNode.isSameNodecCs|j|dr|SdSdS)N)rV)rrTr
r
rgetInterfaceszNode.getInterfacecCs6y|j|dSWnttfk
r1dSYnXdS)Nr)
_user_dataAttributeErrorKeyError)rkeyr
r
rgetUserDataszNode.getUserDatacCsd}y
|j}Wn!tk
r6i}||_YnX||krQ||d}|dkryd}|dk	r||=n||f||<|S)Nr)r[r\)rr^rGhandlerolddr
r
rsetUserDatas


zNode.setUserDatacCsdt|dr`xNt|jjD]7\}\}}|dk	r%|j|||||q%WdS)Nr[)hasattrlistr[itemshandle)r	operationsrcdstr^rGr`r
r
r_call_user_data_handlers(zNode._call_user_data_handlercCsYd|_|_|jrCx|jD]}|jq#Wt|_d|_d|_dS)N)r3rOr$rHNodeListr=r<)rrMr
r
rrHs		zNode.unlinkcCs|S)Nr
)rr
r
r	__enter__szNode.__enter__cCs|jdS)N)rH)retZevtbr
r
r__exit__sz
Node.__exit__)!__name__
__module____qualname__namespaceURIr3rOr<r=rprefixr
rrr%r&r'r*r-r5rDr4rKrQrVrWrYrZr_rcrkrHrmrpr
r
r
rr	"s:  
r	
firstChilddoczFirst child node, or None.	lastChildzLast child node, or None.	localNamez"Namespace-local name of this node.cCsE|j}|r+|d}||_||_|j|||_dS)Nr(r))r$r=r<rIr3)rrAr$Zlastr
r
rrBs	
		
rBcCs6x/|dk	r1|jtjkr%dS|j}qWdS)NTF)rr	rr3)rAr
r
r_in_document&s

rzcCsM|rI|jddjddjddjdd}|j|dS)	N&z&amp;<z&lt;"z&quot;>z&gt;)replacewrite)r"rGr
r
r_write_data.srcCsbx[|jD]P}|jtjkrJ|dks=|j|krJ|j|t|||q
W|S)Nr)r$rr	rJtagNamerI_get_elements_by_tagName_helper)parentnamercrAr
r
rr5s
rcCsxy|jD]n}|jtjkr
|dks=|j|kre|dksX|j|kre|j|t||||q
W|S)Nr)r$rr	rJryrtrI"_get_elements_by_tagName_ns_helper)rZnsURIryrrAr
r
rr=s
rc@smeZdZejZdZdZdZdZ	ej
ejejej
ejejejfZddZdS)DocumentFragmentz#document-fragmentNcCst|_dS)N)rlr$)rr
r
r__init__TszDocumentFragment.__init__)rqrrrsr	r+rnodeName	nodeValue
attributesr3rJrFCDATA_SECTION_NODEENTITY_REFERENCE_NODEPROCESSING_INSTRUCTION_NODECOMMENT_NODE
NOTATION_NODEr.rr
r
r
rrFs	rc@seZdZd#ZejZd	Zd
Zd
Z	ej
ejfZe
d	d	ddZd
dZddZddZddZeeeZZddZddZeeeZZddZddZeeeZddZdd Zd!d"Zd	S)$Attr_name_valuert_prefixr$
_localNamerOownerElementNFcCsGd|_||_||_||_t|_|jjtdS)N)rrrtrrlr$rIText)rqNamertryrur
r
rrbs				z
Attr.__init__cCs;y|jSWn)tk
r6|jjdddSYnXdS)N:r(r))rr\rsplit)rr
r
rrWos
zAttr._get_localNamecCs|jS)N)	specified)rr
r
r_get_specifieduszAttr._get_specifiedcCs|jS)N)r)rr
r
r	_get_namexszAttr._get_namecCs)||_|jdk	r%t|jdS)N)rrr:)rvaluer
r
r	_set_name{s	zAttr._set_namecCs|jS)N)r)rr
r
r
_get_valueszAttr._get_valuecCsI||_||jd_|jdk	r5t|j||jd_dS)Nr)rr$rGrr:)rrr
r
r
_set_values
	
zAttr._set_valuecCs|jS)N)r)rr
r
r_get_prefixszAttr._get_prefixcCs|j}|dkr9|r9|tkr9tjjd||_|dkrZ|j}nd||jf}|jrt|j||_	dS)Nxmlnsz5illegal use of 'xmlns' prefix for the wrong namespacez%s:%s)
rtrr/r0NamespaceErrrryrr:r)rruZnsuriZnewNamer
r
r_set_prefixs					
zAttr._set_prefixcCs|j}|dk	rk|j|j=|j|j|jf=|jrkd|_|jd8_|jj	d8_	x|j
D]}|jquW|j
dd=dS)NFr()r_attrsr_attrsNSrtry_is_id_magic_id_nodesrO_magic_id_countr$rH)relemrMr
r
rrHs	
		zAttr.unlinkcCs|jr
dS|j}|j}|dks7|dkr;dS|j|}|dkrZdS|jry|j|j|jS|j|jSdS)NTF)	rrOr_get_elem_infortisIdNSryisIdr)rrwrinfor
r
r	_get_isIds				zAttr._get_isIdcCs|j}|j}|dks*|dkr.tS|j|}|dkrMtS|jrl|j|j|jS|j|jSdS)N)	rOr_no_typerrtgetAttributeTypeNSrygetAttributeTyper)rrwrrr
r
r_get_schemaTypes			zAttr._get_schemaType)rrrtrr$rrOr) rqrrrs	__slots__r	ATTRIBUTE_NODErrrrrFrr.rrrWrrrpropertyrrrrrrrrrurHrrr
r
r
rrXs.	rrz True if this attribute is an ID.z'Namespace-local name of this attribute.
schemaTypezSchema type for this attribute.c@sceZdZd;ZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZdddZ
eZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:ZdS)<NamedNodeMaprr
_ownerElementcCs||_||_||_dS)N)rrr)rattrsZattrsNSrr
r
rrs		zNamedNodeMap.__init__cCs
t|jS)N)lenr)rr
r
r_get_lengthszNamedNodeMap._get_lengthcCs<y|t|jj|SWntk
r7dSYnXdS)N)rerkeys
IndexError)rr6r
r
ritems
zNamedNodeMap.itemcCs=g}x0|jjD]}|j|j|jfqW|S)N)rvaluesrIrr)rrLrAr
r
rrfszNamedNodeMap.itemscCsFg}x9|jjD](}|j|j|jf|jfqW|S)N)rrrIrtryr)rrLrAr
r
ritemsNSs&zNamedNodeMap.itemsNScCs-t|tr||jkS||jkSdS)N)
isinstancestrrr)rr^r
r
r__contains__s
zNamedNodeMap.__contains__cCs
|jjS)N)rr)rr
r
rrszNamedNodeMap.keyscCs
|jjS)N)rr)rr
r
rkeysNSszNamedNodeMap.keysNScCs
|jjS)N)rr)rr
r
rrszNamedNodeMap.valuesNcCs|jj||S)N)rget)rrrr
r
rr
szNamedNodeMap.getcCsO|jt|ddkrdSt|t|kt|t|kSdS)Nrr)rgetattrid)rrXr
r
r_cmpszNamedNodeMap._cmpcCs|j|dkS)Nr)r)rrXr
r
r__eq__szNamedNodeMap.__eq__cCs|j|dkS)Nr)r)rrXr
r
r__ge__szNamedNodeMap.__ge__cCs|j|dkS)Nr)r)rrXr
r
r__gt__szNamedNodeMap.__gt__cCs|j|dkS)Nr)r)rrXr
r
r__le__szNamedNodeMap.__le__cCs|j|dkS)Nr)r)rrXr
r
r__lt__!szNamedNodeMap.__lt__cCs)t|tr|j|S|j|SdS)N)rr,rr)rattname_or_tupler
r
r__getitem__$szNamedNodeMap.__getitem__cCst|triy|j|}Wn:tk
r\t|}|jj|_|j|YnX||_n.t|tst	d|}|j|dS)Nz%value must be a string or Attr object)
rrrr]rrrOsetNamedItemr	TypeError)rattnamerrAr
r
r__setitem__+s
zNamedNodeMap.__setitem__cCs,y|j|SWntk
r'dSYnXdS)N)rr])rrr
r
rgetNamedItem:s
zNamedNodeMap.getNamedItemcCs2y|j||fSWntk
r-dSYnXdS)N)rr])rrtryr
r
rgetNamedItemNS@s
zNamedNodeMap.getNamedItemNScCsz|j|}|dk	rgt|j|j|j=|j|j|jf=t|drcd|_	|St
jjdS)Nr)
rr:rrrrrtryrdrr/r0r8)rrnr
r
rremoveNamedItemFs

	zNamedNodeMap.removeNamedItemcCs}|j||}|dk	rjt|j|j|j|jf=|j|j=t|drfd|_	|St
jjdS)Nr)
rr:rrrtryrrrdrr/r0r8)rrtryrr
r
rremoveNamedItemNSRs

	zNamedNodeMap.removeNamedItemNScCst|ts7tjjdt|t|f|jj|j}|r\|j	||j|j<||j
|j|jf<|j
|_t|j|S)Nz%s cannot be child of %s)rrr/r0r1r2rrrrHrrtryrrr:)rrArar
r
rr^s	

zNamedNodeMap.setNamedItemcCs
|j|S)N)r)rrAr
r
rsetNamedItemNSkszNamedNodeMap.setNamedItemNScCs%||}t|j|jdS)N)r:rrH)rrrAr
r
r__delitem__ns

zNamedNodeMap.__delitem__cCs|j|j|jfS)N)rrr)rr
r
r__getstate__sszNamedNodeMap.__getstate__cCs|\|_|_|_dS)N)rrr)rstater
r
r__setstate__vszNamedNodeMap.__setstate__)rrr) rqrrrsrrrrrfrrrrrr__len__rrrrrrrrrrrrrrrrrr
r
r
rrs:	
rlengthz$Number of nodes in the NamedNodeMap.c@sFeZdZdZddZddZddZd	d
ZdS)
TypeInfo	namespacercCs||_||_dS)N)rr)rrrr
r
rrs	zTypeInfo.__init__cCsA|jr&d|jj|j|jfSd|jj|jfSdS)Nz<%s %r (from %r)>z<%s %r>)r	__class__rqr)rr
r
r__repr__s	zTypeInfo.__repr__cCs|jS)N)r)rr
r
rrszTypeInfo._get_namecCs|jS)N)r)rr
r
r_get_namespaceszTypeInfo._get_namespaceN)rr)rqrrrsrrrrrr
r
r
rrs
rc@seZdZdDZejZd
ZeZ	dZ
ejejejej
ejejfZed
d
ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&ZeZd'd(Zd)d*Z d+d,Z!e!Z"d-d.Z#d/d0Z$d1d2Z%d3d4Z&d5d6Z'd7d7d7d8d9Z(d:d;Z)d<d=Z*d>d?Z+d@dAZ,dBdCZ-d
S)EElementrOr3rrrurtrr$rrr<r=NrcCs]d|_||_|_||_||_t|_d|_|_d|_	d|_
dS)N)r3rrrurtrlr$r<r=rr)rrrtruryr
r
rrs			
	zElement.__init__cCs%|jdkr!i|_i|_dS)N)rr)rr
r
r_ensure_attributess	zElement._ensure_attributescCs;y|jSWn)tk
r6|jjdddSYnXdS)Nrr(r))rr\rr)rr
r
rrWs
zElement._get_localNamecCs|jS)N)r)rr
r
r_get_tagNameszElement._get_tagNamecCs\|jdk	r9x't|jjD]}|jq%Wd|_d|_tj|dS)N)rrerrHrr	)rattrr
r
rrHs		zElement.unlinkcCsB|jdkrdSy|j|jSWntk
r=dSYnXdS)Nr)rrr])rrr
r
rgetAttributes
zElement.getAttributecCsH|jdkrdSy|j||fjSWntk
rCdSYnXdS)Nr)rrr])rrtryr
r
rgetAttributeNSs
zElement.getAttributeNScCs{|j|}|dkrLt|}||_|j|_|j|n+||jkrw||_|jrwt|dS)N)getAttributeNoderrrOsetAttributeNoderr:)rrrrr
r
rsetAttributes			zElement.setAttributecCst|\}}|j||}|dkrjt||||}||_|j|_|j|nL||jkr||_|jrt||j|kr||_||_	dS)N)
_nssplitgetAttributeNodeNSrrrOrrr:rur)rrt
qualifiedNamerru	localnamerr
r
rsetAttributeNSs			
	zElement.setAttributeNScCs#|jdkrdS|jj|S)N)rr)rZattrnamer
r
rrszElement.getAttributeNodecCs)|jdkrdS|jj||fS)N)rr)rrtryr
r
rrszElement.getAttributeNodeNScCs|jd|fkr'tjjd|j|jj|jd}|dk	rb|j||j	j|j
|jfd}|dk	r||k	r|j|t||||k	r|S||k	r|SdS)Nzattribute node already owned)
rr/r0ZInuseAttributeErrrrrrremoveAttributeNoderrtry_set_attribute_node)rrZold1Zold2r
r
rrs

!

zElement.setAttributeNodecCsd|jdkrtjjy|j|}Wn!tk
rRtjjYnX|j|dS)N)rr/r0r8rr]r)rrrr
r
rremoveAttributes
zElement.removeAttributecCsj|jdkrtjjy|j||f}Wn!tk
rXtjjYnX|j|dS)N)rr/r0r8r]r)rrtryrr
r
rremoveAttributeNS%s
zElement.removeAttributeNScCsu|dkrtjjy|j|jWn!tk
rPtjjYnXt||j|j|_dS)N)	r/r0r8rrr]r:rHrO)rrAr
r
rr.s


zElement.removeAttributeNodecCs |jdkrdS||jkS)NF)r)rrr
r
rhasAttribute=szElement.hasAttributecCs&|jdkrdS||f|jkS)NF)r)rrtryr
r
rhasAttributeNSBszElement.hasAttributeNScCst||tS)N)rrl)rrr
r
rgetElementsByTagNameGszElement.getElementsByTagNamecCst|||tS)N)rrl)rrtryr
r
rgetElementsByTagNameNSJszElement.getElementsByTagNameNScCsd|jt|fS)Nz<DOM Element: %s at %#x>)rr)rr
r
rrNszElement.__repr__rc	CsW|j|d|j|j}t|j}x@|D]8}|jd|t|||j|jdq=W|jrB|jdt|jdkr|jdj	t
jkr|jdj|dddnH|j|x+|jD] }|j|||||qW|j||jd|j|fn|jd	|dS)
Nr|z %s="r}r~r(rrz</%s>%sz/>%s)
rr_get_attributessortedrrrr$rrr	rFr)	rr"r 	addindentr!rZa_namesZa_namerAr
r
rrQs$
	
 

zElement.writexmlcCs |jt|j|j|S)N)rrrr)rr
r
rrls
zElement._get_attributescCs|jr
dSdSdS)NTF)r)rr
r
r
hasAttributesps	zElement.hasAttributescCs |j|}|j|dS)N)rsetIdAttributeNode)rridAttrr
r
rsetIdAttributexszElement.setIdAttributecCs#|j||}|j|dS)N)rr)rrtryrr
r
rsetIdAttributeNS|szElement.setIdAttributeNScCs|dks|j|jr.tjjt|dk	rOtjj|jsd|_|jd7_|j	j
d7_
t|dS)NTr()rYrr/r0r8_get_containing_entrefNoModificationAllowedErrrrrOrr:)rrr
r
rrs		zElement.setIdAttributeNode)rOr3rrrurtrr$rrr<r=).rqrrrsrr	rJrrrrrrrrFrrr.rrrrWrrHrrrrrrrZsetAttributeNodeNSrrrZremoveAttributeNodeNSrrrrrrrrrrrr
r
r
rrsT			
rrz*NamedNodeMap of attributes on the element.z%Namespace-local name of this element.cCsJt||j||j|j<||j|j|jf<||_dS)N)r:rrrrrtryr)elementrr
r
rrs


rc@seZdZfZdZeZdZdZddZ	ddZ
ddZdd	Zd
dZ
dd
ZddZddZdS)	ChildlessNcCsdS)Nr
)rr
r
rr'szChildless._get_firstChildcCsdS)Nr
)rr
r
rr*szChildless._get_lastChildcCstjj|jddS)Nz nodes cannot have children)r/r0r1r)rrAr
r
rr5s	zChildless.appendChildcCsdS)NFr
)rr
r
rr%szChildless.hasChildNodescCstjj|jddS)Nz nodes do not have children)r/r0r1r)rr>r?r
r
rr-s	zChildless.insertBeforecCstjj|jddS)Nz nodes do not have children)r/r0r8r)rrCr
r
rr4s	zChildless.removeChildcCsdS)Nr
)rr
r
rrKszChildless.normalizecCstjj|jddS)Nz nodes do not have children)r/r0r1r)rr>rCr
r
rrDs	zChildless.replaceChild)rqrrrsrrZ
EmptyNodeListr$rvrxr'r*r5r%r-r4rKrDr
r
r
rr	s	r	c@seZdZejZdZddZddZddZ	e
ee	Zd	d
ZddZ
e
ee
Zd
d
d
ddZdS)ProcessingInstructiontargetrGcCs||_||_dS)N)rrG)rrrGr
r
rrs	zProcessingInstruction.__init__cCs|jS)N)rG)rr
r
r_get_nodeValuesz$ProcessingInstruction._get_nodeValuecCs
||_dS)N)rG)rrr
r
r_set_nodeValuesz$ProcessingInstruction._set_nodeValuecCs|jS)N)r)rr
r
r
_get_nodeNamesz#ProcessingInstruction._get_nodeNamecCs
||_dS)N)r)rrr
r
r
_set_nodeNamesz#ProcessingInstruction._set_nodeNamercCs'|jd||j|j|fdS)Nz
%s<?%s %s?>%s)rrrG)rr"r rr!r
r
rrszProcessingInstruction.writexmlN)rrG)rqrrrsr	rrrrrr
rrrrrrr
r
r
rr
s	r
c@seZdZdZddZdd	ZeZd
dZdd
Ze	eeZ
ZddZddZ
ddZddZddZddZdS)
CharacterData_datarOr3r=r<cCs:d|_|_d|_|_d|_tj|dS)Nr)rOr3r=r<rr	r)rr
r
rrs	zCharacterData.__init__cCs
t|jS)N)rrG)rr
r
rrszCharacterData._get_lengthcCs|jS)N)r)rr
r
r	_get_dataszCharacterData._get_datacCs
||_dS)N)r)rrGr
r
r	_set_dataszCharacterData._set_datacCsK|j}t|dkr$d}nd}d|jj|dd|fS)N
z...rz<DOM %s node "%r%s">r)rGrrrq)rrGZ	dotdotdotr
r
rrs		zCharacterData.__repr__cCsx|dkrtjjd|t|jkrEtjjd|dkrctjjd|j|||S)Nrzoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negative)r/r0IndexSizeErrrrG)roffsetcountr
r
r
substringDataszCharacterData.substringDatacCs|j||_dS)N)rG)rargr
r
r
appendDataszCharacterData.appendDatacCs|dkrtjjd|t|jkrEtjjd|r{d|jd|||j|df|_dS)Nrzoffset cannot be negativez#offset cannot be beyond end of dataz%s%s%s)r/r0rrrG)rrrr
r
r
insertDataszCharacterData.insertDatacCs|dkrtjjd|t|jkrEtjjd|dkrctjjd|r|jd||j||d|_dS)Nrzoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negative)r/r0rrrG)rrrr
r
r
deleteDataszCharacterData.deleteDatacCs|dkrtjjd|t|jkrEtjjd|dkrctjjd|rd|jd|||j||df|_dS)Nrzoffset cannot be negativez#offset cannot be beyond end of datazcount cannot be negativez%s%s%s)r/r0rrrG)rrrrr
r
rreplaceDataszCharacterData.replaceDataN)rrOr3r=r<)rqrrrsrrrrrrrrGrrrrrrrr
r
r
rrs			
rzLength of the string data.c@speZdZfZejZdZdZddZ	dddddZ
dd	Zd
dZdd
Z
dS)rz#textNcCs|dks!|t|jkr3tjjd|j}|j|d|_|j|_|j}|jr||jj	kr|dkr|jj
|n|jj|||jd||_|S)Nrzillegal offset value)rrGr/r0rrrOr<r3r$r5r-)rrZnewTextnextr
r
r	splitText0s!	zText.splitTextrcCs!t|d||j|fdS)Nz%s%s%s)rrG)rr"r rr!r
r
rr?sz
Text.writexmlcCs|jg}|j}xK|dk	rb|jtjtjfkr^|jd|j|j}qPqW|j}xH|dk	r|jtjtjfkr|j|j|j}qoPqoWdj	|S)Nrr)
rGr=rr	rFrr;r<rIjoin)rrLrr
r
r_get_wholeTextDs		zText._get_wholeTextcCs|j}|j}xK|dk	r_|jtjtjfkr[|j}|j||}qPqW|j}|s||j|xK|dk	r|jtjtjfkr|j}|j||}qPqW|r||_|SdSdS)N)	r3r=rr	rFrr4r<rG)rZcontentrrrr
r
rreplaceWholeTextVs*			
		
	
		zText.replaceWholeTextcCs_|jjrdSt|}|dkr/dS|jj|}|dkrQdS|jSdS)NF)rGstrip_get_containing_elementrOrisElementContent)rrrr
r
r!_get_isWhitespaceInElementContentrsz&Text._get_isWhitespaceInElementContent)rqrrrsrr	rFrrrrrr!r"r&r
r
r
rr)s	rZisWhitespaceInElementContentzKTrue iff this text node contains only whitespace and is in element content.Z	wholeTextz.The text of all logically-adjacent text nodes.cCs?|j}x/|dk	r:|jtjkr.|S|j}qWdS)N)r3rr	rJ)rAr@r
r
rr$s	
r$cCs?|j}x/|dk	r:|jtjkr.|S|j}qWdS)N)r3rr	r)rAr@r
r
rrs	
rc@s@eZdZejZdZddZdddddZdS)Commentz#commentcCstj|||_dS)N)rrr)rrGr
r
rrs
zComment.__init__rcCs<d|jkrtd|jd||j|fdS)Nz--z%'--' is not allowed in a comment nodez
%s<!--%s-->%s)rGr7r)rr"r rr!r
r
rrszComment.writexmlN)	rqrrrsr	rrrrrr
r
r
rr's	r'c@s:eZdZfZejZdZdddddZdS)CDATASectionz#cdata-sectionrcCs<|jjddkr$td|jd|jdS)Nz]]>rz$']]>' not allowed in a CDATA sectionz<![CDATA[%s]]>)rGfindr7r)rr"r rr!r
r
rrszCDATASection.writexmlN)	rqrrrsrr	rrrrr
r
r
rr(s	r(c@seZdZdZfddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZddZ
ddZddZddZdS)ReadOnlySequentialNamedNodeMap_seqcCs
||_dS)N)r+)rseqr
r
rrsz'ReadOnlySequentialNamedNodeMap.__init__cCs
t|jS)N)rr+)rr
r
rrsz&ReadOnlySequentialNamedNodeMap.__len__cCs
t|jS)N)rr+)rr
r
rrsz*ReadOnlySequentialNamedNodeMap._get_lengthcCs+x$|jD]}|j|kr
|Sq
WdS)N)r+r)rrrr
r
rrsz+ReadOnlySequentialNamedNodeMap.getNamedItemcCs:x3|jD](}|j|kr
|j|kr
|Sq
WdS)N)r+rtry)rrtryrr
r
rrsz-ReadOnlySequentialNamedNodeMap.getNamedItemNScCsLt|tr!|j|}n|j|}|dkrHt||S)N)rr,rrr])rZ
name_or_tuplerAr
r
rrsz*ReadOnlySequentialNamedNodeMap.__getitem__cCs<|dkrdSy|j|SWntk
r7dSYnXdS)Nr)r+r)rr6r
r
rrs
z#ReadOnlySequentialNamedNodeMap.itemcCstjjddS)Nz"NamedNodeMap instance is read-only)r/r0r)rrr
r
rrs	z.ReadOnlySequentialNamedNodeMap.removeNamedItemcCstjjddS)Nz"NamedNodeMap instance is read-only)r/r0r)rrtryr
r
rrs	z0ReadOnlySequentialNamedNodeMap.removeNamedItemNScCstjjddS)Nz"NamedNodeMap instance is read-only)r/r0r)rrAr
r
rrs	z+ReadOnlySequentialNamedNodeMap.setNamedItemcCstjjddS)Nz"NamedNodeMap instance is read-only)r/r0r)rrAr
r
rrs	z-ReadOnlySequentialNamedNodeMap.setNamedItemNScCs
|jgS)N)r+)rr
r
rrsz+ReadOnlySequentialNamedNodeMap.__getstate__cCs|d|_dS)Nr)r+)rrr
r
rrsz+ReadOnlySequentialNamedNodeMap.__setstate__N)r+)rqrrrsrrrrrrrrrrrrrrr
r
r
rr*s	r*z&Number of entries in the NamedNodeMap.c@s:eZdZd
ZddZddZddZd	S)
IdentifiedpublicIdsystemIdcCs||_||_dS)N)r.r/)rr.r/r
r
r_identified_mixin_inits	z!Identified._identified_mixin_initcCs|jS)N)r.)rr
r
r
_get_publicIdszIdentified._get_publicIdcCs|jS)N)r/)rr
r
r
_get_systemIdszIdentified._get_systemIdN)r.r/)rqrrrsrr0r1r2r
r
r
rr-sr-c@speZdZejZdZdZdZdZ	dZ
ddZddZddZ
dddd	d
ZdS)DocumentTypeNcCsIt|_t|_|r9t|\}}||_|j|_dS)N)r*entities	notationsrrr)rrrurr
r
rr	s	zDocumentType.__init__cCs|jS)N)internalSubset)rr
r
r_get_internalSubsetsz DocumentType._get_internalSubsetcCsY|jdkrQtd}|j|_|j|_tjjj}|r:g|j_	g|j
_	xU|j
j	D]G}t|j|j|j
}|j
j	j||j|||qmWx|jj	D]q}t|j|j|j
|j}|j|_|j|_|j|_|jj	j||j|||qW|j||||SdSdS)N)rOr3rrr/r0UserDataHandlerNODE_CLONEDr4r+r5Notationr.r/rIrkEntitynotationNameactualEncodingrrU)rrPclonerhrnotationeentityr
r
rrQs.zDocumentType.cloneNodercCs|jd|j|j|jrL|jd||j||jfn#|jro|jd||jf|jdk	r|jd|j|j|jd|jd|dS)Nz
<!DOCTYPE z%s  PUBLIC '%s'%s  '%s'z%s  SYSTEM '%s'z []r~)rrr.r/r6)rr"r rr!r
r
rr/s
			

zDocumentType.writexml)rqrrrsr	DOCUMENT_TYPE_NODErrrr.r/r6rr7rQrr
r
r
rr3s	r3c@seZdZdZejZdZdZdZ	dZ
ddZddZddZ
dd	Zd
dZdd
ZddZddZdS)r;NcCs2||_||_t|_|j||dS)N)rr<rlr$r0)rrr.r/r?r
r
rrFs		zEntity.__init__cCs|jS)N)r=)rr
r
r_get_actualEncodingLszEntity._get_actualEncodingcCs|jS)N)r)rr
r
r
_get_encodingOszEntity._get_encodingcCs|jS)N)rU)rr
r
r_get_versionRszEntity._get_versioncCstjjddS)Nz(cannot append children to an entity node)r/r0r1)rr>r
r
rr5Us	zEntity.appendChildcCstjjddS)Nz+cannot insert children below an entity node)r/r0r1)rr>r?r
r
rr-Ys	zEntity.insertBeforecCstjjddS)Nz*cannot remove children from an entity node)r/r0r1)rrCr
r
rr4]s	zEntity.removeChildcCstjjddS)Nz)cannot replace children of an entity node)r/r0r1)rr>rCr
r
rrDas	zEntity.replaceChild)rqrrrsrr	ZENTITY_NODErrr=rrUrrDrErFr5r-r4rDr
r
r
rr;=s	r;c@s+eZdZejZdZddZdS)r:NcCs||_|j||dS)N)rr0)rrr.r/r
r
rris	zNotation.__init__)rqrrrsr	rrrrr
r
r
rr:es	r:c	@sjeZdZddddddddgZdd	Zd
dZdd
ZddZddZdS)DOMImplementationcore1.02.0Nr/ls-load3.0cCs+|dkrd}|j|f|jkS)Nr)lower	_features)rrTrUr
r
rrSyszDOMImplementation.hasFeaturec	Cs6|r'|jdk	r'tjjd|j}|dkoT|dkoT|dk}|rw|rwtjjd|r
t|\}}|dkr|dkrtjjd|r|rtjjd|j||}|r|j	||j	||r ||_|_
||_||_|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)
r3r/r0WrongDocumentErr_create_documentZInvalidCharacterErrrrcreateElementNSr5rOdoctyperR)	rrtrrRrwZadd_root_elementrurrr
r
rcreateDocument~s4		



		

		z DOMImplementation.createDocumentcCs"t|}||_||_|S)N)r3r.r/)rrr.r/rRr
r
rcreateDocumentTypes		z$DOMImplementation.createDocumentTypecCs|j|dr|SdSdS)N)rS)rrTr
r
rrZszDOMImplementation.getInterfacecCstS)N)Document)rr
r
rrPsz"DOMImplementation._create_document)rHrI)rHrJ)rHN)r/rI)r/rJ)r/N)rKrL)rKN)	rqrrrsrNrSrSrTrZrPr
r
r
rrGns	-rGc@seZdZdZddZddZddZdd	Zd
dZdd
Z	ddZ
ddZddZdS)ElementInforcCs
||_dS)N)r)rrr
r
rrszElementInfo.__init__cCstS)N)r)ranamer
r
rrszElementInfo.getAttributeTypecCstS)N)r)rrtryr
r
rrszElementInfo.getAttributeTypeNScCsdS)NFr
)rr
r
rr%szElementInfo.isElementContentcCsdS)NFr
)rr
r
risEmptyszElementInfo.isEmptycCsdS)NFr
)rrWr
r
rrszElementInfo.isIdcCsdS)NFr
)rrtryr
r
rrszElementInfo.isIdNScCs|jS)N)r)rr
r
rrszElementInfo.__getstate__cCs
||_dS)N)r)rrr
r
rrszElementInfo.__setstate__N)r)
rqrrrsrrrrr%rXrrrrr
r
r
rrVs	rVcCsW|jtjkr+|jjd|_n(t|rS|jjjd|j_dS)N)rr	r	_id_cacheclear_id_search_stackrzrO)rAr
r
rr:s
r:c@s0eZdZdMZejejejejfZ	e
ZejZ
dZdZdZdZdZZdZdZdZdZdZdZdZd	Zd
dZdd
ZddZddZddZ 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/Z.d0d1Z/d2d3Z0d4d5Z1d6d7Z2d8d9Z3d:d;Z4d<d=Z5d>d?Z6d@dAZ7dBdCZ8dDdEZ9dFdGZ:dHdHdHddIdJZ;dKdLZ<dS)NrU
_elem_inforRr[r$rYz	#documentNFrcCs4d|_t|_i|_i|_d|_dS)N)rRrlr$r\rYr[)rr
r
rr
s
			zDocument.__init__cCs7|jr|j|jf}n	|j}|jj|S)N)rtryrr\r)rrr^r
r
rrs		zDocument._get_elem_infocCs|jS)N)r=)rr
r
rrDszDocument._get_actualEncodingcCs|jS)N)rR)rr
r
r_get_doctypeszDocument._get_doctypecCs|jS)N)documentURI)rr
r
r_get_documentURI szDocument._get_documentURIcCs|jS)N)r)rr
r
rrE#szDocument._get_encodingcCs|jS)N)errorHandler)rr
r
r_get_errorHandler&szDocument._get_errorHandlercCs|jS)N)
standalone)rr
r
r_get_standalone)szDocument._get_standalonecCs|jS)N)strictErrorChecking)rr
r
r_get_strictErrorChecking,sz!Document._get_strictErrorCheckingcCs|jS)N)rU)rr
r
rrF/szDocument._get_versioncCs|j|jkr:tjjdt|t|f|jdk	rY|jj||jtj	kr|j
rtjjdtj||S)Nz%s cannot be child of %sz two document elements disallowed)rr.r/r0r1r2r3r4r	rJ_get_documentElementr5)rrAr
r
rr52s			zDocument.appendChildcCsmy|jj|Wn!tk
r7tjjYnXd|_|_d|_|j	|krid|_	|S)N)
r$rEr7r/r0r8r<r=r3documentElement)rrCr
r
rr4Bs
		zDocument.removeChildcCs.x'|jD]}|jtjkr
|Sq
WdS)N)r$rr	rJ)rrAr
r
rrfNszDocument._get_documentElementcCs6|jdk	r%|jjd|_tj|dS)N)rRrHr	)rr
r
rrHSs
	zDocument.unlinkcCs|s
dS|jjddd}|j|_|j|_|j|_xl|jD]a}t|||}|jj||jt	j
krn|jt	jkr||_||_
qPW|jtjjj|||S)N)rRrSrrbrUr$rNrIrr	rrCrRr3rkr/r0r8r9)rrPr>rZ
childcloner
r
rrQYs"	

zDocument.cloneNodecCst}||_|S)N)rrO)rrbr
r
rcreateDocumentFragmentns		zDocument.createDocumentFragmentcCst|}||_|S)N)rrO)rrr@r
r
r
createElementss	zDocument.createElementcCs:t|tstdt}||_||_|S)Nznode contents must be a string)rrrrrGrO)rrGtr
r
rcreateTextNodexs			zDocument.createTextNodecCs:t|tstdt}||_||_|S)Nznode contents must be a string)rrrr(rGrO)rrGr@r
r
rcreateCDATASections			zDocument.createCDATASectioncCst|}||_|S)N)r'rO)rrGr@r
r
r
createComments	zDocument.createCommentcCst||}||_|S)N)r
rO)rrrGpr
r
rcreateProcessingInstructions	z$Document.createProcessingInstructioncCs"t|}||_d|_|S)Nr)rrOr)rrar
r
rcreateAttributes		zDocument.createAttributecCs1t|\}}t|||}||_|S)N)rrrO)rrtrruryr@r
r
rrQs	zDocument.createElementNScCs=t|\}}t||||}||_d|_|S)Nr)rrrOr)rrtrruryrpr
r
rcreateAttributeNSs
		zDocument.createAttributeNScCs"t||||}||_|S)N)r;rO)rrr.r/r<r@r
r
r_create_entitys	zDocument._create_entitycCst|||}||_|S)N)r:rO)rrr.r/rr
r
r_create_notations	zDocument._create_notationcCs||jkr|j|S|jp)|js0dS|j}|dkr]|jg}||_n
|sgdSd}x|r|j}|jdd|jD|j|}|rxI|j	j
D]}|jr |j|j|j
r||j|j<|j|kr|}q|jsPq|j|jrg||j|j<|j|krZ|}q|jsPq|jr||j|j<|j|kr|}q|jdkrPqWnQ|jrxE|j	j
D]4}|jr||j|j<|j|kr|}qW|dk	rpPqpW|S)NcSs%g|]}|jtkr|qSr
)rr9).0rMr
r
r
<listcomp>s	z+Document.getElementById.<locals>.<listcomp>r()rYr\rr[rgpopextendr$rrrrtrryrrrrr)rrstackresultrArrr
r
rgetElementByIdsZ											
zDocument.getElementByIdcCst||tS)N)rrl)rrr
r
rrszDocument.getElementsByTagNamecCst|||tS)N)rrl)rrtryr
r
rrszDocument.getElementsByTagNameNScCs|jj||S)N)rRrS)rrTrUr
r
rrVszDocument.isSupportedcCs[|jtjkr'tjjdn$|jtjkrKtjjdt|||S)Nzcannot import document nodesz!cannot import document type nodes)rr	rr/r0NotSupportedErrrCrN)rrArPr
r
r
importNodes
zDocument.importNodercCse|dkr |jd|n|jd||fx'|jD]}|j||||qAWdS)Nz<?xml version="1.0" ?>z%<?xml version="1.0" encoding="%s"?>%s)rr$r)rr"r rr!rrAr
r
rrs	zDocument.writexmlcCs|j|k	r.tjjd||jf|jtjtjfkr[tjjd|t	krd|kr|j
dd\}}|dkr|tjjkrtjjdq|dkr|tjjkr|jtjkrtjjdd}|}nd}d}|jtjkr[|j
}|dk	ra|j}|j|nd}||_||_||_||_|jtjkr||_n5||_|dk	r|j||r|j||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)rOr/r0rOrr	rJrr|rrrrrrrrurrtrrrrr)rrrtrruryrZis_idr
r
r
renameNodesR														

zDocument.renameNode)r\rRr[r$rY)=rqrrrsrr	rJrrrCr.rGrRrrrrrr3r=r<r=rrbrUrdr`r^rrrrDr]r_rErarcrerFr5r4rfrHrQrhrirkrlrmrorqrQrrrsrtr{rrrVr}rr~r
r
r
rrUsh		
	
:rUrgz#Top-level element of this document.c
Cs|jj|r$tjjj}ntjjj}|jtj	kr|j
|j|j}xW|j
jD]F}|j|j|j|j|j|j|j}|j|_qmW|rx|jD]%}t|||}|j|qWn|jtjkrM|j}|rx|jD]%}t|||}|j|q!Wnv|jtjkrt|j|j}nO|jtjkr|j|j}n(|jtjkr|j|j |j}n|jtj!kr|j"|j}n|jtj#kr1|j$|j|j}d|_|j|_n|jtj%krtjjj}|j&j'|j(|j)|j*}||_|rg|j+_,g|j-_,xm|j-j,D]_}	t.|	j|	j)|	j*}
||
_|j-j,j/|
t0|	dr|	j1||	|
qWx|j+j,D]}t2|j|j)|j*|j3}|j4|_4|j5|_5|j6|_6||_|j+j,j/|t0|dr|j1||	|qWntjj7dt8|t0|dr|j1||||S)NTrkzCannot clone node %s)9rOrYr/r0r8r9Z
NODE_IMPORTEDrr	rJrQrtrrrrrrryrr$rNr5r+rhrFrkrGrrlrrorrrmrrrrCrRrTrr.r/r4r+r5r:rIrdrkr;r<r=rrUr|r2)
rArPZnewOwnerDocumentrhr>rrprMr@rr?r@rAr
r
rrNAs|					rNcCs:|jdd}t|dkr(|Sd|dfSdS)Nrr(r)rr)rZfieldsr
r
rrsrcCs<|||}|j\}}|j||j|S)N)ZgetEventZ
expandNoderZ)funcargskwargseventsZtoktypeZrootNoder
r
r_do_pulldom_parses


rcCsf|dkr0|r0ddlm}|j|Sddlm}t|j|fd|d|iSdS)Nr)expatbuilder)pulldomparserbufsize)xml.domrparserr)filerrrrr
r
rrs
rcCsY|dkr)ddlm}|j|Sddlm}t|j|fd|iSdS)Nr)r)rr)rrparseStringrr)stringrrrr
r
rrs
rcCs[|rTt|tr$tj|}x-|D]%\}}tjj||s+dSq+WtjS)N)rrrZ_parse_feature_stringrUrRrS)Zfeaturesfvr
r
rgetDOMImplementationsr)6rrr/rrrrZxml.dom.minicompatZxml.dom.xmlbuilderrrr0r	rJrr9ZdefpropertyrBrzrrrrrobjectrZ
AttributeListrrrrr	r
rrr$rr'r(r*r-r3r;r:rGrVr:rUrNrrrrrr
r
r
r<module>s"

	y)GU	><(	O*OR

Back to Directory File Manager