B
    d                 @   sL   d Z ddlmZ ddlmZ ddlmZ G dd deZG dd deZ	d	S )
z+Docutils-native XML and pseudo-XML writers.    )Any)Writer)Builderc                   s:   e Zd Zedd fddZeedd fddZ  ZS )	XMLWriterN)builderreturnc                s"   t    | _ fdd _d S )Nc                s    j | S )N)r   Zcreate_translator)document)self _/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/sphinx/writers/xml.py<lambda>       z$XMLWriter.__init__.<locals>.<lambda>)super__init__r   Ztranslator_class)r	   r   )	__class__)r	   r   r      s    
zXMLWriter.__init__)argskwargsr   c                s:   | j jjj | jj_| jj_d| jj_d| jj_	t
  S )NT)r   envconfigZ
xml_prettyr   settingsnewlinesindentsZxml_declarationZdoctype_declarationr   	translate)r	   r   r   )r   r
   r   r      s    

zXMLWriter.translate)__name__
__module____qualname__r   r   r   r   __classcell__r
   r
   )r   r   r   
   s   r   c                   sR   e Zd ZdZdZdZdZedd fddZddd	d
Z	e
edddZ  ZS )PseudoXMLWriter)pprintpformatZ	pseudoxmlzpseudoxml writer)ZwritersN)r   r   c                s   t    || _d S )N)r   r   r   )r	   r   )r   r
   r   r   &   s    
zPseudoXMLWriter.__init__)r   c             C   s   | j  | _d S )N)r   r   output)r	   r
   r
   r   r   *   s    zPseudoXMLWriter.translate)formatr   c             C   s   dS )z2This writer supports all format-specific elements.Tr
   )r	   r!   r
   r
   r   supports-   s    zPseudoXMLWriter.supports)r   r   r   	supportedZconfig_sectionZconfig_section_dependenciesr    r   r   r   strboolr"   r   r
   r
   )r   r   r      s   r   N)
__doc__typingr   Zdocutils.writers.docutils_xmlr   ZBaseXMLWriterZsphinx.buildersr   r   r   r
   r
   r
   r   <module>   s
   