
    Fe                    l    d Z ddlmZ ddlmZmZ ddlmZ erddl	m
Z
  G d de      Z G d d	e      Zy
)z+Docutils-native XML and pseudo-XML writers.    )annotations)TYPE_CHECKINGAny)Writer)Builderc                  8     e Zd ZU ded<   d fdZd fdZ xZS )	XMLWriterstroutputc                F     t                    | _         fd _        y )Nc                :    j                   j                  |       S N)buildercreate_translator)documentselfs    4/usr/lib/python3/dist-packages/sphinx/writers/xml.py<lambda>z$XMLWriter.__init__.<locals>.<lambda>   s    1O1OPX1Y     )super__init__r   translator_classr   r   	__class__s   ` r   r   zXMLWriter.__init__   s      !Zr   c                H   | j                   j                  j                  j                  x| j                  j
                  _        | j                  j
                  _        d| j                  j
                  _        d| j                  j
                  _	        t        | -         S )NT)r   envconfig
xml_prettyr   settingsnewlinesindentsxml_declarationdoctype_declarationr   	translate)r   argskwargsr   s      r   r$   zXMLWriter.translate   st     LL##..	/'MM""*15.592w ""r   r   r   returnNone)r%   r   r&   r   r(   r)   )__name__
__module____qualname____annotations__r   r$   __classcell__r   s   @r   r	   r	      s    KZ# #r   r	   c                  L     e Zd ZU dZ	 dZdZded<   	 d	 fdZd
dZddZ	 xZ
S )PseudoXMLWriter)pprintpformat	pseudoxmlzpseudoxml writer)writersr
   r   c                0    t         |           || _        y r   )r   r   r   r   s     r   r   zPseudoXMLWriter.__init__+   s    r   c                B    | j                   j                         | _        y r   )r   r3   r   )r   s    r   r$   zPseudoXMLWriter.translate/   s    mm++-r   c                     y)z2This writer supports all format-specific elements.T )r   formats     r   supportszPseudoXMLWriter.supports2   s    r   r'   )r(   r)   )r:   r
   r(   bool)r*   r+   r,   	supportedconfig_sectionconfig_section_dependenciesr-   r   r$   r;   r.   r/   s   @r   r1   r1       s-    2I''N".K..r   r1   N)__doc__
__future__r   typingr   r   docutils.writers.docutils_xmlr   BaseXMLWritersphinx.buildersr   r	   r1   r9   r   r   <module>rF      s/    1 " % A'# #&m r   