def validateManifest(): parser = xmlval.XMLValidator() parser.set_error_handler(utils.ErrorPrinter(parser)) dtd = xmldtd.load_dtd('/mvista/arch/manifest.dtd') parser.val.dtd = parser.dtd = parser.ent = dtd parser.parse_resource('manifest.xml') return
def parseSource(self,sourcefile): try: parser = xmlval.XMLValidator() packParser = PackageXmlParser(sourcefile,self.msgLevel,self.pkgName) self.parser.set_application(packParser) self.parser.parse_resource(sourcefile) return packParser.data['lcg'][0] except : pass
def validate_xml(xml_filename): xv = xmlval.XMLValidator() bh = BadXspifPluginErrorHandler(xv.app.locator) xv.set_error_handler(bh) xv.parse_resource(xml_filename) return
def validate(file): print "validating..." d = xmldtd.load_dtd(sys.path[0] + "/xmlfapi.dtd") p = xmlval.XMLValidator() p.set_application(XmlFapiValidator()) try: p.parse_resource(file) except: sys.stderr.write("Cannot validate XML source\n") pass pass
def parse(self, source): try: self.__parsing = 1 # interpret source source = prepare_input_source(source) # create parser if self.__validate: parser = xmlval.XMLValidator() else: parser = xmlproc.XMLProcessor() # set handlers if self._cont_handler != None or self._lex_handler != None: if self._cont_handler == None: self._cont_handler = saxlib.ContentHandler() if self._lex_handler == None: self._lex_handler = saxlib.LexicalHandler() if self.__namespaces: filter = NamespaceFilter(parser, self._cont_handler, self._lex_handler, self) parser.set_application(filter) else: parser.set_application(self) if self._err_handler != None: parser.set_error_handler(self) if self._decl_handler != None or self._dtd_handler != None: parser.set_dtd_listener(self) # FIXME: set other handlers bufsize=16384 self._parser = parser # make it available for callbacks #parser.parse_resource(source.getSystemId()) # FIXME: rest! parser.set_sysid(source.getSystemId()) parser.read_from(source.getByteStream(), bufsize) source.getByteStream().close() parser.flush() parser.parseEnd() finally: self._parser = None self.__parsing = 0
def _validate(self, html, offset=0, izXhtmlValidationListener=None): #dtdDoc = xmldtd.load_dtd(self.getDtdFilename()) #@UnusedVariable val = xmlval.XMLValidator() handler = ZDtdParserHandlerApp(val, offset, izXhtmlValidationListener) val.set_application(handler) val.set_data_after_wf_error(0) val.set_error_handler(handler) if izXhtmlValidationListener: izXhtmlValidationListener.onXhtmlValidationStart() try: val.parser.parse_string(html) except Exception, e: if izXhtmlValidationListener: izXhtmlValidationListener.onXhtmlValidationException(e)
def validateXMLFile(fileName): # logger.critical('Hacked version of validateXMLFile !!!! always returns True!!!!') # logger.critical('UCL is down - no DTD!!!') # return True try: validator = xmlval.XMLValidator() validator.parse_resource(fileName) logger.debug(fileName + ' is validated against DTD') except SystemExit, e: logger.error(fileName + ' is NOT validated against DTD ') msg = 'caught SytemExit: maybe xml file does not refer to a ' msg += 'DTD or is invalid against DTD' logger.error(msg) raise Exception, str( os.path.basename(fileName)) + " not valid against DTD"
def prepareParser(self, source): self.__parsing = 1 # create parser if self.__validate: parser = xmlval.XMLValidator() else: parser = xmlproc.XMLProcessor() # set handlers if self._cont_handler != None or self._lex_handler != None: if self._cont_handler == None: self._cont_handler = saxlib.ContentHandler() if self._lex_handler == None: self._lex_handler = saxlib.LexicalHandler() if self.__namespaces: filter = NamespaceFilter(parser, self._cont_handler, self._lex_handler, self) parser.set_application(filter) else: parser.set_application(self) if self._err_handler != None: parser.set_error_handler(self) if self._decl_handler != None or self._dtd_handler != None: parser.set_dtd_listener(self) parser.set_pubid_resolver(self) # FIXME: set other handlers if self.__ext_pes: parser.set_read_external_subset(1) self._parser = parser # make it available for callbacks if source: parser.set_sysid(source.getSystemId())
def error(self, message): print "B³±d: " + message def fatal(self, message): print "B³±d krytyczny: " + message # Otwórz pliki HTML i XSTL jako strumienie. html = open('mojblog.html') xsl = open('HTMLnaRSS.xsl') # Przetwórz strumienie i utwórz z nich Ÿród³a wejœciowe. parsedxml = InputSource.DefaultFactory.fromStream(html, "mojblog.html") parsedxsl = InputSource.DefaultFactory.fromStream(xsl, "HTMLnaRSS.xsl") # Utwórz nowy procesor, do³¹cz do niego arkusz stylu a nastêpnie przekszta³æ XML. processor = Processor() processor.appendStylesheet(parsedxsl) HTML = processor.run(parsedxml) # Zapisz wyjœciowy dokument RSS w pliku. output = open("kanalRSS.xml", 'w') output.write(HTML) output.close # Dokonaj walidacji kana³u RSS. parser = xmlval.XMLValidator() parser.set_error_handler(docErrorHandler(parser)) parser.parse_resource("kanalRSS.xml")
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration import sys if __name__ == '__main__': import os, getopt from xml.parsers.xmlproc import xmlproc, xmlval opts, args = getopt.getopt(sys.argv[1:], '') if len(args) != 1: print 'must supply the full path of the xml file' sys.exit(0) fn = args[0] if not os.path.exists(fn): print '%s: inexistant!' % fn sys.exit(0) try: validator = xmlval.XMLValidator() validator.parse_resource(fn) print '%s: valid OK.' % fn except Exception, e: print '%s: NOT valid: FAIL.' % fn
def __init__(self,msgLevel='ALL',pkgName=''): self.msgLevel = msgLevel self.pkgName = pkgName self.parser = xmlval.XMLValidator()
def __init__(self, parent, ID, title): wxFrame.__init__(self, parent, ID, title, wxDefaultPosition, wxSize(550, 450)) self.SetAutoLayout(true) self.CreateStatusBar(1) # --- Menu menu = wxMenu() menu.Append(ID_DOCUMENT, "&Find document", "Find a document to validate") menu.Append(ID_CATALOG, "Find &catalog", "Find a catalog to resolve public identifiers with") menu.Append(ID_EXIT, "E&xit", "Terminate the program") menuBar = wxMenuBar() menuBar.Append(menu, "&File") self.SetMenuBar(menuBar) EVT_MENU(self, ID_DOCUMENT, self.FindDocument) EVT_MENU(self, ID_CATALOG, self.FindCatalog) EVT_MENU(self, ID_EXIT, self.TimeToQuit) # --- Field: XML document location loc = wxTextCtrl(self, -1, "") lc = wxLayoutConstraints() lc.top.SameAs(self, wxTop, 5) lc.height.AsIs() lc.left.SameAs(self, wxLeft, 5) lc.right.SameAs(self, wxRight, 5) loc.SetConstraints(lc) # --- Field: Catalog file location cat_loc = "" if os.environ.has_key("XMLXCATALOG"): cat_loc = os.environ["XMLXCATALOG"] elif os.environ.has_key("XMLSOCATALOG"): cat_loc = os.environ["XMLSOCATALOG"] cat = wxTextCtrl(self, -1, cat_loc) lc = wxLayoutConstraints() lc.top.SameAs(loc, wxBottom, 5) lc.height.AsIs() lc.left.SameAs(self, wxLeft, 5) lc.right.SameAs(self, wxRight, 5) cat.SetConstraints(lc) # --- A containing panel for a row of controls panel = wxPanel(self, -1) lc = wxLayoutConstraints() lc.top.SameAs(cat, wxBottom) lc.height.AsIs() lc.left.SameAs(self, wxLeft) lc.right.SameAs(self, wxRight) panel.SetConstraints(lc) # --- Buttons parse_id = NewId() parse_btn = wxButton(panel, parse_id, "Parse") lc = wxLayoutConstraints() lc.top.SameAs(panel, wxTop, 5) lc.height.AsIs() lc.left.SameAs(panel, wxLeft, 5) lc.width.AsIs() parse_btn.SetConstraints(lc) EVT_BUTTON(self, parse_id, self.Parse) # --- Field: Language lang = wxComboBox(panel, -1) # FIXME: want to set style lc = wxLayoutConstraints() lc.top.SameAs(panel, wxTop, 5) lc.height.AsIs() lc.left.SameAs(parse_btn, wxRight, 5) lc.width.AsIs() lang.SetConstraints(lc) for lang_name in errors.get_language_list(): lang.Append(lang_name) lang.SetSelection(0) # --- Field: Warnings warn = wxCheckBox(panel, -1, "Warnings") lc = wxLayoutConstraints() lc.top.SameAs(panel, wxTop, 5) lc.height.AsIs() lc.left.RightOf(lang, 5) lc.width.AsIs() warn.SetConstraints(lc) # --- Field: Output? output = wxCheckBox(panel, -1, "Show output") lc = wxLayoutConstraints() lc.top.SameAs(panel, wxTop, 5) lc.height.AsIs() lc.left.RightOf(warn, 5) lc.width.AsIs() output.SetConstraints(lc) # --- Error list list_id = NewId() list = wxListCtrl(self, list_id, wxDefaultPosition, wxDefaultSize, wxLC_REPORT | wxSUNKEN_BORDER) list.InsertColumn(0, "System identifier") list.InsertColumn(1, "Line") list.InsertColumn(2, "Column") list.InsertColumn(3, "Message") lc = wxLayoutConstraints() lc.top.SameAs(panel, wxBottom, 5) lc.bottom.SameAs(self, wxBottom, 5) lc.left.SameAs(self, wxLeft, 5) lc.right.SameAs(self, wxRight, 5) list.SetConstraints(lc) # --- Global data self.loc = loc self.cat = cat self.list = list self.parser = xmlval.XMLValidator() self.errors = ErrorRecorder(self.parser) self.lang = lang self.warn = warn self.output = output
def _create_parser(self): return xmlval.XMLValidator()
def validate_dtd(file): if not ValidationError: return # return if we (are assumed to) have not loaded the xml modules parser = xmlval.XMLValidator() parser.set_error_handler(ErrorHandler(parser)) parser.parse_resource(file)
def parsefile(self, fp): try: t = xmlutils.loaddata(fp) except: self.invalid() return False rt = t.documentElement if rt.nodeName != "soulforge_character": self.invalid() return False uni = rt.getAttribute("universe") if uni: tmp = sfuniverses.getuniverse(uni) if tmp: self.universe = tmp() dtd = self.universe.dtd() if dtd: if headerdata.options.debug: print dtd docstring = xmlutils.load(fp) dtddata = xmldtd.load_dtd_string(dtd) if headerdata.options.debug: from xml.parsers.xmlproc.utils import ErrorPrinter docpointer = cStringIO.StringIO(docstring) parser = xmlval.XMLValidator() parser.dtd = dtddata parser.set_error_handler( ErrorPrinter(parser, out=sys.stderr)) parser.read_from(docpointer) parser.close() docpointer.close() del docpointer del parser docpointer = cStringIO.StringIO(docstring) parser = xmlval.XMLValidator() parser.dtd = dtddata parser.set_error_handler(ErrorRaiser(parser)) try: parser.read_from(docpointer) parser.close() docpointer.close() del parser except: err = wx.MessageDialog( self, _("Error: Character data is malformed"), _("Error!"), wx.OK) err.Centre(wx.BOTH) err.ShowModal() err.Destroy() return False if headerdata.options.debug: print "Character data is legitimate" else: if headerdata.options.debug: print "Character has no DOCTYPE structure definition, proceed with caution..." else: err = wx.MessageDialog( self, _("Error: Character has invalid or no universe"), _("Error!"), wx.OK) err.Centre(wx.BOTH) err.ShowModal() err.Destroy() return False return t