*jh S r SSKrSSKrSSKJrJrJrJr SSK7 SSK J
r
Jr \R R R \R R R 4r " S S\R R 5 r
\" \
SS S
9 \" \
SSS
9 \" \
S
SS
9 S rS rS rS r " S S\
5 r " S S\
5 r\" \SSS
9 \" \S
SS
9 \" \SSS
9 " S S\5 r\" \SSS
9 \r " S S!\5 r\" SS5 r " S" S#\
5 r\" \S$S%S
9 \" \S
S&S
9 S' r " S( S)5 r " S* S+\\
5 r " S, S-\\
5 r!\" \!SS.S
9 " S/ S0\!5 r"\" \"S1S2S
9 \" \"S3S4S
9 S5 r#S6 r$ " S7 S8\!5 r% " S9 S:\"5 r& " S; S<\5 r'\" \'SS=S
9 " S> S?5 r( " S@ SA\(\\
5 r) " SB SC\(\
5 r* " SD SE\(\\
5 r+ " SF SG\
5 r, " SH SI\5 r-SJ r. " SK SL\
\5 r/\" \/SMSNS
9 SO r0SP r1SQ r2SUSR jr3SVSS jr4SVST jr5g)Wac Simple implementation of the Level 1 DOM.
Namespaces and other minor Level 2 features are also supported.
parse("foo.xml")
parseString("")
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_NAMESPACEEMPTY_PREFIXXMLNS_NAMESPACEdomreg)*)DOMImplementationLS
DocumentLSc \ rS rSrSrSrSrSrSr\ r
S rSS jr SS jr
S rS rS rS rS
rS rS rS
rS rS rS rS rS rS rS rS rS rS rS r S r!Sr"g)Node" Nc g)NT selfs 6/opt/alt/python313/lib64/python3.13/xml/dom/minidom.py__bool__
Node.__bool__+ c ( U R SSX5 $ N )toprettyxml)r encoding
standalones r toxml
Node.toxml. s B==r c v Uc [ R " 5 nO*[ R " [ R " 5 USSS9nU R [
R :X a U R USXX45 OU R USX5 Uc UR 5 $ UR 5 R 5 $ )Nxmlcharrefreplace
)r errorsnewliner )
ioStringIO
TextIOWrapperBytesIOnodeTyper
DOCUMENT_NODEwritexmlgetvaluedetach)r indentnewlr r writers r r Node.toprettyxml1 s [[]F%%bjjl/7-@.24F ==D...MM&"fHIMM&"f3??$$==?++--r c , [ U R 5 $ N)bool
childNodesr s r
hasChildNodesNode.hasChildNodesD s DOO$$r c U R $ r1 r3 r s r _get_childNodesNode._get_childNodesG r c D U R ( a U R S $ g Nr r7 r s r _get_firstChildNode._get_firstChildJ s ????1%% r c D U R ( a U R S $ g Nr7 r s r _get_lastChildNode._get_lastChildN s ????2&& r c : UR U R :X a/ [ UR 5 H nU R X25 M U$ UR U R
; a8 [ R R [ U5 < S[ U 5 < 35 eUR b UR R U5 Uc U R U5 U$ U R R U5 nUR [ ; a [# U 5 U R R% XA5 X!l Xl U( a U R US-
nXl XQl OS Ul Xl
U$ ! [ a [ R R 5 ef = f)N cannot be child of )r' DOCUMENT_FRAGMENT_NODEtupler3 insertBefore_child_node_typesxmldomHierarchyRequestErrrepr
parentNoderemoveChildappendChildindex
ValueErrorNotFoundErr_nodeTypes_with_children_clear_id_cacheinsertnextSiblingpreviousSibling)r newChildrefChildcrR nodes r rI Node.insertBeforeR s` ; ;;8../!!!. 0 OD$:$::''--.28nd4jIK
K*++H5X&$ !
,--h7 $<<%OO""53#+ '/$uQw/#+ +/(+/("&
,gg))++
,s E1 1)Fc UR U R :X a/ [ UR 5 H nU R U5 M U$ UR U R
; a8 [ R R [ U5 < S[ U 5 < 35 eUR [ ; a [ U 5 UR b UR R U5 [ X5 S Ul U$ NrE )r' rG rH r3 rQ rJ rK rL rM rN rU rV rO rP
_append_childrX )r r] r\ s r rQ Node.appendChildr s ==D7774??+ # , K== 6 66''--.24j$t*EG
G
]]6
6D!??&OO''-d!r c UR U R :X a. UR nU R U5 U R X5 $ UR U R
; a8 [ R R [ U5 < S[ U 5 < 35 eXL a g UR b UR R U5 U R R U5 nXR U' Xl
S Ul
UR [ ; d UR [ ; a [! U 5 UR Ul UR" Ul S Ul S Ul UR" ( a XR" l UR ( a XR l U$ ! [ a [ R R 5 ef = fr` )r' rG rX rP rI rJ rK rL rM rN rO r3 rR rS rT rU rV rY )r rZ oldChildr[ rR s r replaceChildNode.replaceChild s ; ;;++HX&$$X88D$:$::''--.28nd4jIK
K*++H5 (OO))(3E "*""!99 $<<D!'33#+#;#; ##' ##3;$$03; 0! (''%%'' (s F&