expatbuilder.pyc
1 o 2 6�Hc|� � @ s d Z ddlmZmZmZ ddlmZmZmZ ddlm Z ddl 3 mZmZ ddl mZ ejZejZejZejjZejjZejjZejjZe�� Ze�dd�e�dd �e�dd 4 �e�dd�e�dd�e�dd �e�dd�e�dd�e�dd�d� ZG dd� de�Zdd� Zdd� ZG dd� d�ZeeefZ G dd� de�Z!G dd� de�Z"G dd� de"�Z#G d d!� d!e"�Z$d"Z%d#e% Z&G d$d%� d%e�Z'G d&d'� d'�Z(G d(d)� d)e(e�Z)G d*d+� d+e(e'�Z*G d,d-� d-e+�Z,G d.d/� d/e�Z-d;d1d2�Z.d;d3d4�Z/d;d5d6�Z0d;d7d8�Z1d9d:� Z2dS )<z�Facility to use the Expat parser to load a minidom instance 5 from a string or file. 6 7 This avoids all the overhead of SAX and pulldom to gain performance. 8 � )� 9 xmlbuilder�minidom�Node)�EMPTY_NAMESPACE�EMPTY_PREFIX�XMLNS_NAMESPACE)�expat)� _append_child�_set_attribute_node)� 10 NodeFilterN�cdata�enumeration�entity�entities�idZidrefZidrefsZnmtokenZnmtokens) �CDATA�ENUMZENTITYZENTITIES�IDZIDREFZIDREFSZNMTOKENZNMTOKENSc @ sZ e Zd ZdZddd�Zdd� Zdd� Zd d 11 � Zdd� Zd d� Z dd� Z 12 dd� Zdd� ZdS )�ElementInfo�� 13 _attr_info�_model�tagNameNc C s || _ g | _|| _d S �N)r r r )�selfr �model� r �|C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.2800.0_x64__qbz5n2kfra8p0\lib\xml\dom\expatbuilder.py�__init__? s 14 zElementInfo.__init__c C s | j | j| jfS r r �r r r r �__getstate__D � zElementInfo.__getstate__c C s |\| _ | _| _d S r r )r �stater r r �__setstate__G s zElementInfo.__setstate__c C sN | j D ] }|d |kr#|d }|d dkrtd S t|d S qtjS )N� �����r �(r )r � _typeinfo_mapr �_no_type)r �aname�info�tr r r �getAttributeTypeJ s 15 �zElementInfo.getAttributeTypec C s t jS r )r r( )r �namespaceURI� localNamer r r �getAttributeTypeNST � zElementInfo.getAttributeTypeNSc C s( | j r| j d }|tjjtjjfvS dS �Nr F)r r r � XML_CTYPE_ANY�XML_CTYPE_MIXED)r �typer r r �isElementContentW s 16 �zElementInfo.isElementContentc C s | j r| j d tjjkS dS r1 )r r r �XML_CTYPE_EMPTYr r r r �isEmpty_ s zElementInfo.isEmptyc C s, | j D ]}|d |kr|d dk S qdS )Nr$ r% r F)r )r r) r* r r r �isIde s 17 18 �zElementInfo.isIdc C s | � ||f�S r )r8 )r Zeuri�enameZaurir) r r r �isIdNSk s zElementInfo.isIdNSr ) �__name__� 19 __module__�__qualname__� __slots__r r r# r, r/ r5 r7 r8 r: r r r r r <