V!\c@sdZdZddlZddlZdejdkrGejjnddlZddlmZddlZddlm Z m Z m Z dej fd YZ d e jfd YZd e jfd YZdejjfdYZdS(sv Simple document tree Writer, writes Docutils XML according to http://docutils.sourceforge.net/docs/ref/docutils.dtd. treStructuredTextiNt_xmlplusi(tStringIO(tfrontendtwriterstnodest RawXmlErrorcBseZRS((t__name__t __module__(((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyR"stWriterc BseZdZddddgidd6ejd6fddgidd6ejd6fd d gid d 6d d6dd6ejd6fddgidd 6d d6dd6ejd6fffZidd6ZdZdZ dZ dZ dZ RS(txmls"Docutils XML" Writer Optionss1Generate XML with newlines before and after tags.s --newlinest store_truetactiont validators'Generate XML with indents and newlines.s --indentss,Omit the XML declaration. Use with caution.s--no-xml-declarationtxml_declarationtdestitdefaultt store_falsesOmit the DOCTYPE declaration.s --no-doctypetdoctype_declarationtxmlcharrefreplacetoutput_encoding_error_handlersdocutils_xml writerRcCstjj|t|_dS(N(RR t__init__t XMLTranslatorttranslator_class(tself((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyRDscCsB|j|j|_}|jj|dj|j|_dS(Nt(Rtdocumenttvisitort walkabouttjointoutput(RR((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyt translateHs(sxmlN(swriters( RRt supportedtNoneRtvalidate_booleant settings_spectsettings_defaultstconfig_sectiontconfig_section_dependenciesRRR(((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyR %s.   RcBseZdZdZdZejjZej de dZ e j e je je jfZdZdZdZdZd ZRS( s$ s s" s5http://xml.org/sax/features/external-general-entitiescCs0tjj|||jjj|_|jjj|_|j|_}d|_ |_ |j rld|_ n|j rd|_ d|_ nd|_ d|_d|_g|_|jr|jj|j|jn|jr|jj|jn|jj|jtjt|_|jj|jdS(NRs s i(Rt NodeVisitorRRtreportertwarningtwarnterrortsettingstindenttnewlinetnewlinestindentstlevelt in_simplet fixed_textRRtappendtoutput_encodingRtdoctypet generatortdocutilst __version__tTestXmlt the_handlet xmlparsertsetContentHandler(RRR,((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyR^s,             cCs|js&|jj|j|jn|jj|jtjjj |jd7_t |t j t j fr|jd7_nt ||jr|jd7_n|js|jj|jndS(sDefault node visit method.iN(R2RR4R-R1tstarttagR tsaxtsaxutilst quoteattrt isinstanceRtFixedTextElementtliteralR3t simple_nodesR.(Rtnode((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyt default_visits " cCs|jd8_|js5|jj|j|jn|jj|jt|tjtj frx|j d8_ nt||j r|jd8_n|js|jj|j ndS(sDefault node depart method.iN( R1R2RR4R-tendtagRBRRCRDR3RER.(RRF((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pytdefault_departures  cCs[tjjj|j}|jsG|jdd|j|j}n|j j |dS(Ns ( R R?R@tescapetastextR3treplaceR-R1RR4(RRFttext((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyt visit_Texts #cCsdS(N((RRF((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyt depart_TextscCsgd|jddjkr/|j|dS|j||j}|jj||j|t|trt j d kr|j d}ny|j j t|Wntjjjk rY}|jjj}|jjj}|j}t|jtjs|d7}nd|||jf}|j|d|jd ||d nXtjdS( NR tformatRitutf8is0Invalid raw XML in column %d, line offset %d: %stsourcetlinei(i(tgettsplitRGRKRR4RIRBtunicodetsyst version_infotencodeR<tparseRR R?t _exceptionstSAXParseExceptionR;tlocatortgetColumnNumbert getLineNumberRStparentRt TextElementR*RRtSkipNode(RRFt xml_stringR+tcol_numtline_numtsrclinetmsg((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyt visit_raws*      ((RRRR6R7R R?t make_parserR<t setFeaturetTrueRRRatimagetcolspect transitionRERGRIRNRORh(((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyRNs  #    R:cBseZdZRS(cCs ||_dS(N(R](RR]((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pytsetDocumentLocators(RRRo(((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyR:s(t__doc__t __docformat__RWR t__path__treversetxml.sax.saxutilsRR8RRRtApplicationErrorRR tGenericNodeVisitorRR?tContentHandlerR:(((sA/tmp/pip-install-usGedi/docutils/docutils/writers/docutils_xml.pyt s   ){