Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/xml/dom/minidom.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^c@sdZddlZddlmZmZmZmZddlTddlm	Z	m
Z
ejjj
ejjjfZdejjfd��YZeedd	d
�eedd	d�eed
d	d�d�Zd�Zd�Zd�Zd�Zdefd��YZdefd��YZeedd	d�eed
d	d�eedd	d�defd��YZeedd	d �eZd!efd"��YZeee�Zd#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"fd1��YZ#ee#d2d	d3�ee#d4d	d5�d6�Z$d7�Z%d8e e"fd9��YZ&d:e#fd;��YZ'd<efd=��YZ(ee(dd	d>�d?fd@��YZ)dAe)e efdB��YZ*dCe)efdD��YZ+dEe)e efdF��YZ,dGe	fdH��YZ-dIefdJ��YZ.dK�Z/dLee
fdM��YZ0ee0dNd	dO�dP�Z1dQ�Z2dR�Z3dS�Z4eedT�Z5edU�Z6edV�Z7dS(WscSimple 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
i�N(tEMPTY_NAMESPACEtEMPTY_PREFIXtXMLNS_NAMESPACEtdomreg(t*(tDOMImplementationLSt
DocumentLStNodecBs�eZdZdZdZdZdZeZ	d�Z
dd�Zdddd�Zd�Z
d�Zd�Zd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCstS(N(tTrue(tself((s%/sys/lib/python2.7/xml/dom/minidom.pyt__nonzero__*scCs|jdd|�S(Nt(ttoprettyxml(R	tencoding((s%/sys/lib/python2.7/xml/dom/minidom.pyttoxml-ss	s
cCs�t�}|dk	r=ddl}|j|�d|�}n|jtjkrk|j|d|||�n|j|d||�|j�S(Ni�iR(	t
_get_StringIOtNonetcodecstlookuptnodeTypeRt
DOCUMENT_NODEtwritexmltgetvalue(R	tindenttnewlR
twriterR((s%/sys/lib/python2.7/xml/dom/minidom.pyR0s	cCs|jr
tStSdS(N(t
childNodesRtFalse(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt
hasChildNodes?s	cCs|jS(N(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_childNodesEscCs|jr|jdSdS(Ni(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_firstChildHs	cCs|jr|jdSdS(Ni�(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_lastChildLs	cCsw|j|jkr@x't|j�D]}|j||�q"W|S|j|jkr}tjjdt	|�t	|�f��n|j
dk	r�|j
j|�n|dkr�|j
|�n�y|jj|�}Wn tk
r�tjj��nX|jtkrt|�n|jj||�||_||_|ra|j|d}||_||_n	d|_||_
|S(Ns%s cannot be child of %si(RtDOCUMENT_FRAGMENT_NODEttupleRtinsertBeforet_child_node_typestxmltdomtHierarchyRequestErrtreprt
parentNodeRtremoveChildtappendChildtindext
ValueErrortNotFoundErrt_nodeTypes_with_childrent_clear_id_cachetinserttnextSiblingtpreviousSibling(R	tnewChildtrefChildtcR+tnode((s%/sys/lib/python2.7/xml/dom/minidom.pyR"Ps6	"

					cCs�|j|jkr=x$t|j�D]}|j|�q"W|S|j|jkrztjjdt	|�t	|�f��n|jt
kr�t|�n|jdk	r�|jj|�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%/sys/lib/python2.7/xml/dom/minidom.pyR*ps	"

	cCs�|j|jkr8|j}|j|�|j||�S|j|jkrutjjdt	|�t	|�f��n||kr�dS|j
dk	r�|j
j|�ny|jj
|�}Wn tk
r�tjj��nX||j|<||_
d|_
|jtks|jtkr*t|�n|j|_|j|_d|_d|_|jrl||j_n|jr�||j_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%/sys/lib/python2.7/xml/dom/minidom.pytreplaceChild�s<	
	"

		
				cCs�y|jj|�Wn tk
r6tjj��nX|jdk	rX|j|j_n|jdk	ry|j|j_nd|_|_|j	t
kr�t|�nd|_|S(N(
RtremoveR,R$R%R-R1RR2RR.R/R((R	R8((s%/sys/lib/python2.7/xml/dom/minidom.pyR)�s

	cCs*g}x|jD]}|jtjkr�jsr|rJ|j|d_n|jre|j|j_n|j�q|r�|dj|jkr�|d}|j|j|_|j|_|jr�||j_n|j�q|j|�q|j|�|jtj	kr|j
�qqW||j(dS(Ni�(RRRt	TEXT_NODEtdataR1R2tunlinktappendtELEMENT_NODEt	normalize(R	tLtchildR6((s%/sys/lib/python2.7/xml/dom/minidom.pyR@�s*		

	

cCst|||jp|�S(N(t_clone_nodet
ownerDocument(R	tdeep((s%/sys/lib/python2.7/xml/dom/minidom.pyt	cloneNode�scCs|jjj||�S(N(RDtimplementationt
hasFeature(R	tfeaturetversion((s%/sys/lib/python2.7/xml/dom/minidom.pytisSupported�scCsdS(N(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_localName�scCs
||kS(N((R	tother((s%/sys/lib/python2.7/xml/dom/minidom.pyt
isSameNode�scCs|j|d�r|SdSdS(N(RKR(R	RI((s%/sys/lib/python2.7/xml/dom/minidom.pytgetInterface�scCs2y|j|dSWnttfk
r-dSXdS(Ni(t
_user_datatAttributeErrortKeyErrorR(R	tkey((s%/sys/lib/python2.7/xml/dom/minidom.pytgetUserData�scCs�d}y
|j}Wn tk
r5i}||_nX||krS||d}n|dkr~d}|dk	r�||=q�n||f||<|S(Ni(RRPRQ(R	RSR<thandlertoldtd((s%/sys/lib/python2.7/xml/dom/minidom.pytsetUserData�s



cCsdt|d�r`xN|jj�D]:\}\}}|dk	r|j|||||�qqWndS(NRP(thasattrRPtitemsRthandle(R	t	operationtsrctdstRSR<RU((s%/sys/lib/python2.7/xml/dom/minidom.pyt_call_user_data_handler�s"cCs\d|_|_|jrFx|jD]}|j�q#Wt�|_nd|_d|_dS(N(RR(RDRR=tNodeListR2R1(R	RB((s%/sys/lib/python2.7/xml/dom/minidom.pyR=s		N(t__name__t
__module__RtnamespaceURIR(RDR1R2RtprefixR
RRRRRRR"R*R9R)R@RFRKRLRNRORTRXR_R=(((s%/sys/lib/python2.7/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.cCsT|j}|r6|d}||jd<||jd<n|j|�||jd<dS(Ni�R2R1R((Rt__dict__R>(R	R6Rtlast((s%/sys/lib/python2.7/xml/dom/minidom.pyR7s	


cCs6x/|dk	r1|jtjkr%tS|j}qWtS(N(RRRRRR(R(R6((s%/sys/lib/python2.7/xml/dom/minidom.pyt_in_documents

cCsP|rL|jdd�jdd�jdd�jdd�}|j|�nd	S(
sWrites datachars to writer.t&s&amp;t<s&lt;s"s&quot;t>s&gt;N(treplacetwrite(RR<((s%/sys/lib/python2.7/xml/dom/minidom.pyt_write_data%scCsex^|jD]S}|jtjkrM|dks=|j|krM|j|�nt|||�q
W|S(NR(RRRR?ttagNameR>t_get_elements_by_tagName_helper(tparenttnametrcR6((s%/sys/lib/python2.7/xml/dom/minidom.pyRs,scCs�x|jD]t}|jtjkr
|dks=|j|krh|dksX|j|krh|j|�nt||||�q
q
W|S(NR(RRRR?RhRcR>t"_get_elements_by_tagName_ns_helper(RttnsURIRhRvR6((s%/sys/lib/python2.7/xml/dom/minidom.pyRw4stDocumentFragmentcBsbeZejZdZdZdZdZ	ej
ejejej
ejejejfZd�ZRS(s#document-fragmentcCst�|_dS(N(R`R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt__init__KsN(RaRbRR RtnodeNameRt	nodeValuet
attributesR(R?R;tCDATA_SECTION_NODEtENTITY_REFERENCE_NODEtPROCESSING_INSTRUCTION_NODEtCOMMENT_NODEt
NOTATION_NODER#Rz(((s%/sys/lib/python2.7/xml/dom/minidom.pyRy=s	tAttrcBs�eZejZd	Zd	ZeZ	eZ
ejejfZ
ed	d	d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(
cCsS|j}||d<|d<||d<||d<t�|d<|jjt��dS(NR{RuRcRdR(RiR`RR>tText(R	tqNameRcRhRdRW((s%/sys/lib/python2.7/xml/dom/minidom.pyRzXs	


cCs|jjdd�dS(Nt:ii�(R{tsplit(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyRLfscCs|jS(N(t	specified(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_specifiediscCs�|j}|dkrk||d<|d<|jdj}||d<|d<|jdk	r�t|j�q�nJ|dkr�||d<|d<|jdk	r�t|j�q�n
|||<dS(	NtvalueR|iR<RuR{(svalues	nodeValue(snamesnodeName(RiRtownerElementRR/(R	RuR�RWtd2((s%/sys/lib/python2.7/xml/dom/minidom.pyt__setattr__ls	cCs�|j}|dkr?|r?|tkr?tjjd��q?n|j}||d<|dkrj|j}nd||jf}|jr�t	|j�n||d<|d<dS(Ntxmlnss5illegal use of 'xmlns' prefix for the wrong namespaceRds%s:%sR{Ru(
RcRR$R%tNamespaceErrRiRRhR�R/(R	RdtnsuriRWtnewName((s%/sys/lib/python2.7/xml/dom/minidom.pyt_set_prefix{s			
	cCsH|j}||d<|d<|jr4t|j�n||jd_dS(NR�R|i(RiR�R/RR<(R	R�RW((s%/sys/lib/python2.7/xml/dom/minidom.pyt
_set_value�s
		cCs�|j}|dk	rq|j|j=|j|j|jf=|jrqt|_|j	d8_	|j
jd8_qqnx|jD]}|j
�q{W|j2dS(Ni(R�Rt_attrsR{t_attrsNSRcRht_is_idRt_magic_id_nodesRDt_magic_id_countRR=(R	telemRB((s%/sys/lib/python2.7/xml/dom/minidom.pyR=�s	
		cCs�|jr
tS|j}|j}|dks7|dkr;tS|j|�}|dkrZtS|jry|j|j|j	�S|j
|j�SdS(N(R�RRDR�RRt_get_elem_infoRctisIdNSRhtisIdR{(R	RfR�tinfo((s%/sys/lib/python2.7/xml/dom/minidom.pyt	_get_isId�s				cCs�|j}|j}|dks*|dkr.tS|j|�}|dkrMtS|jrl|j|j|j�S|j|j	�SdS(N(
RDR�Rt_no_typeR�RctgetAttributeTypeNSRhtgetAttributeTypeR{(R	RfR�R�((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_schemaType�s			N(RaRbRtATTRIBUTE_NODERRR}R�RR�R�R;RR#RRzRLR�R�R�R�R=R�R�(((s%/sys/lib/python2.7/xml/dom/minidom.pyR�Os 	
							R�s True if this attribute is an ID.s'Namespace-local name of this attribute.t
schemaTypesSchema type for this attribute.tNamedNodeMapcBs�eZdZdZd�Zd�Zd�Zd�Zd�Zd	�Z	d
�Z
d�Zd�Zdd
�ZeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(sThe 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.
    R�R�t
_ownerElementcCs||_||_||_dS(N(R�R�R�(R	tattrstattrsNSR�((s%/sys/lib/python2.7/xml/dom/minidom.pyRz�s		cCs
t|j�S(N(tlenR�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_length�scCs2y||jj�|SWntk
r-dSXdS(N(R�tkeyst
IndexErrorR(R	R+((s%/sys/lib/python2.7/xml/dom/minidom.pytitem�s
cCs=g}x0|jj�D]}|j|j|jf�qW|S(N(R�tvaluesR>R{R�(R	RAR6((s%/sys/lib/python2.7/xml/dom/minidom.pyRZ�scCsFg}x9|jj�D](}|j|j|jf|jf�qW|S(N(R�R�R>RcRhR�(R	RAR6((s%/sys/lib/python2.7/xml/dom/minidom.pytitemsNS�s&cCs-t|t�r||jkS||jkSdS(N(t
isinstancetStringTypesR�R�(R	RS((s%/sys/lib/python2.7/xml/dom/minidom.pythas_key�s
cCs
|jj�S(N(R�R�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs
|jj�S(N(R�R�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pytkeysNS�scCs
|jj�S(N(R�R�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs|jj||�S(N(R�tget(R	RuR�((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs<|jt|dd�krdStt|�t|��SdS(NR�i(R�tgetattrRtcmptid(R	RM((s%/sys/lib/python2.7/xml/dom/minidom.pyt__cmp__scCs)t|t�r|j|S|j|SdS(N(R�R!R�R�(R	tattname_or_tuple((s%/sys/lib/python2.7/xml/dom/minidom.pyt__getitem__scCs�t|t�rhy|j|}Wn9tk
r[t|�}|jj|_|j|�nX||_n.t|t�s�t	d�n|}|j|�dS(Ns%value must be a string or Attr object(
R�R�R�RRR�R�RDtsetNamedItemR�t	TypeError(R	tattnameR�R6((s%/sys/lib/python2.7/xml/dom/minidom.pyt__setitem__
s
cCs(y|j|SWntk
r#dSXdS(N(R�RRR(R	Ru((s%/sys/lib/python2.7/xml/dom/minidom.pytgetNamedItems
cCs.y|j||fSWntk
r)dSXdS(N(R�RRR(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pytgetNamedItemNS"s
cCs�|j|�}|dk	rnt|j�|j|j=|j|j|jf=d|j	krjd|j	d<n|St
jj��dS(NR�(
R�RR/R�R�R{R�RcRhRiR$R%R-(R	Rutn((s%/sys/lib/python2.7/xml/dom/minidom.pytremoveNamedItem(s

cCs�|j||�}|dk	rqt|j�|j|j|jf=|j|j=d|j	krmd|j	d<n|St
jj��dS(NR�(
R�RR/R�R�RcRhR�R{RiR$R%R-(R	RcRhR�((s%/sys/lib/python2.7/xml/dom/minidom.pytremoveNamedItemNS4s

cCs�t|t�s:tjjdt|�t|�f��n|jj|j�}|rb|j	�n||j|j<||j
|j|jf<|j
|_t|j�|S(Ns%s cannot be child of %s(R�R�R$R%R&R'R�R�RuR=R�RcRhR�R�R/(R	R6RV((s%/sys/lib/python2.7/xml/dom/minidom.pyR�@s	"

cCs
|j|�S(N(R�(R	R6((s%/sys/lib/python2.7/xml/dom/minidom.pytsetNamedItemNSMscCs%||}t|j�|j�dS(N(R/R�R=(R	R�R6((s%/sys/lib/python2.7/xml/dom/minidom.pyt__delitem__Ps

cCs|j|j|jfS(N(R�R�R�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt__getstate__UscCs|\|_|_|_dS(N(R�R�R�(R	tstate((s%/sys/lib/python2.7/xml/dom/minidom.pyt__setstate__Xs(s_attrss_attrsNSs
_ownerElementN(RaRbt__doc__t	__slots__RzR�R�RZR�R�R�R�R�RR�t__len__t__hash__R�R�R�R�R�R�R�R�R�R�R�R�(((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s4																	
			tlengths$Number of nodes in the NamedNodeMap.tTypeInfocBs2eZdZd�Zd�Zd�Zd�ZRS(t	namespaceRucCs||_||_dS(N(R�Ru(R	R�Ru((s%/sys/lib/python2.7/xml/dom/minidom.pyRzds	cCs,|jrd|j|jfSd|jSdS(Ns<TypeInfo %r (from %r)>s
<TypeInfo %r>(R�Ru(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt__repr__hs	cCs|jS(N(Ru(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt	_get_namenscCs|jS(N(R�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_namespaceqs(s	namespacesname(RaRbR�RzR�R�R�(((s%/sys/lib/python2.7/xml/dom/minidom.pyR�as
			tElementcBsLeZejZdZeZdZ	ejej
ejejej
ejfZeddd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd	�Zd
�Zd�ZeZd�Zd
�Zd�ZeZ d�Z!d�Z"d�Z#d�Z$d�Z%dddd�Z&d�Z'd�Z(d�Z)d�Z*d�Z+RS(icCsD||_|_||_||_t�|_i|_i|_dS(N(RrR{RdRcR`RR�R�(R	RrRcRdRh((s%/sys/lib/python2.7/xml/dom/minidom.pyRz�s			cCs|jjdd�dS(NR�ii�(RrR�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyRL�scCs|jS(N(Rr(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_tagName�scCsGx!|jj�D]}|j�qWd|_d|_tj|�dS(N(R�R�R=RR�R(R	tattr((s%/sys/lib/python2.7/xml/dom/minidom.pyR=�s
		cCs+y|j|jSWntk
r&dSXdS(NR(R�R�RR(R	R�((s%/sys/lib/python2.7/xml/dom/minidom.pytgetAttribute�s
cCs1y|j||fjSWntk
r,dSXdS(NR(R�R�RR(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pytgetAttributeNS�s
cCs�|j|�}|dkr_t|�}|j}||d<|d<|j|d<|j|�nC||jkr�|j}||d<|d<|jr�t|�q�ndS(NR�R|RD(	tgetAttributeNodeRR�RiRDtsetAttributeNodeR�R�R/(R	R�R�R�RW((s%/sys/lib/python2.7/xml/dom/minidom.pytsetAttribute�s	
		cCs�t|�\}}|j||�}|dkr�t||||�}|j}||d<||d<||d<|d<|j|d<|j|�ni|j}||jkr�||d<|d<|jr�t	|�q�n|j
|kr�|d<||d<ndS(NRdR{R�R|RD(t_nssplittgetAttributeNodeNSRR�RiRDR�R�R�R/Rd(R	Rct
qualifiedNameR�Rdt	localnameR�RW((s%/sys/lib/python2.7/xml/dom/minidom.pytsetAttributeNS�s$	


		
cCs|jj|�S(N(R�R�(R	tattrname((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs|jj||f�S(N(R�R�(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs�|jd|fkr*tjjd��n|jj|jd�}|dk	r^|j|�n|j	j|j
|jfd�}|dk	r�||k	r�|j|�nt||�||k	r�|S||k	r�|SdS(Nsattribute node already owned(
R�RR$R%tInuseAttributeErrR�R�RutremoveAttributeNodeR�RcRht_set_attribute_node(R	R�told1told2((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s!
cCsEy|j|}Wn tk
r3tjj��nX|j|�dS(N(R�RRR$R%R-R�(R	RuR�((s%/sys/lib/python2.7/xml/dom/minidom.pytremoveAttribute�s

cCsKy|j||f}Wn tk
r9tjj��nX|j|�dS(N(R�RRR$R%R-R�(R	RcRhR�((s%/sys/lib/python2.7/xml/dom/minidom.pytremoveAttributeNS�s

cCsw|dkrtjj��ny|j|jWn tk
rRtjj��nXt|�|j�|j	|_	dS(N(
RR$R%R-R�RuRRR/R=RD(R	R6((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s


cCs
||jkS(N(R�(R	Ru((s%/sys/lib/python2.7/xml/dom/minidom.pythasAttributescCs||f|jkS(N(R�(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pythasAttributeNSscCst||t��S(N(RsR`(R	Ru((s%/sys/lib/python2.7/xml/dom/minidom.pytgetElementsByTagNamescCst|||t��S(N(RwR`(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pytgetElementsByTagNameNSscCsd|jt|�fS(Ns<DOM Element: %s at %#x>(RrR�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR�sRc	Cs[|j|d|j�|j�}|j�}|j�x@|D]8}|jd|�t|||j�|jd�qAW|jrF|jd�t|j�dkr�jdj	t
jkr�jdj|ddd�nH|j|�x+|jD] }|j|||||�q�j|�|jd|j|f�n|jd	|�dS(
NRms %s="s"RniiRs</%s>%ss/>%s(
RpRrt_get_attributesR�tsortRqR�RR�RRR;R(	R	RRt	addindentRR�ta_namesta_nameR6((s%/sys/lib/python2.7/xml/dom/minidom.pyRs&

	
 

cCst|j|j|�S(N(R�R�R�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR�4scCs|jr
tStSdS(N(R�RR(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt
hasAttributes7s	cCs |j|�}|j|�dS(N(R�tsetIdAttributeNode(R	RutidAttr((s%/sys/lib/python2.7/xml/dom/minidom.pytsetIdAttribute?scCs#|j||�}|j|�dS(N(R�R�(R	RcRhR�((s%/sys/lib/python2.7/xml/dom/minidom.pytsetIdAttributeNSCscCs�|dks|j|j�r1tjj��nt|�dk	rUtjj��n|js�t	|j
d<|jd7_|jj
d7_
t|�ndS(NR�i(RRNR�R$R%R-t_get_containing_entreftNoModificationAllowedErrR�RRiR�RDR�R/(R	R�((s%/sys/lib/python2.7/xml/dom/minidom.pyR�Gs	
N(,RaRbRR?RRR|R�R�R�R�R�R;R~RR#RRzRLR�R=R�R�R�R�R�R�R�tsetAttributeNodeNSR�R�R�tremoveAttributeNodeNSR�R�R�R�R�RR�R�R�R�R�(((s%/sys/lib/python2.7/xml/dom/minidom.pyR�vsL														
									R}s*NamedNodeMap of attributes on the element.s%Namespace-local name of this element.cCsDt|�||j|j<||j|j|jf<||jd<dS(NR�(R/R�RuR�RcRhRi(telementR�((s%/sys/lib/python2.7/xml/dom/minidom.pyR�Xs
t	ChildlesscBsqeZdZd	Ze�Zd	Zd	Zd�Z	d�Z
d�Zd�Zd�Z
d�Zd�Zd�ZRS(
s�Mixin that makes childless-ness easy to implement and avoids
    the complexity of the Node methods that deal with children.
    cCsdS(N(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyRmscCsdS(N(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyRpscCstjj|jd��dS(Ns nodes cannot have children(R$R%R&R{(R	R6((s%/sys/lib/python2.7/xml/dom/minidom.pyR*ss	cCstS(N(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyRwscCstjj|jd��dS(Ns nodes do not have children(R$R%R&R{(R	R3R4((s%/sys/lib/python2.7/xml/dom/minidom.pyR"zs	cCstjj|jd��dS(Ns nodes do not have children(R$R%R-R{(R	R8((s%/sys/lib/python2.7/xml/dom/minidom.pyR)~s	cCsdS(N((R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR@�scCstjj|jd��dS(Ns nodes do not have children(R$R%R&R{(R	R3R8((s%/sys/lib/python2.7/xml/dom/minidom.pyR9�s	N(RaRbR�RR}t
EmptyNodeListRReRgRRR*RR"R)R@R9(((s%/sys/lib/python2.7/xml/dom/minidom.pyR�cs								tProcessingInstructioncBsYeZejZd�Zd�Zd�Zd�Zd�Z	d�Z
dddd�ZRS(cCs$||_|_||_|_dS(N(ttargetR{R<R|(R	R�R<((s%/sys/lib/python2.7/xml/dom/minidom.pyRz�scCs|jS(N(R<(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt	_get_data�scCs|j}||d<|d<dS(NR<R|(Ri(R	R�RW((s%/sys/lib/python2.7/xml/dom/minidom.pyt	_set_data�s	cCs|jS(N(R�(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_target�scCs|j}||d<|d<dS(NR�R{(Ri(R	R�RW((s%/sys/lib/python2.7/xml/dom/minidom.pyt_set_target�s	cCsw|dks|dkr3||jd<|jd<n@|dksK|dkrf||jd<|jd<n
||j|<dS(NR<R|R�R{(Ri(R	RuR�((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s
RcCs'|jd||j|j|f�dS(Ns
%s<?%s %s?>%s(RpR�R<(R	RRR�R((s%/sys/lib/python2.7/xml/dom/minidom.pyR�s(RaRbRR�RRzR�RRRR�R(((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s							t
CharacterDatacBsteZd�ZeZd�Zd�ZeZeZd�Zd�Z	d�Z
d�Zd�Zd�Z
d	�ZRS(
cCs
t|j�S(N(R�R<(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs|jdS(NR<(Ri(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs|j}||d<|d<dS(NR<R|(Ri(R	R<RW((s%/sys/lib/python2.7/xml/dom/minidom.pyR�s	cCsD|dks|dkr3||jd<|jd<n
||j|<dS(NR<R|(Ri(R	RuR�((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCsH|j}t|�dkr$d}nd}d|jj|dd!|fS(Ni
s...Rs<DOM %s node "%r%s">i(R<R�t	__class__Ra(R	R<t	dotdotdot((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s		cCs~|dkr!tjjd��n|t|j�krKtjjd��n|dkrltjjd��n|j|||!S(Nisoffset cannot be negatives#offset cannot be beyond end of datascount cannot be negative(R$R%tIndexSizeErrR�R<(R	toffsettcount((s%/sys/lib/python2.7/xml/dom/minidom.pyt
substringData�scCs|j||_dS(N(R<(R	targ((s%/sys/lib/python2.7/xml/dom/minidom.pyt
appendData�scCs||dkr!tjjd��n|t|j�krKtjjd��n|rxd|j| ||j|f|_ndS(Nisoffset cannot be negatives#offset cannot be beyond end of datas%s%s%s(R$R%RR�R<(R	RR
((s%/sys/lib/python2.7/xml/dom/minidom.pyt
insertData�scCs�|dkr!tjjd��n|t|j�krKtjjd��n|dkrltjjd��n|r�|j| |j|||_ndS(Nisoffset cannot be negatives#offset cannot be beyond end of datascount cannot be negative(R$R%RR�R<(R	RR((s%/sys/lib/python2.7/xml/dom/minidom.pyt
deleteData�scCs�|dkr!tjjd��n|t|j�krKtjjd��n|dkrltjjd��n|r�d|j| ||j||f|_ndS(Nisoffset cannot be negatives#offset cannot be beyond end of datascount cannot be negatives%s%s%s(R$R%RR�R<(R	RRR
((s%/sys/lib/python2.7/xml/dom/minidom.pytreplaceData�s(RaRbR�R�R�Rt_get_nodeValuet_set_nodeValueR�R�R	RRR
R(((s%/sys/lib/python2.7/xml/dom/minidom.pyR�s												
sLength of the string data.R�cBsSeZejZdZdZd�Zdddd�Z	d�Z
d�Zd�ZRS(s#textcCs�|dks!|t|j�kr6tjjd��n|j�}|j||_|j|_|j}|jr�||jj	kr�|dkr�|jj|�q�|jj||�n|j| |_|S(Nisillegal offset value(
R�R<R$R%RRRDR1R(RRR*R"(R	RtnewTexttnext((s%/sys/lib/python2.7/xml/dom/minidom.pyt	splitText�s!	RcCs!t|d||j|f�dS(Ns%s%s%s(RqR<(R	RRR�R((s%/sys/lib/python2.7/xml/dom/minidom.pyR
scCs�|jg}|j}xK|dk	rb|jtjtjfkr^|jd|j�|j}qPqW|j}xH|dk	r�|jtjtjfkr�|j	|j�|j}qoPqoWdj
|�S(NiR(R<R2RRRR;R~R0R1R>tjoin(R	RAR�((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_wholeTexts		cCs�|j}|j}xK|dk	r_|jtjtjfkr[|j}|j|�|}qPqW|j}|s|j|�nxK|dk	r�|jtjtjfkr�|j}|j|�|}q�Pq�W|r�j	}||d<||d<|SdSdS(NR<R|(
R(R2RRRR;R~R)R1Ri(R	tcontentRtR�RRW((s%/sys/lib/python2.7/xml/dom/minidom.pytreplaceWholeText$s.			
			
		

cCs_|jj�rtSt|�}|dkr/tS|jj|�}|dkrQtS|j�SdS(N(R<tstripRt_get_containing_elementRRDR�tisElementContent(R	R�R�((s%/sys/lib/python2.7/xml/dom/minidom.pyt!_get_isWhitespaceInElementContentBsN(
RaRbRR;RR{RR}RRRRR(((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s				tisWhitespaceInElementContentsKTrue iff this text node contains only whitespace and is in element content.t	wholeTexts.The text of all logically-adjacent text nodes.cCs?|j}x/|dk	r:|jtjkr.|S|j}qWdS(N(R(RRRR?(R6R5((s%/sys/lib/python2.7/xml/dom/minidom.pyRUs	
cCs?|j}x/|dk	r:|jtjkr.|S|j}qWdS(N(R(RRRR(R6R5((s%/sys/lib/python2.7/xml/dom/minidom.pyR�]s	
tCommentcBs2eZejZdZd�Zdddd�ZRS(s#commentcCs||_|_dS(N(R<R|(R	R<((s%/sys/lib/python2.7/xml/dom/minidom.pyRzjsRcCs?d|jkrtd��n|jd||j|f�dS(Ns--s%'--' is not allowed in a comment nodes
%s<!--%s-->%s(R<R,Rp(R	RRR�R((s%/sys/lib/python2.7/xml/dom/minidom.pyRms(RaRbRR�RR{RzR(((s%/sys/lib/python2.7/xml/dom/minidom.pyRfs		tCDATASectioncBs)eZejZdZdddd�ZRS(s#cdata-sectionRcCs?|jjd�dkr'td��n|jd|j�dS(Ns]]>is$']]>' not allowed in a CDATA sections<![CDATA[%s]]>(R<tfindR,Rp(R	RRR�R((s%/sys/lib/python2.7/xml/dom/minidom.pyR|s(RaRbRR~RR{R(((s%/sys/lib/python2.7/xml/dom/minidom.pyRss	tReadOnlySequentialNamedNodeMapcBs�eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZRS(t_seqcCs
||_dS(N(R"(R	tseq((s%/sys/lib/python2.7/xml/dom/minidom.pyRz�scCs
t|j�S(N(R�R"(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs
t|j�S(N(R�R"(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs+x$|jD]}|j|kr
|Sq
WdS(N(R"R{(R	RuR�((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs:x3|jD](}|j|kr
|j|kr
|Sq
WdS(N(R"RcRh(R	RcRhR�((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCsLt|t�r!|j|�}n|j|�}|dkrHt|�n|S(N(R�R!R�R�RRR(R	t
name_or_tupleR6((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs8|dkrdSy|j|SWntk
r3dSXdS(Ni(RR"R�(R	R+((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s
cCstjjd��dS(Ns"NamedNodeMap instance is read-only(R$R%R�(R	Ru((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s	cCstjjd��dS(Ns"NamedNodeMap instance is read-only(R$R%R�(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s	cCstjjd��dS(Ns"NamedNodeMap instance is read-only(R$R%R�(R	R6((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s	cCstjjd��dS(Ns"NamedNodeMap instance is read-only(R$R%R�(R	R6((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s	cCs
|jgS(N(R"(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs|d|_dS(Ni(R"(R	R�((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s(s_seq((RaRbR�RzR�R�R�R�R�R�R�R�R�R�R�R�(((s%/sys/lib/python2.7/xml/dom/minidom.pyR!�s												s&Number of entries in the NamedNodeMap.t
IdentifiedcBs)eZdZd�Zd�Zd�ZRS(s@Mix-in class that supports the publicId and systemId attributes.cCs||_||_dS(N(tpublicIdtsystemId(R	R&R'((s%/sys/lib/python2.7/xml/dom/minidom.pyt_identified_mixin_init�s	cCs|jS(N(R&(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt
_get_publicId�scCs|jS(N(R'(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt
_get_systemId�s(RaRbR�R(R)R*(((s%/sys/lib/python2.7/xml/dom/minidom.pyR%�s		tDocumentTypecBs\eZejZdZdZdZdZ	dZ
d�Zd�Zd�Z
dddd�ZRS(cCsLt�|_t�|_|r<t|�\}}||_n|j|_dS(N(R!tentitiest	notationsR�RuR{(R	R�RdR�((s%/sys/lib/python2.7/xml/dom/minidom.pyRz�scCs|jS(N(tinternalSubset(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_internalSubset�scCs\|jdkrTtd�}|j|_|j|_tjjj}|r=g|j	_
g|j_
xU|jj
D]G}t|j|j
|j�}|jj
j|�|j|||�qmWx�|j	j
D]q}t|j|j
|j|j�}|j|_|j|_|j|_|j	j
j|�|j|||�q�Wn|j|||�|SdSdS(N(RDRR+RuR{R$R%tUserDataHandlertNODE_CLONEDR,R"R-tNotationR&R'R>R_tEntitytnotationNametactualEncodingR
RJ(R	REtcloneR\R�tnotationtetentity((s%/sys/lib/python2.7/xml/dom/minidom.pyRF�s.RcCs�|jd�|j|j�|jrL|jd||j||jf�n&|jrr|jd||jf�n|jdk	r�|jd�|j|j�|jd�n|jd|�dS(Ns
<!DOCTYPE s%s  PUBLIC '%s'%s  '%s's%s  SYSTEM '%s's [t]Rn(RpRuR&R'R.R(R	RRR�R((s%/sys/lib/python2.7/xml/dom/minidom.pyRs
			
N(RaRbRtDOCUMENT_TYPE_NODERRR|RuR&R'R.RzR/RFR(((s%/sys/lib/python2.7/xml/dom/minidom.pyR+�s				R3cBsweZdZejZdZdZdZ	dZ
d�Zd�Zd�Z
d�Zd�Zd�Zd�Zd�ZRS(	cCs2||_||_t�|_|j||�dS(N(R{R4R`RR((R	RuR&R'R7((s%/sys/lib/python2.7/xml/dom/minidom.pyRzs		cCs|jS(N(R5(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_actualEncodingscCs|jS(N(R
(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt
_get_encoding"scCs|jS(N(RJ(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_version%scCstjjd��dS(Ns(cannot append children to an entity node(R$R%R&(R	R3((s%/sys/lib/python2.7/xml/dom/minidom.pyR*(s	cCstjjd��dS(Ns+cannot insert children below an entity node(R$R%R&(R	R3R4((s%/sys/lib/python2.7/xml/dom/minidom.pyR",s	cCstjjd��dS(Ns*cannot remove children from an entity node(R$R%R&(R	R8((s%/sys/lib/python2.7/xml/dom/minidom.pyR)0s	cCstjjd��dS(Ns)cannot replace children of an entity node(R$R%R&(R	R3R8((s%/sys/lib/python2.7/xml/dom/minidom.pyR94s	N(RaRbRR}RtENTITY_NODERR|R5R
RJRzR<R=R>R*R"R)R9(((s%/sys/lib/python2.7/xml/dom/minidom.pyR3s								R2cBs eZejZdZd�ZRS(cCs||_|j||�dS(N(R{R((R	RuR&R'((s%/sys/lib/python2.7/xml/dom/minidom.pyRz<s	N(RaRbRR�RRR|Rz(((s%/sys/lib/python2.7/xml/dom/minidom.pyR28s	tDOMImplementationc	BsSeZddddddddgZd�Zd�Zd�Zd	�Zd
�ZRS(tcores1.0s2.0R$sls-loads3.0cCs.|dkrd}n|j�|f|jkS(NR(Rtlowert	_features(R	RIRJ((s%/sys/lib/python2.7/xml/dom/minidom.pyRHLs	c	CsK|r*|jdk	r*tjjd��n|j�}|dkoW|dkoW|dk}|r}|r}tjjd��n|rt|�\}}|dkr�|dkr�tjjd��n|r�r�jjd��n|j	||�}|r|j
|�n|j
|�n|r5||_|_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_documenttInvalidCharacterErrR�R�tcreateElementNSR*RDtdoctypeRG(	R	RcR�RHRftadd_root_elementRdR�R�((s%/sys/lib/python2.7/xml/dom/minidom.pytcreateDocumentQs4	



			cCs"t|�}||_||_|S(N(R+R&R'(R	R�R&R'RH((s%/sys/lib/python2.7/xml/dom/minidom.pytcreateDocumentType~s		cCs|j|d�r|SdSdS(N(RHR(R	RI((s%/sys/lib/python2.7/xml/dom/minidom.pyRO�scCst�S(N(tDocument(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyRE�s(RAs1.0(RAs2.0N(RAN(sxmls1.0(sxmls2.0(sxmlN(sls-loads3.0(sls-loadN(	RaRbRRCRHRJRKRORE(((s%/sys/lib/python2.7/xml/dom/minidom.pyR@As			-		tElementInfocBseeZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZRS(s�Object 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%/sys/lib/python2.7/xml/dom/minidom.pyRz�scCstS(N(R�(R	taname((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCstS(N(R�(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCstS(N(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR�scCstS(sQReturns true iff this element is declared to have an EMPTY
        content model.(R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pytisEmpty�scCstS(s7Returns true iff the named attribute is a DTD-style ID.(R(R	RN((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCstS(s<Returns true iff the identified attribute is a DTD-style ID.(R(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs|jS(N(Rr(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs
||_dS(N(Rr(R	R�((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s(stagName(
RaRbR�R�RzR�R�RROR�R�R�R�(((s%/sys/lib/python2.7/xml/dom/minidom.pyRM�s								cCsZ|jtjkr+|jj�d|_n+t|�rV|jjj�d|j_ndS(N(	RRRt	_id_cachetclearRt_id_search_stackRkRD(R6((s%/sys/lib/python2.7/xml/dom/minidom.pyR/�s
RLcBs�eZejejejejfZejZ	dZ
d$Zd$Z
d$Zd$Zd$ZZe�Zd$Zd$Zd$Zd$ZeZd$Zd$ZdZd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d	�Z$d
�Z%d�Z&d�Z'd
�Z(d�Z)d�Z*d�Z+d�Z,d�Z-d�Z.d�Z/d�Z0d�Z1d�Z2d�Z3d�Z4d�Z5d�Z6d�Z7d�Z8d�Z9d�Z:d �Z;d!d!d!d$d"�Z<d#�Z=RS(%s	#documenticCs+t�|_i|_i|_d|_dS(N(R`Rt
_elem_infoRPRRR(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyRz�s		cCs7|jr|j|jf}n	|j}|jj|�S(N(RcRhRrRSR�(R	R�RS((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s		cCs|jS(N(R5(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR<�scCs|jS(N(RH(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_doctype�scCs|jS(N(tdocumentURI(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_documentURI�scCs|jS(N(R
(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR=�scCs|jS(N(terrorHandler(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_errorHandler�scCs|jS(N(t
standalone(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_standalone�scCs|jS(N(tstrictErrorChecking(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyt_get_strictErrorChecking�scCs|jS(N(RJ(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR>scCs�|j|jkr=tjjdt|�t|�f��n|jdk	r_|jj|�n|jt	j
kr�|j�r�tjjd��nt	j||�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%/sys/lib/python2.7/xml/dom/minidom.pyR*s	"	cCsoy|jj|�Wn tk
r6tjj��nXd|_|_d|_	|j
|krkd|_
n|S(N(RR:R,R$R%R-RR1R2R(tdocumentElement(R	R8((s%/sys/lib/python2.7/xml/dom/minidom.pyR)s
	cCs.x'|jD]}|jtjkr
|Sq
WdS(N(RRRR?(R	R6((s%/sys/lib/python2.7/xml/dom/minidom.pyR]scCs9|jdk	r(|jj�d|_ntj|�dS(N(RHRR=R(R	((s%/sys/lib/python2.7/xml/dom/minidom.pyR=$s
cCs|s
dS|jjddd�}|j|_|j|_|j|_x�|jD]�}t|||�}|jj	|�s�t
�|jj|�|jt
jkr�|jdks�
�n3|jt
jkr�jdks�
�||_n||_qPW|jtjjj||�|S(N(RRGRJR
RYRJRRCRDRNtAssertionErrorR>RRRR^R;RHR(R_R$R%R0R1(R	RER6R�t
childclone((s%/sys/lib/python2.7/xml/dom/minidom.pyRF*s&

cCst�}||_|S(N(RyRD(R	RW((s%/sys/lib/python2.7/xml/dom/minidom.pytcreateDocumentFragment?s		cCst|�}||_|S(N(R�RD(R	RrR8((s%/sys/lib/python2.7/xml/dom/minidom.pyt
createElementDs	cCs:t|t�std�nt�}||_||_|S(Nsnode contents must be a string(R�R�R�R�R<RD(R	R<tt((s%/sys/lib/python2.7/xml/dom/minidom.pytcreateTextNodeIs			cCs:t|t�std�nt�}||_||_|S(Nsnode contents must be a string(R�R�R�RR<RD(R	R<R5((s%/sys/lib/python2.7/xml/dom/minidom.pytcreateCDATASectionQs			cCst|�}||_|S(N(RRD(R	R<R5((s%/sys/lib/python2.7/xml/dom/minidom.pyt
createCommentYs	cCst||�}||_|S(N(R�RD(R	R�R<tp((s%/sys/lib/python2.7/xml/dom/minidom.pytcreateProcessingInstruction^s	cCs"t|�}||_d|_|S(NR(R�RDR�(R	R�ta((s%/sys/lib/python2.7/xml/dom/minidom.pytcreateAttributecs		cCs1t|�\}}t|||�}||_|S(N(R�R�RD(R	RcR�RdRhR8((s%/sys/lib/python2.7/xml/dom/minidom.pyRGis	cCs=t|�\}}t||||�}||_d|_|S(NR(R�R�RDR�(R	RcR�RdRhRi((s%/sys/lib/python2.7/xml/dom/minidom.pytcreateAttributeNSos
		cCs"t||||�}||_|S(N(R3RD(R	RuR&R'R4R8((s%/sys/lib/python2.7/xml/dom/minidom.pyt_create_entityys	cCst|||�}||_|S(N(R2RD(R	RuR&R'R�((s%/sys/lib/python2.7/xml/dom/minidom.pyt_create_notation~s	cCsE||jkr|j|S|jp)|js0dS|j}|dkr]|jg}||_n
|sgdSd}x�|r@|j�}|jg|jD]}|j	t
kr�|^q��|j|�}|r�xa|jj
�D]�|jr;|j|j|j�r�||j|j<|j|kr(|}q8|js8Pq8q�q�|j|j�r�||j|j<|j|kru|}q�|js�Pq�q�|jr�||j|j<|j|kr�|}q�|jdkr�Pq�q�q�WnZ|jr-xN|jj
�D]:}|jr�|j|j<|j|kr&|}q&q��n|dk	rpPqpqpW|S(Ni(RPRSR�RRRR^tpoptextendRRR.R�R}R�RcR�RhR�R�R�RuR�(R	R�tstacktresultR6RBR�R�((s%/sys/lib/python2.7/xml/dom/minidom.pytgetElementById�s\					
						cCst||t��S(N(RsR`(R	Ru((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCst|||t��S(N(RwR`(R	RcRh((s%/sys/lib/python2.7/xml/dom/minidom.pyR��scCs|jj||�S(N(RGRH(R	RIRJ((s%/sys/lib/python2.7/xml/dom/minidom.pyRK�scCs^|jtjkr'tjjd��n'|jtjkrNtjjd��nt|||�S(Nscannot import document nodess!cannot import document type nodes(RRRR$R%tNotSupportedErrR;RC(R	R6RE((s%/sys/lib/python2.7/xml/dom/minidom.pyt
importNode�s
RcCse|dkr |jd|�n|jd||f�x'|jD]}|j||||�qAWdS(Ns<?xml version="1.0" ?>s%<?xml version="1.0" encoding="%s"?>%s(RRpRR(R	RRR�RR
R6((s%/sys/lib/python2.7/xml/dom/minidom.pyR�s
c	Cs|j|k	r1tjjd||jf��n|jtjtjfkratjjd��n|t	krd|kr�|j
dd�\}}|dkr|tjjkrtjjd��qq'|dkr|tjjkr|jtjkrtjjd��nd}|}nd}d}|jtjkrj|j}|dk	rp|j}|j|�qpnd}|j}||d<||d	<||d
<||d<|jtjkr�||d<n<||d
<|dk	r�j|�|r�j|�q�|S(Ns?cannot rename nodes from other documents;
expected %s,
found %ss8renameNode() only applies to element and attribute nodesR�iR�sillegal use of 'xmlns' prefixs$illegal use of the 'xmlns' attributeRdRhRcR{RrRu(RDR$R%RDRRR?R�RsRR�RR�RR�R�R�RiR�R�(	R	R�RcRuRdRhR�tis_idRW((s%/sys/lib/python2.7/xml/dom/minidom.pyt
renameNode�sT								






N(>RaRbRR?R�R�R;R#RRR{RR|R}RHR(R2R1R@RGR5R
RYRJRR[RWRUR�RzR�R<RTRVR=RXRZR\R>R*R)R]R=RFRaRbRdReRfRhRjRGRkRlRmRrR�R�RKRtRRv(((s%/sys/lib/python2.7/xml/dom/minidom.pyRL�sh	
																									
			:					
R^s#Top-level element of this document.c
Cs|jj|�r$tjjj}ntjjj}|jtj	kr�j
|j|j�}xW|j
j�D]F}|j|j|j|j�|j|j|j�}|j|_qmW|r�3|jD]%}t|||�}|j|�q�Wq��jtjkrS|j�}|r�3|jD]%}t|||�}|j|�q$Wq��|jtjkrz|j|j�}nm|jtjkr�|j|j�}nF|jtjkr�|j|j |j�}n|jtj!kr�j"|j�}n�jtj#kr7|j$|j|j�}t%|_|j|_n�|jtj&kr�|j|k	s^t'�tjjj}|j(j)|j*|j+|j,�}||_|r�|j-_.g|j/_.xp|j/j.D]b}	t0|	j|	j+|	j,�}
||
_|j/j.j1|
�t2|	d�r�|	j3||	|
�q�q�Wx�|j-j.D]�}t4|j|j+|j,|j5�}|j6|_6|j7|_7|j8|_8||_|j-j.j1|�t2|d�r5|j3||	|�q5q5Wq�tjj9dt:|���t2|d�r|j3|||�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}R�R�R�R�RhR�RRCR*R RaR;RdR<R~ReR�RhR�R�RfR�RkRR;R_RGRKRuR&R'R,R"R-R2R>RYR_R3R4R5R
RJRsR'(
R6REtnewOwnerDocumentR\R6R�RiRBR5R�R7R8R9((s%/sys/lib/python2.7/xml/dom/minidom.pyRCs~					 cCs:|jdd�}t|�dkr(|Sd|dfSdS(NR�iii(R�R�R(R�tfields((s%/sys/lib/python2.7/xml/dom/minidom.pyR�fscCsddlm}|�S(Ni�(tStringIO(Rz(Rz((s%/sys/lib/python2.7/xml/dom/minidom.pyRnscCs<|||�}|j�\}}|j|�|j�|S(N(tgetEventt
expandNodeRQ(tfunctargstkwargsteventsttoktypetrootNode((s%/sys/lib/python2.7/xml/dom/minidom.pyt_do_pulldom_parsess


cCsh|dkr0|r0ddlm}|j|�Sddlm}t|j|fi|d6|d6�SdS(s3Parse a file into a DOM by filename or file object.i�(texpatbuilder(tpulldomtparsertbufsizeN(Rtxml.domR�tparseR�R�(tfileR�R�R�R�((s%/sys/lib/python2.7/xml/dom/minidom.pyR�zs
cCsZ|dkr)ddlm}|j|�Sddlm}t|j|fi|d6�SdS(s&Parse a file into a DOM from a string.i�(R�(R�R�N(RR�R�tparseStringR�R�(tstringR�R�R�((s%/sys/lib/python2.7/xml/dom/minidom.pyR��s
cCsa|rZt|t�r'tj|�}nx0|D]%\}}tjj||�s.dSq.WntjS(N(R�R�Rt_parse_feature_stringRLRGRHR(tfeaturestftv((s%/sys/lib/python2.7/xml/dom/minidom.pytgetDOMImplementation�s(8R�R�R$RRRRtxml.dom.minicompattxml.dom.xmlbuilderRRR%RR?RR.tdefpropertyR7RkRqRsRwRyR�tobjectR�t
AttributeListR�RR�R�R�R�R�RR�RR�RRR!R%R+R3R2R@RMR/RLRCR�RR�R�R�R�(((s%/sys/lib/python2.7/xml/dom/minidom.pyt<module>s�"
�	
					r��	(GZ			
><(	O*	�	R			


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].