/[opental]/opental/pax/xmlpaxparser.py
ViewVC logotype

Diff of /opental/pax/xmlpaxparser.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by lalo, Thu Nov 28 20:16:08 2002 UTC revision 1.9 by lalo, Thu Feb 20 10:41:19 2003 UTC
# Line 13  def split_ns(spec, default=None): Line 13  def split_ns(spec, default=None):
13          return default, spec          return default, spec
14    
15  class _parse_in_progress(object):  class _parse_in_progress(object):
16      def __init__(self, parser):      def __init__(self, parser, module):
17            self._module = module
18          self.stack = []          self.stack = []
19          self.namespaces = []          self.namespaces = []
20          self.ns_pushed = False          self.ns_pushed = False
# Line 42  class _parse_in_progress(object): Line 43  class _parse_in_progress(object):
43              nsdecls = self.namespaces[0]              nsdecls = self.namespaces[0]
44          else:          else:
45              nsdecls = {}              nsdecls = {}
46          self.stack.append(core.Element(ns, name, attributes, nsdecls, self.__raw()))          self.stack.append(self._module.Element(ns, name, attributes, nsdecls, self.__raw()))
47          self.ns_pushed = False          self.ns_pushed = False
48    
49      def end_element(self, name):      def end_element(self, name):
# Line 54  class _parse_in_progress(object): Line 55  class _parse_in_progress(object):
55          self.ns_popped = False          self.ns_popped = False
56    
57      def processing_instruction(self, *a):      def processing_instruction(self, *a):
58          self.stack[-1].append(core.Declaration(self.__raw()[2:-1]))          self.stack[-1].append(self._module.Declaration(self.__raw()[2:-1]))
59    
60      def text(self, data):      def text(self, data):
61          self.stack[-1].append(data)          self.stack[-1].append(data)
# Line 74  class _parse_in_progress(object): Line 75  class _parse_in_progress(object):
75          self.ns_popped = True          self.ns_popped = True
76            
77      def comment(self, data):      def comment(self, data):
78          self.stack[-1].append(core.Comment(data))          self.stack[-1].append(self._module.Comment(data))
79    
80    
81  import xml.parsers.expat  import xml.parsers.expat
82    
83  def parse(data, builtin_namespaces=None, encoding=None):  def parse(data, builtin_namespaces=None, encoding=None, module=core):
84      parser = xml.parsers.expat.ParserCreate(namespace_separator=' ')      parser = xml.parsers.expat.ParserCreate(namespace_separator=' ')
85      handler = _parse_in_progress(parser)      handler = _parse_in_progress(parser, module)
86      if builtin_namespaces is not None:      if builtin_namespaces is not None:
87          handler.namespaces.append(builtin_namespaces)          handler.namespaces.append(builtin_namespaces)
88      parser.Parse(data, 1)      parser.Parse(data, 1)

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26