
W                 @   sn   d  d l  Z  d d l m Z d Z e d Z e d Z Gd d   d e  Z d d	 d
  Z d d d  Z	 d S)    N   )ElementTreez!{http://www.w3.org/2001/XInclude}includefallbackc               @   s   e  Z d  Z d S)FatalIncludeErrorN)__name__
__module____qualname__ r
   r
   C/afs/.cs/s/python-3.5.2/amd64_ubu14/lib/python3.5/ElementInclude.pyr   >   s   r   c          	   C   sx   | d k r= t  |  d   } t j |  j   } Wd  QRXn7 | sI d } t  |  d d |  } | j   } Wd  QRX| S)NxmlrbzUTF-8rencoding)openr   parseZgetrootread)hrefr   r   filedatar
   r
   r   default_loaderM   s    r   c             C   s  | d  k r t  } d } x| t |   k  r|  | } | j t k r| j d  } | j d d  } | d k r | | |  } | d  k r t d | | f   t j |  } | j r | j p d | j | _ | |  | <q| d k r| | | | j d   } | d  k r+t d | | f   | re|  | d	 } | j pKd | | j p[d | _ n# |  j pqd | | j pd |  _ |  | =q qt d
 |   n2 | j t	 k rt d | j   n t
 | |  | d	 } q Wd  S)Nr   r   r   r   zcannot load %r as %r textr   r   z)unknown parse type in xi:include tag (%r)z0xi:fallback tag must be child of xi:include (%r))r   lentagXINCLUDE_INCLUDEgetr   copytailr   XINCLUDE_FALLBACKr   )elemloaderier   r   Znoder   r
   r
   r   r   c   sF    
	&#)
r   r   r   ZXINCLUDEr   r   SyntaxErrorr   r   r   r
   r
   r
   r   <module>3   s   

