Viewing File: /opt/alt/python38/lib64/python3.8/xml/dom/__pycache__/minidom.cpython-38.pyc
U
,a) @ s d Z ddlZddlZddlmZmZmZmZ ddlT ddl m
Z
mZ ejj
jejj
jfZG dd dejj
Z
ee
dd d
ee
ddd
ee
d
dd
dd Zdd Zdd Zdd Zdd ZG dd de
ZG dd de
Zeeddd
eed
dd
eed d!d
G d"d# d#eZeed$d%d
eZG d&d' d'eZeddZG d(d) d)e
Zeed*d+d
eed
d,d
d-d. ZG d/d0 d0Z G d1d2 d2e e
Z!G d3d4 d4e e
Z"ee"d$d5d
G d6d7 d7e"Z#ee#d8d9d
ee#d:d;d
d<d= Z$d>d? Z%G d@dA dAe"Z&G dBdC dCe#Z'G dDdE dEeZ(ee(d$dFd
G dGdH dHZ)G dIdJ dJe)e e
Z*G dKdL dLe)e
Z+G dMdN dNe)e e
Z,G dOdP dPe
Z-G dQdR dReZ.dSdT Z/G dUdV dVe
eZ0ee0dWdXd
dYdZ Z1d[d\ Z2d]d^ Z3ded_d`Z4dfdadbZ5dgdcddZ6dS )hac Simple 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_NAMESPACEEMPTY_PREFIXXMLNS_NAMESPACEdomreg)*)DOMImplementationLS
DocumentLSc @ s e Zd ZdZdZdZdZdZeZ dd Z
d2ddZd3dd Zd
d Z
dd
Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Z dS )4NodeNc C s dS )NT selfr
r
4/opt/alt/python38/lib64/python3.8/xml/dom/minidom.py__bool__+ s z
Node.__bool__c C s | dd|S N )toprettyxml)r encodingr
r
r
toxml. s z
Node.toxml
c C sx |d krt }nt jt |ddd}| jtjkrH| |d||| n| |d|| |d krh| S | S d S )Nxmlcharrefreplacer )r errorsnewliner )
ioStringIO
TextIOWrapperBytesIOnodeTyper
DOCUMENT_NODEwritexmlgetvaluedetach)r indentnewlr writerr
r
r
r 1 s
zNode.toprettyxmlc C s
t | jS N)bool
childNodesr r
r
r
hasChildNodesC s zNode.hasChildNodesc C s | j S r% r' r r
r
r
_get_childNodesF s zNode._get_childNodesc C s | j r| j d S d S Nr r) r r
r
r
_get_firstChildI s zNode._get_firstChildc C s | j r| j d S d S Nr) r r
r
r
_get_lastChildM s zNode._get_lastChildc C s
|j | jkr,t|jD ]}| || q|S |j | jkrTtjdt |t | f |j
d k rj|j
| |d kr~| | nz| j
|}W n tk
r tj Y nX |j tkrt| | j|| ||_||_|r| j|d }||_||_nd |_| |_
|S )N%s cannot be child of %s )r DOCUMENT_FRAGMENT_NODEtupler' insertBefore_child_node_typesxmldomHierarchyRequestErrrepr
parentNoderemoveChildappendChildindex
ValueErrorNotFoundErr_nodeTypes_with_children_clear_id_cacheinsertnextSiblingpreviousSibling)r newChildrefChildcr= noder
r
r
r4 Q s8
zNode.insertBeforec C s |j | jkr*t|jD ]}| | q|S |j | jkrTtjdt |t | f n|j t
krft| |jd k r||j
| t| | d |_|S Nr0 )r r2 r3 r' r<