
    ~Ti6                        d Z ddlmZ ddlmZ ddlmZ erddlmZ ddlm	Z	 ddl
mZ  G d d	ej                        Z G d
 dej                        Zy)z+Docutils-native XML and pseudo-XML writers.    )annotations)TYPE_CHECKING)docutils_xml)Any)XMLTranslator)Builderc                  4     e Zd ZU ded<   d fdZddZ xZS )	XMLWriterstroutputc                R    t         |           || _        |j                  | _        y N)super__init__builderconfig_configselfr   	__class__s     E/home/agent/.local/lib/python3.12/site-packages/sphinx/writers/xml.pyr   zXMLWriter.__init__   s     ~~    c                   | j                   J | j                  j                  x| j                   j                  _        | j                   j                  _        d| j                   j                  _        d| j                   j                  _        | j                  j                  | j                         }|| _
        | j                   j                  |       dj                  |j                        | _        y )NT )documentr   
xml_prettysettingsnewlinesindentsxml_declarationdoctype_declarationr   create_translatorvisitor	walkaboutjoinr   )r   argskwargsr#   s       r   	translatezXMLWriter.translate   s    }}(((LL##	
'$--*@*@*H 26.592 "&!?!?!N(gggnn-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&
.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__3   s    r   c                ^    | j                   J | j                   j                         | _        y r   )r   r5   r   )r   s    r   r(   zPseudoXMLWriter.translate7   s&    }}(((mm++-r   c                     y)z+All format-specific elements are supported.T )r   formats     r   supportszPseudoXMLWriter.supports;   s    r   r)   )r*   r+   )r<   r   r*   bool)r,   r-   r.   	supportedconfig_sectionconfig_section_dependenciesr/   r   r(   r=   r0   r1   s   @r   r3   r3   )   s-    2I''N".K..r   r3   N)__doc__
__future__r   typingr   docutils.writersr   r   docutils.writers.docutils_xmlr   sphinx.buildersr   Writerr
   r3   r;   r   r   <module>rI      sA    1 "   );'.## .0l)) r   