
    f?                         d dl Z d dlmZ  e j        d          Z e j        d          Z e j        d          Z G d de          ZdS )    N)StringIOz(_x[0-9a-fA-F]{4}_)z([\x00-\x08\x0b-\x1f])z["&<>
]c                       e Zd ZdZd Zd Zd Zd Zd Zg fdZ	g fdZ
d	 Zg fd
Zg fdZg fdZg fdZg fdZd Zg fdZg fdZg fdZg fdZd Zd Zed             ZdS )	XMLwriterz#
    Simple XML writer class.

    c                 "    d | _         d| _        d S NFfhinternal_fhselfs    V/var/www/ffwdstore.be/apps/py-env/lib/python3.11/site-packages/xlsxwriter/xmlwriter.py__init__zXMLwriter.__init__   s         c                 "    || _         d| _        d S r   r   )r   
filehandles     r   _set_filehandlezXMLwriter._set_filehandle   s     r   c                     t          |t                    rd| _        || _        d S d| _        t	          |dd          | _        d S )NFTwzutf-8)encoding)
isinstancer   r
   r	   open)r   filenames     r   _set_xml_writerzXMLwriter._set_xml_writer$   sI    h)) 	<$DDGGG#D8S7;;;DGGGr   c                 J    | j         r| j                                         d S d S )N)r
   r	   closer   s    r   
_xml_closezXMLwriter._xml_close-   s*     	GMMOOOOO	 	r   c                 :    | j                             d           d S )Nz8<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
r	   writer   s    r   _xml_declarationzXMLwriter._xml_declaration2   s    UVVVVVr   c                     |D ]&\  }}|                      |          }|d|d|dz  }'| j                            d|z             d S N =""z<%s>_escape_attributesr	   r   r   tag
attributeskeyvalues        r   _xml_start_tagzXMLwriter._xml_start_tag6   sa    $ 	- 	-JC++E22ECeee,,CCfsl#####r   c                 h    |D ]\  }}|d|d|dz  }| j                             d|z             d S r"   r   r(   s        r   _xml_start_tag_unencodedz"XMLwriter._xml_start_tag_unencoded>   sP     % 	- 	-JCCeee,,CCfsl#####r   c                 @    | j                             d|z             d S )Nz</%s>r   )r   r)   s     r   _xml_end_tagzXMLwriter._xml_end_tagG   s     gm$$$$$r   c                     |D ]&\  }}|                      |          }|d|d|dz  }'| j                            d|z             d S Nr#   r$   r%   z<%s/>r&   r(   s        r   _xml_empty_tagzXMLwriter._xml_empty_tagK   sa    $ 	- 	-JC++E22ECeee,,CCgm$$$$$r   c                 h    |D ]\  }}|d|d|dz  }| j                             d|z             d S r3   r   r(   s        r   _xml_empty_tag_unencodedz"XMLwriter._xml_empty_tag_unencodedS   sP     % 	- 	-JCCeee,,CCgm$$$$$r   c           	          |}|D ]&\  }}|                      |          }|d|d|dz  }'|                     |          }|                     |          }| j                            d|d|d|d           d S )Nr#   r$   r%   <>z</)r'   _escape_data_escape_control_charactersr	   r   )r   r)   datar*   end_tagr+   r,   s          r   _xml_data_elementzXMLwriter._xml_data_element\   s    $ 	- 	-JC++E22ECeee,,CC  &&..t44sssDDD''':;;;;;r   c                     d}|D ]&\  }}|                      |          }|d|d|dz  }'| j                            d||fz             d S )N r#   r$   r%   z<c%s t="s"><v>%d</v></c>r&   )r   indexr*   attrr+   r,   s         r   _xml_string_elementzXMLwriter._xml_string_elementi   sl    $ 	. 	.JC++E22ED###uuu--DD4e}DEEEEEr   c                     d}|D ]&\  }}|                      |          }|d|d|dz  }'|                     |          }| j                            d|d|d           d S )Nr@   r#   r$   r%   z<si><tr9   z	</t></si>r'   r:   r	   r   r   stringr*   rB   r+   r,   s         r   _xml_si_elementzXMLwriter._xml_si_elements   s    $ 	. 	.JC++E22ED###uuu--DD""6**DDD&&&ABBBBBr   c                 @    | j                             d|z             d S )Nz<si>%s</si>r   )r   rG   s     r   _xml_rich_si_elementzXMLwriter._xml_rich_si_element   s$     	'&011111r   c                     d}|D ]&\  }}|                      |          }|d|d|dz  }'| j                            d||fz             d S )Nr@   r#   r$   r%   z<c%s><v>%.16G</v></c>r&   )r   numberr*   rB   r+   r,   s         r   _xml_number_elementzXMLwriter._xml_number_element   sl    $ 	. 	.JC++E22ED###uuu--DD1T6NBCCCCCr   c           
          d}|D ]&\  }}|                      |          }|d|d|dz  }'| j                            d|d|                     |          d|                     |          d           d S )	Nr@   r#   r$   r%   <cz><f>z</f><v>z</v></c>)r'   r	   r   r:   )r   formularesultr*   rB   r+   r,   s          r   _xml_formula_elementzXMLwriter._xml_formula_element   s    $ 	. 	.JC++E22ED###uuu--DDttT&&w////1B1B61J1J1J1JL	
 	
 	
 	
 	
r   c           	          d}d}|rd}|D ]&\  }}|                      |          }|d|d|dz  }'|                     |          }| j                            d|d|d|d	           d S )
Nr@   z xml:space="preserve"r#   r$   r%   rO   z t="inlineStr"><is><tr9   z</t></is></c>rE   )r   rG   preserver*   rB   t_attrr+   r,   s           r   _xml_inline_stringzXMLwriter._xml_inline_string   s      	-,F$ 	. 	.JC++E22ED###uuu--DD""6**AEvvvvvvV	
 	
 	
 	
 	
r   c                     d}|D ]&\  }}|                      |          }|d|d|dz  }'| j                            d|d|d           d S )Nr@   r#   r$   r%   rO   z t="inlineStr"><is>z	</is></c>r&   rF   s         r   _xml_rich_inline_stringz!XMLwriter._xml_rich_inline_string   sq    $ 	. 	.JC++E22ED###uuu--DD$$$OPPPPPr   c                 2   	 t                               |          s|S n# t          $ r |cY S w xY w|                    dd                              dd                              dd                              dd                              d	d
          }|S )N&&amp;r%   z&quot;r8   &lt;r9   &gt;
z&#xA;xml_escapessearch	TypeErrorreplace)r   	attributes     r   r'   zXMLwriter._escape_attributes   s    	%%i00 !  ! 	 	 		 c7++WS(##WS&!!WS&!!WT7## 	     ..c                     	 t                               |          s|S n# t          $ r |cY S w xY w|                    dd                              dd                              dd          }|S )NrZ   r[   r8   r\   r9   r]   r_   )r   r<   s     r   r:   zXMLwriter._escape_data   s    	%%d++  	 	 	KKK	 ||C))11#v>>FFsFSSre   c                     	 t                               d|           } n# t          $ r | cY S w xY wt                              d |           } |                     dd                              dd          } | S )Nz_x005F\1c                 L    dt          |                     d                    z  S )Nz_x%04X_   )ordgroup)matchs    r   <lambda>z6XMLwriter._escape_control_characters.<locals>.<lambda>   s    )c%++a..&9&99 r   u   ￾_xFFFE_u   ￿_xFFFF_)re_control_chars_1subrb   re_control_chars_2rc   )r<   s    r   r;   z$XMLwriter._escape_control_characters   s    	%))+t<<DD 	 	 	KKK	 "%%994
 

 ||Hi00889MMs    --N)__name__
__module____qualname____doc__r   r   r   r   r    r-   r/   r1   r4   r6   r>   rC   rH   rJ   rM   rR   rV   rX   r'   r:   staticmethodr;    r   r   r   r      s        
! ! !! ! !
< < <  
W W W .0 $ $ $ $ 8: $ $ $ $% % % .0 % % % % 8: % % % % 79 < < < < 57 F F F F 24 
C 
C 
C 
C2 2 2
 68 D D D D @B 
 
 
 
 ?A 
 
 
 
& :< Q Q Q Q  "     \  r   r   )	reior   compilerp   rr   r`   objectr   rx   r   r   <module>r}      s    
			        RZ 566 RZ 9:: bj$$U U U U U U U U U Ur   