MINI MINI MANI MO
3
\ @ s d Z ddlmZmZmZ ddlmZmZmZ ddlm Z ddl
mZmZ ddl
mZ ejZejZejZejjZejjZejjZejjZej Zejddejdd ejdd
ejddejddejdd
ejddejddejddd ZG dd deZdd Zdd ZG dd dZeeefZ G dd deZ!G dd deZ"G dd de"Z#G d d! d!e"Z$d"Z%d#e% Z&G d$d% d%eZ'G d&d' d'Z(G d(d) d)e(eZ)G d*d+ d+e(e'Z*G d,d- d-e+Z,G d.d/ d/eZ-d;d1d2Z.d<d3d4Z/d=d5d6Z0d>d7d8Z1d9d: Z2dS )?zFacility to use the Expat parser to load a minidom instance
from a string or file.
This avoids all the overhead of SAX and pulldom to gain performance.
)
xmlbuilderminidomNode)EMPTY_NAMESPACEEMPTY_PREFIXXMLNS_NAMESPACE)expat)
_append_child_set_attribute_node)
NodeFilterNZcdataenumerationentityentitiesidZidrefZidrefsZnmtokenZnmtokens) ZCDATAENUMZENTITYZENTITIESIDZIDREFZIDREFSZNMTOKENZNMTOKENSc @ sZ e Zd ZdZdddZdd Zd d
Zdd Zd
d Zdd Z dd Z
dd Zdd ZdS )ElementInfo
_attr_info_modeltagNameNc C s || _ g | _|| _d S )N)r r r )selfr model r ,/usr/lib64/python3.6/xml/dom/expatbuilder.py__init__? s zElementInfo.__init__c C s | j | j| jfS )N)r r r )r r r r __getstate__D s zElementInfo.__getstate__c C s |\| _ | _| _d S )N)r r r )r stater r r __setstate__G s zElementInfo.__setstate__c C sJ xB| j D ]8}|d |kr|d }|d dkr4td S t|d S qW tjS )N r (r r! )r
_typeinfo_mapr _no_type)r anameinfotr r r getAttributeTypeJ s zElementInfo.getAttributeTypec C s t jS )N)r r# )r namespaceURI localNamer r r getAttributeTypeNST s zElementInfo.getAttributeTypeNSc C s, | j r$| j d }|tjjtjjfkS dS d S )Nr F)r r r Z
XML_CTYPE_ANYZXML_CTYPE_MIXED)r typer r r isElementContentW s
zElementInfo.isElementContentc C s | j r| j d tjjkS dS d S )Nr F)r r r ZXML_CTYPE_EMPTY)r r r r isEmpty_ s zElementInfo.isEmptyc C s, x&| j D ]}|d |kr|d dkS qW dS )Nr r r Fr! )r )r r$ r% r r r isIde s zElementInfo.isIdc C s | j ||fS )N)r. )r ZeuriZenameZaurir$ r r r isIdNSk s zElementInfo.isIdNS)r r r )N)
__name__
__module____qualname__ __slots__r r r r' r* r, r- r. r/ r r r r r <