[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/common/src GParser.py
From: |
Jason Cater |
Subject: |
gnue/common/src GParser.py |
Date: |
Wed, 20 Mar 2002 16:23:32 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/03/20 16:23:32
Modified files:
common/src : GParser.py
Log message:
Moved from PyXML-specific parser to SAX2 parser included with Python
2.0+ (this *may* remove the pyxml dependency
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/common/src/GParser.py.diff?tr1=1.27&tr2=1.28&r1=text&r2=text
Patches:
Index: gnue/common/src/GParser.py
diff -c gnue/common/src/GParser.py:1.27 gnue/common/src/GParser.py:1.28
*** gnue/common/src/GParser.py:1.27 Wed Mar 20 15:02:13 2002
--- gnue/common/src/GParser.py Wed Mar 20 16:23:32 2002
***************
*** 30,38 ****
import sys
try:
- from xml.sax import saxexts
- from xml.sax import saxlib
from xml.sax import saxutils
except ImportError:
print """
This GNUe tool requires PyXML to be installed.
--- 30,37 ----
import sys
try:
from xml.sax import saxutils
+ import xml.sax
except ImportError:
print """
This GNUe tool requires PyXML to be installed.
***************
*** 41,47 ****
http://pyxml.sourceforge.net/
"""
!
import string
import GDebug
--- 40,46 ----
http://pyxml.sourceforge.net/
"""
!
import string
import GDebug
***************
*** 80,86 ****
def loadXMLObject(URL, handler, rootType, xmlFileType,
initialize=1, attributes={}, initParameters={}):
# Create a parser
! parser = saxexts.make_parser()
# Create a stack for the parsing routine
object = None
--- 79,85 ----
def loadXMLObject(URL, handler, rootType, xmlFileType,
initialize=1, attributes={}, initParameters={}):
# Create a parser
! parser = xml.sax.make_parser()
# Create a stack for the parsing routine
object = None
***************
*** 89,97 ****
dh = handler()
# Tell the parser to use our handler
! parser.setDocumentHandler(dh)
! parser.parseFile(URL)
! parser.close()
object = dh.getRoot()
--- 88,95 ----
dh = handler()
# Tell the parser to use our handler
! parser.setContentHandler(dh)
! parser.parse(URL)
object = dh.getRoot()
***************
*** 170,176 ****
# process the xml file.
#
#######################################################
! class xmlHandler(saxlib.HandlerBase):
def __init__(self):
self.xmlElements = {}
--- 168,174 ----
# process the xml file.
#
#######################################################
! class xmlHandler(xml.sax.ContentHandler):
def __init__(self):
self.xmlElements = {}
***************
*** 182,190 ****
--- 180,195 ----
self.root = None
self._phaseInitCount = 0
+ #
+ # Called by client code to get the "root" node
+ #
def getRoot(self):
return self.root
+ #
+ # Called by the internal SAX parser whenever
+ # a starting XML element/tag is encountered.
+ #
def startElement(self, name, saxattrs):
GDebug.printMesg(50, "<%s>" % name)
***************
*** 248,256 ****
self.nameStack.insert(0, name)
! def characters(self, ch, start, length):
!
! text = ch[start:start+length]
if self.xmlStack[0] != None:
--- 253,263 ----
self.nameStack.insert(0, name)
! #
! # Called by the internal SAX parser whenever
! # text (not part of a tag) is encountered.
! #
! def characters(self, text):
if self.xmlStack[0] != None:
***************
*** 269,274 ****
--- 276,285 ----
GContent(self.xmlStack[0], text)
+ #
+ # Called by the internal SAX parser whenever
+ # an ending XML tag/element is encountered.
+ #
def endElement(self, name):
self.nameStack.pop(0)
child = self.xmlStack.pop(0)
- gnue/common/src GParser.py,
Jason Cater <=