\STc@sdZddlZddlZddlmZmZmZddlmZddl m Z m Z ddl m Z ddl mZmZde fd YZd fd YZd ZdS( s\ A SAX 2.0 driver for xmlproc. $Id: drv_xmlproc.py,v 1.16 2003/07/27 17:58:20 loewis Exp $ iN(txmlproctxmlvaltxmlapp(tsaxlib(tAttributesImpltAttributesNSImpl(tIncrementalParser(tContentGeneratortprepare_input_sourcet XmlprocDrivercBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZd Zd!Z!d"Z"d#Z#d$Z$d%Z%d&Z&d'Z'd(Z(d)Z)d*Z*RS(+cCsetj|d|_d|_d|_d|_d|_tj|_ tj |_ d|_ dS(Ni(Rt__init__t_XmlprocDriver__parsingt_XmlprocDriver__validatet_XmlprocDriver__namespacest_XmlprocDriver__ext_pest_XmlprocDriver__locatorRtLexicalHandlert _lex_handlert DeclHandlert _decl_handlertNonet_parser(tself((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyR &s      cCsmd|_|jr!tj}n tj}|jdksK|jdkr|jdkrlt j |_n|jdkrt j |_n|j rt ||j|j|}|j|q|j|n|jdkr|j|n|jdks|jdkr|j|n|j||jrD|jdn||_|ri|j|jndS(Ni(R R Rt XMLValidatorRt XMLProcessort _cont_handlerRRRtContentHandlerRR tNamespaceFiltertset_applicationt _err_handlertset_error_handlerRt _dtd_handlertset_dtd_listenertset_pubid_resolverRtset_read_external_subsetRt set_sysidt getSystemId(Rtsourcetparsertfilter((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt prepareParser3s0        cCs-|js|jdn|jj|dS(N(RR(Rtfeed(Rtdata((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyR)]s cCs|jj|jjdS(N(RtflushtparseEnd(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytclosebs cCsd|_d|_dS(Ni(RRR (R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytresetfs cCsdS(N((Rtlocale((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt setLocalejscCs|tjks|tjkr"dS|tjkr8|jS|tjkrN|jS|tjkrd|jS|tj krwdStj d|dS(NiisFeature '%s' not recognized( Rtfeature_string_interningtfeature_external_gestfeature_external_pesRtfeature_validationR tfeature_namespacesR tfeature_namespace_prefixestSAXNotRecognizedException(Rtname((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt getFeaturems cCs|jrtjd|n|tjkrO||_|jrd|_qn|tjkrj||_n|tjks|tj kr|stjdqnX|tj kr|rtjdqn.|tj kr||_ntj d|dS(Ns&Cannot set feature '%s' during parsingis/This feature cannot be turned off with xmlproc.s.This feature cannot be turned on with xmlproc.sFeature '%s' not recognized( R RtSAXNotSupportedExceptionR4R RR5R R2R1R6R3R7(RR8tstate((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt setFeature}s&      cCsC|tjkr|jS|tjkr,|jStjd|dS(NsProperty '%s' not recognized(Rtproperty_lexical_handlerRtproperty_declaration_handlerRR7(RR8((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt getPropertys cCsM|tjkr||_n.|tjkr6||_ntjd|dS(NsProperty '%s' not recognized(RR=RR>RR7(RR8tvalue((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt setPropertys   cCs |jjS(N(Rt get_column(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytgetColumnNumberscCs |jjS(N(Rtget_line(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt getLineNumberscCsdS(N(R(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt getPublicIdscCs |jjS(N(Rtget_current_sysid(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyR$scCs ||_dS(N(t_locator(Rtlocator((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt set_locatorscCs|jjdS(N(Rt startDocument(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt doc_startscCs|jjdS(N(Rt endDocument(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytdoc_endscCs|jj|dS(N(Rtcomment(RR*((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pythandle_commentscCs|jj|t|dS(N(Rt startElementR(RR8tattrs((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pythandle_start_tagscCs|jj|dS(N(Rt endElement(RR8((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pythandle_end_tagscCs|jj|||!dS(N(Rt characters(RR*tstarttend((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt handle_datascCs|jj|||!dS(N(RtignorableWhitespace(RR*RWRX((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pythandle_ignorable_datascCs|jj||dS(N(RtprocessingInstruction(RttargetR*((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt handle_piscCs|jj|||dS(N(RtstartDTD(RtroottpubIdtsysId((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pythandle_doctypescCsdS(N((Rtxmlvertenctsddecl((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytset_entity_infoscCs|jS(N(RH(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt get_locatorscCs#|jjtj|d|dS(N(RtwarningRtSAXParseExceptionR(Rtmsg((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyRiscCs#|jjtj|d|dS(N(RterrorRRjR(RRk((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyRlscCs#|jjtj|d|dS(N(Rt fatalErrorRRjR(RRk((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytfatalscCsdS(N((R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt dtd_startscCs|jjdS(N(RtendDTD(R((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytdtd_endscCs|jj|dS(N(RRO(Rtcontents((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyRPscCs|jj||dS(N(RR\(RR]trem((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyR^scCs|jj||dS(N(RtinternalEntityDecl(RR8tval((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytnew_general_entityscCs<|s|jj|||n|jj||||dS(N(RtexternalEntityDeclRtunparsedEntityDecl(Rtent_nametpub_idtsys_idtndata((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytnew_external_entityscCs|jjd||dS(Nt%(RRt(RR8Ru((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytnew_parameter_entityscCs|jjd|||dS(NR~(RRw(RR8tpubidtsysid((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytnew_external_pescCs|jj|||dS(N(Rt notationDecl(RR8RR((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt new_notationscCsJ|dkrd}n|dgdfkr3d}n|jj||dS(NtANYttEMPTY(RRt elementDecl(Rt elem_namet elem_cont((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytnew_element_type s    cCs |jj|||||dS(N(Rt attributeDecl(Rtelemtattrttypeta_declta_def((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt new_attributescCs|jj||S(N(t _ent_handlert resolveEntity(RRR((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytresolve_pe_pubidscCs|jj||S(N(RR(RRR((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytresolve_doctype_pubidscCs|jj||S(N(RR(RRR((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pytresolve_entity_pubids(+t__name__t __module__R R(R)R-R.R0R9R<R?RARCRERFR$RJRLRNRPRSRURYR[R^RcRgRhRiRlRnRoRqRvR}RRRRRRRR(((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyR sV *                                       RcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zdd dZRS(sAn xmlproc application that processes qualified names and reports them as (URI, local-part). It reports errors through the error reporting mechanisms of the parser.cCsW||_||_||_idd6|_d|jdsc Csi}g}x|jD]\}}|d dkrm|d}tj|ddkr|jjdqn|dkrd}nq|jj|r|j||||jjdd|fSt|dkr|ddkrjd|fSy|j|d|dfSWqtk r|jjdd|fSXn_|rd|fS|dkr||fS|jjdr |dkr |jd|fSd|fSdS( NRiiliRiinR( RtsplittlenR&RRRtKeyErrorR(RR8t default_toRtn((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt__process_names&      N(RRt__doc__R RJRLRNRPRSRURYR[R^RcRgRR(((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyR&s     1     cCstS(N(R (((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyt create_parsers(RttypesRtxml.parsers.xmlprocRRRtxml.saxRtxml.sax.xmlreaderRRRtxml.sax.saxutilsRRR RR(((sP/opt/freeware/lib64/python2.7/site-packages/_xmlplus/sax/drivers2/drv_xmlproc.pyts