Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/xml/sax/
Upload File :
Current File : //usr/lib/python2.7/xml/sax/expatreader.pyc


|_c@s dZdZddlTddlmZmZddlmZddlmZmZddlm	Z	ddlm
Z
mZdd	lZej
d
 dkreden[ydd
lmZWn ek
reden#XeedredenddlmZmZmZejZejZydd	lZWnek
r_dZnXdd	lZejZ[[dejfdYZdej ejfdYZ!dZ"e#dkrdd	l$Z%e"Z&e&j'e%j(jj)e&j*e%j(j+e&j,dnd	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((s)/usr/lib/python2.7/xml/sax/expatreader.pyt_mkproxy'stExpatLocatorcBs;eZdZdZdZdZdZdZRS(sLocator 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((s)/usr/lib/python2.7/xml/sax/expatreader.pyt__init__6scCs&|j}|jdkrdS|jjS(N(Rt_parsertNonetErrorColumnNumber(RR((s)/usr/lib/python2.7/xml/sax/expatreader.pytgetColumnNumber9s	cCs&|j}|jdkrdS|jjS(Ni(RRRtErrorLineNumber(RR((s)/usr/lib/python2.7/xml/sax/expatreader.pyt
getLineNumber?s	cCs&|j}|dkrdS|jjS(N(RRt_sourcetgetPublicId(RR((s)/usr/lib/python2.7/xml/sax/expatreader.pyREs	cCs&|j}|dkrdS|jjS(N(RRRtgetSystemId(RR((s)/usr/lib/python2.7/xml/sax/expatreader.pyRKs	(t__name__t
__module__t__doc__RRRRR(((s)/usr/lib/python2.7/xml/sax/expatreader.pyR0s				tExpatParsercBs%eZdZdd$dZdZdZdZd	Zd
ZdZ	dZ
dd
ZdZdZ
dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd!Zd"Z RS(%s$SAX driver for the pyexpat C module.iiiicCsetjj||tj|_d|_||_d|_d|_	g|_
d|_d|_dS(Nii(
RtIncrementalParserRtInputSourceRRRt_namespacest_lex_handler_propt_parsingt
_entity_stackt
_external_gest
_interning(RtnamespaceHandlingtbufsize((s)/usr/lib/python2.7/xml/sax/expatreader.pyRWs						cCsOtj|}||_|j|jjt|tjj	||dS(s3Parse an XML document from a URL or an InputSource.N(
R
tprepare_input_sourceRtresett
_cont_handlertsetDocumentLocatorRRR#tparse(Rtsource((s)/usr/lib/python2.7/xml/sax/expatreader.pyR1ds
	
cCs/|jdk	r+|jj|jndS(N(RRRtSetBase(RR2((s)/usr/lib/python2.7/xml/sax/expatreader.pyt
prepareParsermscCs-tjj|||jr)|jndS(N(RR#tsetContentHandlerR't_reset_cont_handler(RR((s)/usr/lib/python2.7/xml/sax/expatreader.pyR5ss	cCsl|tkr|jS|tkr,|jdk	S|tttfkrEdS|tkrX|j	St
d|dS(NisFeature '%s' not recognized(RR%RR*RRRRRR)tSAXNotRecognizedException(Rtname((s)/usr/lib/python2.7/xml/sax/expatreader.pyt
getFeaturexs
	cCs|jrtdn|tkr0||_n|tkrH||_n|tkr|rx|jdkri|_qqd|_n||t	kr|rtdqnX|t
kr|rtdqn4|tkr|rtdqntd|dS(Ns!Cannot set features while parsings!expat does not support validations/expat does not read external parameter entitiess(expat does not report namespace prefixessFeature '%s' not recognized(
R'tSAXNotSupportedExceptionRR%RR)RR*RRRRR7(RR8tstate((s)/usr/lib/python2.7/xml/sax/expatreader.pyt
setFeatures2	cCs|tjkr|jS|tkr)|jS|tkr{|jrlt|jdr]|jjSt	dq{t
dnt	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=R7R:(RR8((s)/usr/lib/python2.7/xml/sax/expatreader.pytgetPropertys	
cCs||tjkr1||_|jrx|jqxnG|tkrI||_n/|tkrhtd|nt	d|dS(NsProperty '%s' cannot be setsProperty '%s' not recognized(
RR>R&R't_reset_lex_handler_propRR*RR:R7(RR8tvalue((s)/usr/lib/python2.7/xml/sax/expatreader.pytsetPropertys		
cCs|js,|jd|_|jjny|jj||WnDtjk
r}ttj	|j
||}|jj|nXdS(Ni(
R'R.R/t
startDocumentRtParseR
terrortSAXParseExceptiontErrorStringtcodet_err_handlert
fatalError(RtdatatisFinaltetexc((s)/usr/lib/python2.7/xml/sax/expatreader.pytfeeds	
	cCsC|jr
dS|jddd|jjd|_d|_dS(NtRMii(R(RPR/tendDocumentR'RR(R((s)/usr/lib/python2.7/xml/sax/expatreader.pytcloses	
	cCs(|jj|j_|jj|j_dS(N(R/tprocessingInstructionRtProcessingInstructionHandlert
characterstCharacterDataHandler(R((s)/usr/lib/python2.7/xml/sax/expatreader.pyR6scCs|j}|j}|dkrNd|_d|_d|_d|_d|_n<|j|_|j	|_|j
|_|j|_|j|_dS(N(
R&RRtCommentHandlertStartCdataSectionHandlertEndCdataSectionHandlertStartDoctypeDeclHandlertEndDoctypeDeclHandlertcommentt
startCDATAtendCDATAtstart_doctype_decltendDTD(RtlexR((s)/usr/lib/python2.7/xml/sax/expatreader.pyRAs						cCsc|jr]tj|jjdd|j|_d|j_|j|j_	|j
|j_nBtj|jjd|j|_|j|j_	|j
|j_|j|j|j_|j|j_|j|j_|j|j_d|_|jr|jn|j|j_y|j|j_Wntk
r9nX|jj tj!d|_"g|_#dS(Nt tinternii($R%R
RRtgetEncodingR*Rtnamespace_prefixeststart_element_nstStartElementHandlertend_element_nstEndElementHandlert
start_elementtend_elementR6tunparsed_entity_decltUnparsedEntityDeclHandlert
notation_decltNotationDeclHandlertstart_namespace_decltStartNamespaceDeclHandlertend_namespace_decltEndNamespaceDeclHandlerRt_decl_handler_propR&RAtexternal_entity_reftExternalEntityRefHandlertskipped_entity_handlertSkippedEntityHandlertAttributeErrortSetParamEntityParsingt*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONER'R((R((s)/usr/lib/python2.7/xml/sax/expatreader.pyR.s6	
		

	
	cCs|jdkrdS|jjS(N(RRR(R((s)/usr/lib/python2.7/xml/sax/expatreader.pyRscCs|jdkrdS|jjS(Ni(RRR(R((s)/usr/lib/python2.7/xml/sax/expatreader.pyR scCs
|jjS(N(RR(R((s)/usr/lib/python2.7/xml/sax/expatreader.pyR%scCs
|jjS(N(RR(R((s)/usr/lib/python2.7/xml/sax/expatreader.pyR(scCs|jj|t|dS(N(R/tstartElementtAttributesImpl(RR8tattrs((s)/usr/lib/python2.7/xml/sax/expatreader.pyRk,scCs|jj|dS(N(R/t
endElement(RR8((s)/usr/lib/python2.7/xml/sax/expatreader.pyRl/scCsL|j}t|dkr-d|f}n5t|dkrV|d|df}nt|}i}i}x|jD]\}}|j}t|}	|	dkr|}
d|f}nQ|	dkrd|d|df}
|d|df}n|d}
t|}|||<|
||<q{W|jj|dt||dS(Niiis%s:%si(tsplittlenRttupletitemsR/tstartElementNStAttributesNSImpl(RR8RtpairtnewattrstqnamestanameRBtpartstlengthtqnametapair((s)/usr/lib/python2.7/xml/sax/expatreader.pyRg2s.

cCsy|j}t|dkr-d|f}n5t|dkrV|d|df}nt|}|jj|ddS(Niii(RRRRR/tendElementNS(RR8R((s)/usr/lib/python2.7/xml/sax/expatreader.pyRiTscCs|jj||dS(N(R/RT(RttargetRL((s)/usr/lib/python2.7/xml/sax/expatreader.pytprocessing_instruction`scCs|jj|dS(N(R/RV(RRL((s)/usr/lib/python2.7/xml/sax/expatreader.pytcharacter_datadscCs|jj||dS(N(R/tstartPrefixMapping(Rtprefixturi((s)/usr/lib/python2.7/xml/sax/expatreader.pyRqgscCs|jj|dS(N(R/tendPrefixMapping(RR((s)/usr/lib/python2.7/xml/sax/expatreader.pyRsjscCs|jj|||dS(N(R&tstartDTD(RR8tsysidtpubidthas_internal_subset((s)/usr/lib/python2.7/xml/sax/expatreader.pyR`mscCs|jj||||dS(N(t_dtd_handlertunparsedEntityDecl(RR8tbaseRRt
notation_name((s)/usr/lib/python2.7/xml/sax/expatreader.pyRmpscCs|jj|||dS(N(RtnotationDecl(RR8RRR((s)/usr/lib/python2.7/xml/sax/expatreader.pyRosscCs|js
dS|jj||}tj||jjp=d}|jj|j	|jf|j	j
||_	||_ytjj
||WndSX|jd\|_	|_|jd=dS(NiRQii(R)t_ent_handlert
resolveEntityR
R-RRR(tappendRtExternalEntityParserCreateRR#R1(RtcontextRRRR2((s)/usr/lib/python2.7/xml/sax/expatreader.pyRvvs 				
cCs'|rd|}n|jj|dS(Nt%(R/t
skippedEntity(RR8tis_pe((s)/usr/lib/python2.7/xml/sax/expatreader.pyRxs
ii(!RR R!RR1R4R5R9R<R@RCRPRSR6RAR.RRRRRkRlRgRiRRRqRsR`RmRoRvRx(((s)/usr/lib/python2.7/xml/sax/expatreader.pyR"Ts>
									
			'							"									cOs
t||S(N(R"(targstkwargs((s)/usr/lib/python2.7/xml/sax/expatreader.pyt
create_parserst__main__s:http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml(-R!tversiontxml.sax._exceptionstxml.sax.handlerRRRRRRRRtsystplatformtSAXReaderNotAvailableRtxml.parsersR
tImportErrorR?txml.saxRR
RR~Rt_weakrefRtweakreftproxytLocatorRR#R"RRtxml.sax.saxutilstxmltpR5tsaxtXMLGeneratortsetErrorHandlertErrorHandlerR1(((s)/usr/lib/python2.7/xml/sax/expatreader.pyt<module>sJ

		

	$A