File: //lib64/python3.9/site-packages/lxml/__pycache__/sax.cpython-39.opt-1.pyc
a
    ��a�$  �                   @   s�   d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddlm
Z
mZ G dd� dej�Z
d	d
� ZG dd� de�ZG d
d� de�Zdd� ZdS )a?  
SAX-based adapter to copy trees from/to the Python standard library.
Use the `ElementTreeContentHandler` class to build an ElementTree from
SAX events.
Use the `ElementTreeProducer` class or the `saxify()` function to fire
the SAX events of an ElementTree against a SAX ContentHandler.
See https://lxml.de/sax.html
�    )�absolute_import)�ContentHandler)�etree)�ElementTree�
SubElement)�Comment�ProcessingInstructionc                   @   s   e Zd ZdZdS )�SaxErrorzGeneral SAX error.
    N)�__name__�
__module__�__qualname__�__doc__� r   r   �./usr/lib64/python3.9/site-packages/lxml/sax.pyr	      s   r	   c                 C   s0   | d dkr$t | dd � �dd��S d | fS d S )Nr   �{�   �})�tuple�split)�tagr   r   r   �	_getNsTag   s    r   c                   @   s�   e Zd ZdZd dd�Zdd� Zeeejd�Zdd	� Zd
d� Z	dd
� Z
dd� Zdd� Zdd� Z
d!dd�Zdd� Zdd� Zd"dd�Zdd� Zdd� ZeZdS )#�ElementTreeContentHandlerz/Build an lxml ElementTree from SAX events.
    Nc                 C   sL   t �| � d | _g | _g | _d | _d d gi| _i | _|d u rBtj	}|| _
d S �N)r   �__init__�_root�_root_siblings�_element_stack�_default_ns�_ns_mapping�
_new_mappingsr   ZElement�_makeelement)�selfZmakeelementr   r   r   r   &