o
    g                     @   sN   d Z g dZG dd dZG dd deZG dd deZG dd	 d	eZd
S )z
zeep.xsd.elements.references
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ref* objecs are only used temporarily between parsing the schema and resolving
all the elements.

)
RefElementRefAttributeRefAttributeGroupRefGroupc                   @   s    e Zd Z	dddZdd ZdS )	r   F   c                 C   s"   || _ || _|| _|| _|| _d S N)_ref_is_qualified_schema
min_occurs
max_occurs)selftagrefschemais_qualifiedr
   r    r   U/home/ubuntu/webapp/venv/lib/python3.10/site-packages/zeep/xsd/elements/references.py__init__   s
   
zRefElement.__init__c                 C   s,   | j | j}|j|j| j| jd}| S N)r
   r   )r	   get_elementr   cloneqnamer
   r   resolver   elmr   r   r   r      s
   zRefElement.resolveN)Fr   r   )__name__
__module____qualname__r   r   r   r   r   r   r      s    
	r   c                       s$   e Zd Z fddZdd Z  ZS )r   c                    s$   | dd | _t j|i | d S )N
array_type)pop_array_typesuperr   )r   argskwargs	__class__r   r   r       s   zRefAttribute.__init__c                 C   s(   | j | j}|j|j| jd}| S )N)r   )r	   get_attributer   r   r   r    r   )r   attribr   r   r   r   $   s   zRefAttribute.resolve)r   r   r   r   r   __classcell__r   r   r$   r   r      s    r   c                   @      e Zd Zdd ZdS )r   c                 C   s   | j | j}| S r   )r	   get_attribute_groupr   r   )r   valuer   r   r   r   +   s   zRefAttributeGroup.resolveNr   r   r   r   r   r   r   r   r   *       r   c                   @   r)   )r   c                 C   s(   | j | j}|j|j| j| jd}|S r   )r	   	get_groupr   r   r   r
   r   r   r   r   r   r   1   s
   zRefGroup.resolveNr,   r   r   r   r   r   0   r-   r   N)__doc____all__r   r   r   r   r   r   r   r   <module>   s    	