ó \STc@sdZdZddlTddlmZmZddlmZddlmZmZddlm Z ddlm Z m Z dd l Z e j d d kr©ed eƒ‚n[ ydd lmZWn ek râedeƒ‚n#Xeedƒ redeƒ‚nddlmZmZmZejZejZydd lZWnek r_d„ZnXdd lZejZ[[dejfd„ƒYZdej ejfd„ƒYZ!d„Z"e#dkrdd lZ$e"ƒZ%e%j&e$j'j(ƒƒe%j)e$j'j*ƒƒe%j+dƒnd S(s] SAX driver for the pyexpat C module. This driver works with pyexpat.__version__ == '2.22'. s0.20iÿÿÿÿ(t*(tfeature_validationtfeature_namespaces(tfeature_namespace_prefixes(tfeature_external_gestfeature_external_pes(tfeature_string_interning(tproperty_xml_stringtproperty_interning_dictNitjavasexpat not available in Java(texpatsexpat not supportedt ParserCreate(t xmlreadertsaxutilsthandlercCs|S(N((to((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt_mkproxy'st ExpatLocatorcBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(s¼Locator for use with the ExpatParser class. This uses a weak reference to the parser object to avoid creating a circular reference between the parser and the content handler. cCst|ƒ|_dS(N(Rt_ref(tselftparser((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt__init__6scCs&|j}|jdkrdS|jjS(N(Rt_parsertNonetErrorColumnNumber(RR((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pytgetColumnNumber9s cCs&|j}|jdkrdS|jjS(Ni(RRRtErrorLineNumber(RR((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt getLineNumber?s cCs&|j}|dkrdS|jjƒS(N(RRt_sourcet getPublicId(RR((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyREs  cCs&|j}|dkrdS|jjƒS(N(RRRt getSystemId(RR((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyRKs  (t__name__t __module__t__doc__RRRRR(((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR0s     t ExpatParsercBs%eZdZdd$d„Zd„Zd„Zd„Zd „Zd „Zd „Z d „Z dd „Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd „Zd!„Zd"„Z RS(%s$SAX driver for the pyexpat C module.iiiicCsntjj||ƒtjƒ|_d|_||_d|_d|_ g|_ d|_ d|_ d|_ dS(Nii(R tIncrementalParserRt InputSourceRRRt _namespacest_lex_handler_propt_parsingt _entity_stackt _external_gest _interningt_namespace_prefixes(RtnamespaceHandlingtbufsize((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyRWs       cCsŠtj|ƒ}||_|jƒ|jjt|ƒƒztjj ||ƒWd|j r…|j j |_ |j j |_d|_ nXdS(s3Parse an XML document from a URL or an InputSource.N(R tprepare_input_sourceRtresett _cont_handlertsetDocumentLocatorRR R#tparseRRt _ColumnNumberRt _LineNumberR(Rtsource((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR2es   cCs/|jƒdkr+|jj|jƒƒndS(N(RRRtSetBase(RR5((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt prepareParserwscCs-tjj||ƒ|jr)|jƒndS(N(R R#tsetContentHandlerR't_reset_cont_handler(RR((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR8}s cCs||tkr|jS|tkr,|jdk S|tkr?|jS|ttfkrUdS|t krh|j St d|ƒ‚dS(NisFeature '%s' not recognized( RR%RR*RRR+RRRR)tSAXNotRecognizedException(Rtname((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt getFeature‚s     cCsø|jrtdƒ‚n|tkr0||_nÄ|tkrH||_n¬|tkr„|rx|jdkri|_qqôd|_np|t krœ||_ nX|t krÀ|rôtdƒ‚qôn4|t krä|rôtdƒ‚qônt d|ƒ‚dS(Ns!Cannot set features while parsings!expat does not support validations/expat does not read external parameter entitiessFeature '%s' not recognized(R'tSAXNotSupportedExceptionRR%RR)RR*RRR+RRR:(RR;tstate((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt setFeatures.           cCs|tjkr|jS|tkr)|jS|tkr{|jrlt|jdƒr]|jjƒSt dƒ‚q{t dƒ‚nt d|ƒ‚dS(NtGetInputContexts=This version of expat does not support getting the XML strings.XML string cannot be returned when not parsingsProperty '%s' not recognized( Rtproperty_lexical_handlerR&RR*RRthasattrR@R:R=(RR;((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt getProperty«s      cCs||tjkr1||_|jrx|jƒqxnG|tkrI||_n/|tkrhtd|ƒ‚nt d|ƒ‚dS(NsProperty '%s' cannot be setsProperty '%s' not recognized( RRAR&R't_reset_lex_handler_propRR*RR=R:(RR;tvalue((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt setProperty½s      cCsŽ|js,|jƒd|_|jjƒny|jj||ƒWnDtjk r‰}ttj |j ƒ||ƒ}|j j |ƒnXdS(Ni( R'R/R0t startDocumentRtParseR terrortSAXParseExceptiont ErrorStringtcodet _err_handlert fatalError(RtdatatisFinaltetexc((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pytfeedÍs   cCsC|jr dS|jdddƒ|jjƒd|_d|_dS(NtRPii(R(RSR0t endDocumentR'RR(R((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pytcloseÞs    cCs(|jj|j_|jj|j_dS(N(R0tprocessingInstructionRtProcessingInstructionHandlert characterstCharacterDataHandler(R((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR9èscCsŽ|j}|j}|dkrNd|_d|_d|_d|_d|_n<|j|_|j |_|j |_|j |_|j |_dS(N( R&RRtCommentHandlertStartCdataSectionHandlertEndCdataSectionHandlertStartDoctypeDeclHandlertEndDoctypeDeclHandlertcommentt startCDATAtendCDATAtstart_doctype_decltendDTD(RtlexR((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyRDís            cCsN|jrKtjddƒ|_d|j_|j|j_|j|j_ n-tjƒ|_|j |j_|j |j_ |j ƒ|j |j_|j|j_|j|j_|j|j_d|_|jrÝ|jƒn|j|j_y|j|j_Wntk rnX|jjtjƒd|_g|_ d|_!d|_"dS(Nt ii(#R%R R RRtnamespace_prefixeststart_element_nstStartElementHandlertend_element_nstEndElementHandlert start_elementt end_elementR9tunparsed_entity_decltUnparsedEntityDeclHandlert notation_decltNotationDeclHandlertstart_namespace_decltStartNamespaceDeclHandlertend_namespace_decltEndNamespaceDeclHandlert_decl_handler_propR&RDtexternal_entity_reftExternalEntityRefHandlertskipped_entity_handlertSkippedEntityHandlertAttributeErrortSetParamEntityParsingt*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONER'R(R3R4(R((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR/ýs6            cCs |jdkr|jS|jjS(N(RRR3R(R((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR%scCs |jdkr|jS|jjS(N(RRR4R(R((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR*scCs |jjƒS(N(RR(R((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR/scCs |jjƒS(N(RR(R((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyR2scCs|jj|t|ƒƒdS(N(R0t startElementtAttributesImpl(RR;tattrs((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyRl6scCs|jj|ƒdS(N(R0t endElement(RR;((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyRm9sc Cst|jƒ}t|ƒdkr3|}d|f}nWt|ƒdkrtd|d|df}|d|df}n|d}t|ƒ}i}i}x¸|jƒD]ª\}}|jƒ} t| ƒ} | dkrè|} d|f} nQ| dkr#d| d| df} | d| df} n| d} t| ƒ} ||| <| ||           (       &        cOstt||ƒS(N(tapplyR"(targstkwargs((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pyt create_parser¢st__main__s../../../hamlet.xml(,R!tversiontxml.sax._exceptionstxml.sax.handlerRRRRRRRRtsystplatformtSAXReaderNotAvailableRt xml.parsersR t ImportErrorRBtxml.saxR R RRR‡t_weakrefRtweakreftproxytLocatorRR#R"R­RtxmltpR8tsaxt XMLGeneratortsetErrorHandlert ErrorHandlerR2(((sE/opt/freeware/lib/python2.7/site-packages/_xmlplus/sax/expatreader.pytsJ         $ÿO