Viewing File: /usr/lib64/python3.6/xml/dom/__pycache__/minidom.cpython-36.pyc
3
sje @ 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 ZG dd de
ZG dd de
Zeeddd
eed
dd
eeddd
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-d. d.ZG d/d0 d0ee
Z G d1d2 d2ee
Z!ee!d"d3d
G d4d5 d5e!Z"ee"d6d7d
ee"d8d9d
d:d; Z#d<d= Z$G d>d? d?e!Z%G d@dA dAe"Z&G dBdC dCeZ'ee'd"dDd
G dEdF dFZ(G dGdH dHe(ee
Z)G dIdJ dJe(e
Z*G dKdL dLe(ee
Z+G dMdN dNe
Z,G dOdP dPeZ-dQdR Z.G dSdT dTe
eZ/ee/dUdVd
dWdX Z0dYdZ Z1d[d\ Z2dcd]d^Z3ddd_d`Z4dedadbZ5dS )fac 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
/usr/lib64/python3.6/minidom.py__bool__+ s z
Node.__bool__c C s | j dd|S )N )toprettyxml)r encodingr
r
r toxml. s z
Node.toxml
c C sx |d krt j }nt jt j |ddd}| jtjkrH| j|d||| n| j|d|| |d krh|j S |j j 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
childNodes)r r
r
r
hasChildNodesC s zNode.hasChildNodesc C s | j S )N)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 )N )r$ )r r
r
r _get_lastChildM s zNode._get_lastChildc C s |j | jkr0xt|jD ]}| j|| qW |S |j | jkrXtjjdt |t | f |j
d k rn|j
j| |d kr| j| ny| jj
|}W n tk
r tjj Y nX |j tkrt| | jj|| ||_||_|r| j|d }||_||_nd |_| |_
|S )Nz%s cannot be child of %sr( )r DOCUMENT_FRAGMENT_NODEtupler$ insertBefore_child_node_typesxmldomHierarchyRequestErrrepr
parentNoderemoveChildappendChildindex
ValueErrorNotFoundErr_nodeTypes_with_children_clear_id_cacheinsertnextSiblingpreviousSibling)r newChildrefChildcr6 noder
r
r r- Q s6
zNode.insertBeforec C s |j | jkr.xt|jD ]}| j| qW |S |j | jkrXtjjdt |t | f n|j t
krjt| |jd k r|jj
| t| | d |_|S )Nz%s cannot be child of %s)r r+ r, r$ r5 r. r/ r0 r1 r2 r9 r: r3 r4
_append_childr<