ó ěm>c@sűdZddlZddlZddlZddlZddlmZmZmZddlm Z ddlm Z ddl m Z m Z ddlmZmZddlmZdd lmZdd l mZdd lmZd ejfd „ƒYZdS(s Components for reading XML files from PyExpat (Python 1.6, 2.0 or from PyXML). WWW: http://4suite.com/4DOM e-mail: support@4suite.com Copyright (c) 2000-2001 Fourthought Inc, USA. All Rights Reserved. See http://4suite.com/COPYRIGHT for license and copyright information i˙˙˙˙N(tEntityt DocumentTypetDocument(tNode(timplementation(t SplitQNamet ReleaseNode(t XML_NAMESPACEtXMLNS_NAMESPACE(tElement(tAttr(treader(texpattReadercBsžeZd„Zdd„Zd„Zdd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„ZRS(cCsdS(N((tself((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyt__init__scCs“d|_d|_g|_|rR||_|jjƒ|_|jj|jƒnd|_d|_g|_it d6|_ g|_ d|_ dS(Ntxmlt( tNonet _ownerDoct _rootNodet _nodeStacktcreateDocumentFragmenttappendt_dtt_xmlDeclt_orphanedNodesRt _namespacest_namespaceStackt _currText(RtownerDoc((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyt initStates         cCsŚtjƒ|_d|j_|j|j_|j|j_|j|j_ |j |j_ |j |j_ |j|j_|j|j_|j|j_|j|j_dS(Ni(R t ParserCreatetparsert buffer_textt startElementtStartElementHandlert endElementtEndElementHandlert characterstCharacterDataHandlertprocessingInstructiontProcessingInstructionHandlertcommenttCommentHandlert startCDATAtStartCdataSectionHandlertendCDATAtEndCdataSectionHandlert notationDecltNotationDeclHandlertunparsedEntityDecltUnparsedEntityDeclHandler(R((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyt initParser0s cCsŃ|jƒ|j|ƒ|jj|ƒ}|sˇddlm}ddlm}|jrht |jƒn|j rt |j ƒn|||jj |jj t j|jjƒfƒ‚n|jƒ|jpĐ|j S(Ni˙˙˙˙(tFtDomException(t XML_PARSE_ERR(R5RR!t ParseFilet xml.dom.extR6txml.domR7RRRtErrorLineNumbertErrorColumnNumberR t ErrorStringt ErrorCodet_completeTextNode(RtstreamRtsuccessR6R7((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyt fromStream>s    6 cCsL|js$tj|ddƒ|_ntj|||jƒ|_d}xá|jD]Ö}|ddkr´|jj|d|dƒ}|rĄ|jj||jƒq%|jj|ƒqO|ddkr |jj |dƒ}|rů|jj||jƒq%|jj|ƒqO|ddkrOd}qOqOW|j|_ |j j |j ƒdS(NRiitpiiR+tdoctype( RRtcreateDocumentTypetcreateDocumentRRtcreateProcessingInstructiont insertBeforet appendChildt createCommentRRR(Rt docElementUritdocElementNametbefore_doctypeto_nodeRCR+((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyt _initRootNodeKs,     cCsj|jr]t|jƒr]|jdjtjkr]|jj|jƒ}|jdj|ƒnd|_dS(Ni˙˙˙˙R( RtlenRtnodeTypeRt DOCUMENT_NODERtcreateTextNodeRI(Rtnew_text((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyR?fs 1 cCs\|jr?|jƒ|jj||ƒ}|jdj|ƒn|jjd||fƒdS(Ni˙˙˙˙RC(RR?RRGRRIRR(RttargettdataRC((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyR)ns   cCs@|jƒi}g}xŹ|jƒD]ž\}}t|ƒ\}}|dkr#|jj|ƒr—|j|||<|rŠ|||j||js4tj|||ƒ|_|jjdƒnd‚dS(NRDsIllegal DocType declaration(RRRERRR(RRDtpublicIDtsystemID((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pytstartDTD¸s  cCsV|jr<|jƒ|jj|ƒ}|jdj|ƒn|jjd|fƒdS(Ni˙˙˙˙R+(RR?RRJRRIRR(Rttextt new_comment((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyR+Ŕs   cCs|jƒdS(N(R?(R((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyR-És cCsB|jr>|jj|jƒ}|jdj|ƒd|_ndS(Ni˙˙˙˙R(RRtcreateCDATASectionRRI(RRT((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyR/Ís   cCsD|jjƒj|j|||ƒ}|jjƒjƒj|ƒdS(N(Rt getFactorytcreateNotationtgetDocumentTypet getNotationst setNamedItem(RRatbasetpublicIdtsystemIdt new_notation((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyR1Ös$cCsD|jjƒj|j|||ƒ}|jjƒjƒj|ƒdS(N(RRut createEntityRwt getEntitiesRy(RRaRzR{R|t notationNameR}((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyR3Üs$N(t__name__t __module__RRRR5RBROR?R)R#R%R'RqR+R-R/R1R3(((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyR s       0    (t__doc__tostsyststringt cStringIOR:RRRRRR9RRRRR R R t xml.parsersR R (((sL/opt/freeware/lib/python2.7/site-packages/_xmlplus/dom/ext/reader/PyExpat.pyt s0