o
    g                     @   s2   d dl mZ d dlmZ G dd deZegZdS )    )xsd_ns)Basec                   @   sJ   e Zd ZdZdZedZdddZdd Zddd	Z	dd
dZ
dd ZdS )Schemaschema   c                 C   s   |   S N)	__class__)selfqname
min_occurs
max_occurs r   S/home/ubuntu/webapp/venv/lib/python3.10/site-packages/zeep/xsd/elements/builtins.pyclone
   s   zSchema.clonec                 C   s&   ||v r|| }| | ||iS i S r   )remove)r	   kwargsnameavailable_kwargsvaluer   r   r   parse_kwargs   s
   
zSchema.parse_kwargsNc                 C   s(   ddl m} |||j}|j| |S )Nr   )r   )zeep.xsd.schemar   
_transportschemasappend)r	   
xmlelementr   context_Schemar   r   r   parse   s   zSchema.parsec                 C   s0   |d j | jkr| }| j|||d}|S d S )Nr   )r   )tagr
   popleftr   )r	   xmlelementsr   r   r   r   resultr   r   r   parse_xmlelements   s
   zSchema.parse_xmlelementsc                 C   s   | S r   r   )r	   r   r   r   resolve!   s   zSchema.resolve)r   r   r   )NN)__name__
__module____qualname__r   	attr_namer   r
   r   r   r   r"   r#   r   r   r   r   r      s    


r   N)zeep.xsd.constr   zeep.xsd.elements.baser   r   	_elementsr   r   r   r   <module>   s    
 