Changeset 98

Show
Ignore:
Timestamp:
04/12/02 14:33:59 (7 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBFoundation/RBFoundation/XMLClassBuilder.py

    r93 r98  
    5151 
    5252    def _GetElementFactory(self, owner, parent, namespace, node, attributes): 
    53         strModule, strClass = self._GetModuleClass(namespace, node) 
    54         module = __import__(strModule, globals(), {}, [strClass]) 
    55         result = getattr(module, strClass) 
     53        result = None 
     54 
     55        if self._elements: 
     56            # Try to get a factory from the parent 
     57            factory = getattr(self._elements[-1], '_xmlChildFactory', None) 
     58            result = factory and factory(owner, parent, namespace, node, attributes) 
     59 
     60        if not result: 
     61            strModule, strClass = self._GetModuleClass(namespace, node) 
     62            module = __import__(strModule, globals(), {}, [strClass]) 
     63            result = getattr(module, strClass) 
     64 
    5665        return result 
    5766