Beispiel #1
0
class XElementParser:

    def __init__(self, moduleList, parser=None):
        if parser == None:
            self.parser = make_parser()
        else:
            self.parser = parser
        self.parser_error_handler = ErrorPrinter()
        self.parser.setErrorHandler(self.parser_error_handler)
        self.xth = XTreeHandler(IgnoreWhiteSpace='yes',
            RemoveWhiteSpace='yes', CreateElementMap='yes',
            RequireUserClasses='yes')
        for module in moduleList:
            if type(module) == types.ModuleType:
                self.xth.registerNamespace(module)

        self.parser.setFeature(handler.feature_namespaces, 1)
        self.parser.setFeature(handler.feature_namespace_prefixes, 1)
        self.parser.setContentHandler(self.xth)

    def process(self, document_uri):
        Ok = None
        try:
            self.parser_error_handler.reset()
            self.parser.parse(document_uri)
            if self.parser_error_handler.has_errors():
                raise "validation failed"
            return self.xth.getDocument().getChild()
        except:
            return "Unknown exception: George needs to work on this."
Beispiel #2
0
    def __init__(self, moduleList, parser=None):
        if parser == None:
            self.parser = make_parser()
        else:
            self.parser = parser
        self.parser_error_handler = ErrorPrinter()
        self.parser.setErrorHandler(self.parser_error_handler)
        self.xth = XTreeHandler(IgnoreWhiteSpace='yes',
            RemoveWhiteSpace='yes', CreateElementMap='yes',
            RequireUserClasses='yes')
        for module in moduleList:
            if type(module) == types.ModuleType:
                self.xth.registerNamespace(module)

        self.parser.setFeature(handler.feature_namespaces, 1)
        self.parser.setFeature(handler.feature_namespace_prefixes, 1)
        self.parser.setContentHandler(self.xth)