U
    H4f6                     @   s>   d dl mZ d dlmZ d dlmZ G dd deZegZdS )    )division)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qnameZ
min_occursZ
max_occurs r   >/tmp/pip-unpacked-wheel-04z2hmy8/zeep/xsd/elements/builtins.pyclone   s    zSchema.clonec                 C   s&   ||kr"|| }| | ||iS i S r   )remove)r
   kwargsnameZavailable_kwargsvaluer   r   r   parse_kwargs   s
    
zSchema.parse_kwargsNc                 C   s(   ddl m} |||j}|j| |S )Nr   )r   )Zzeep.xsd.schemar   Z
_transportZschemasappend)r
   
xmlelementr   contextZ_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
   Z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   )N)NN)__name__
__module____qualname__r   	attr_namer   r   r   r   r   r   r   r   r   r   r   r      s   


r   N)
__future__r   Zzeep.xsd.constr   Zzeep.xsd.elements.baser   r   Z	_elementsr   r   r   r   <module>   s    