/** Writes the data provenance into xml formatted file */ public void writeXML() throws IOException { FileWriter fw; if (file.exists() == true) { file.delete(); file = new File(fileDir + File.separator + fileName); } try { fw = new FileWriter(file); bw = new BufferedWriter(fw); Vector<XMLAttributes> atVector = new Vector<XMLAttributes>(); bw.write(XML_HEADER); bw.newLine(); bw.write(DATA_PROVENANCE); bw.newLine(); openTag("provenance", true); int numEntries = pHolder.size(); ProvenanceEntry entry; for (int i = 0; i < numEntries; i++) { entry = pHolder.elementAt(i); openTag("processStep", true); atVector.add(new XMLAttributes("version", entry.getMipavVersion())); this.closedTag("program", entry.getProgramName(), atVector); atVector.add(new XMLAttributes("inputs", entry.getProgramInputs())); closedTag("programArguments", entry.getAction(), atVector); closedTag("timeStamp", entry.getTimeStamp()); closedTag("user", entry.getUser()); closedTag("hostName", entry.getHostName()); closedTag("architecture", entry.getArchitecture()); atVector.add(new XMLAttributes("version", entry.getPlatformVersion())); closedTag("platform", entry.getPlatform(), atVector); atVector.add(new XMLAttributes("version", entry.getJavaVersion())); closedTag("compiler", "java", atVector); openTag("processStep", false); } openTag("provenance", false); bw.close(); } catch (Exception e) { System.err.println("CAUGHT EXCEPTION WITHIN writeXML() of FileDataProvenance"); e.printStackTrace(); } }
public void parse() { try { // Create SAX Parser factory SAXParserFactory spfactory = SAXParserFactory.newInstance(); // Create SAX Parser SAXParser parser = spfactory.newSAXParser(); // Process XML file by given default handler parser.parse(new ByteArrayInputStream(data.getBytes()), new XMLParseContent(result, data)); // parser.parse(new File("tmp.xml"), new XMLParseRevId(userName,result,data)); } catch (Exception e) { e.printStackTrace(); } }
public static void main(String[] argv) { try { // SAXパーサーファクトリを生成 SAXParserFactory spfactory = SAXParserFactory.newInstance(); // SAXパーサーを生成 SAXParser parser = spfactory.newSAXParser(); // XMLファイルを指定されたデフォルトハンドラーで処理します String fileName = "dos2unix.mm"; // parser.parse(new File("helloworld.xml"), new HelloWorldSax()); parser.parse(new File(fileName), new HelloWorldSax()); } catch (Exception e) { e.printStackTrace(); } }
/** * Main program. * * <p>\u0040param args Program parameters. */ public static void main(String[] args) { // Initialize. try { if (!initialize(args)) { System.exit(1); } // Process all files. long startTime = System.currentTimeMillis(); int filesProcessed = processFiles(args); long processingTime = (System.currentTimeMillis() - startTime + 999) / 1000; // Terminate. terminate(filesProcessed, processingTime); } catch (Exception e) { System.out.println(e.getMessage()); } }
/** The main entry point */ public static void main(String[] args) throws FileNotFoundException, IOException { String xmlfile = null; int debug = 0; int maxErrs = 10; boolean nsAware = true; boolean validating = true; boolean showWarnings = (debug > 2); boolean showErrors = true; Vector catalogFiles = new Vector(); for (int i = 0; i < args.length; i++) { if (args[i].equals("-c")) { ++i; catalogFiles.add(args[i]); continue; } if (args[i].equals("-w")) { validating = false; continue; } if (args[i].equals("-v")) { validating = true; continue; } if (args[i].equals("-n")) { nsAware = false; continue; } if (args[i].equals("-N")) { nsAware = true; continue; } if (args[i].equals("-d")) { ++i; String debugstr = args[i]; try { debug = Integer.parseInt(debugstr); if (debug >= 0) { Debug.setDebug(debug); showWarnings = (debug > 2); } } catch (Exception e) { // nop } continue; } if (args[i].equals("-E")) { ++i; String errstr = args[i]; try { int errs = Integer.parseInt(errstr); if (errs >= 0) { maxErrs = errs; } } catch (Exception e) { // nop } continue; } xmlfile = args[i]; } if (xmlfile == null) { System.out.println("Usage: org.apache.xml.resolver.apps.xread [opts] xmlfile"); System.exit(1); } ResolvingXMLReader reader = new ResolvingXMLReader(); try { reader.setFeature("http://xml.org/sax/features/namespaces", nsAware); reader.setFeature("http://xml.org/sax/features/validation", validating); } catch (SAXException e) { // nop; } Catalog catalog = reader.getCatalog(); for (int count = 0; count < catalogFiles.size(); count++) { String file = (String) catalogFiles.elementAt(count); catalog.parseCatalog(file); } XParseError xpe = new XParseError(showErrors, showWarnings); xpe.setMaxMessages(maxErrs); reader.setErrorHandler(xpe); String parseType = validating ? "validating" : "well-formed"; String nsType = nsAware ? "namespace-aware" : "namespace-ignorant"; if (maxErrs > 0) { System.out.println("Attempting " + parseType + ", " + nsType + " parse"); } Date startTime = new Date(); try { reader.parse(xmlfile); } catch (SAXException sx) { System.out.println("SAX Exception: " + sx); } catch (Exception e) { e.printStackTrace(); } Date endTime = new Date(); long millisec = endTime.getTime() - startTime.getTime(); long secs = 0; long mins = 0; long hours = 0; if (millisec > 1000) { secs = millisec / 1000; millisec = millisec % 1000; } if (secs > 60) { mins = secs / 60; secs = secs % 60; } if (mins > 60) { hours = mins / 60; mins = mins % 60; } if (maxErrs > 0) { System.out.print("Parse "); if (xpe.getFatalCount() > 0) { System.out.print("failed "); } else { System.out.print("succeeded "); System.out.print("("); if (hours > 0) { System.out.print(hours + ":"); } if (hours > 0 || mins > 0) { System.out.print(mins + ":"); } System.out.print(secs + "." + millisec); System.out.print(") "); } System.out.print("with "); int errCount = xpe.getErrorCount(); int warnCount = xpe.getWarningCount(); if (errCount > 0) { System.out.print(errCount + " error"); System.out.print(errCount > 1 ? "s" : ""); System.out.print(" and "); } else { System.out.print("no errors and "); } if (warnCount > 0) { System.out.print(warnCount + " warning"); System.out.print(warnCount > 1 ? "s" : ""); System.out.print("."); } else { System.out.print("no warnings."); } System.out.println(""); } if (xpe.getErrorCount() > 0) { System.exit(1); } }
/** * Process one file. * * <p>\u0040param xmlFileName Input file name to check for part of speech/lemma mismatches.. */ protected static void processOneFile(String xmlFileName) { try { // Report document being processed. System.out.println( "(" + ++currentDocNumber + "/" + docsToProcess + ") " + "processing " + xmlFileName); // Create filter to strip <w> and <c> // elements. XMLFilter filter = new StripAllWordElementsFilter(XMLReaderFactory.createXMLReader()); // Strip path from input file name. String strippedFileName = FileNameUtils.stripPathName(xmlFileName); strippedFileName = FileNameUtils.changeFileExtension(strippedFileName, ""); // Generate output file name. String xmlOutputFileName = new File(outputDirectoryName, strippedFileName + ".xml").getAbsolutePath(); // Make sure output directory exists. FileUtils.createPathForFile(xmlOutputFileName); // Copy input xml to output xml, // stripping <w> and <c> elements. new FilterAdornedFile(xmlFileName, xmlOutputFileName, filter); // Read it back and fix spacing. String fixedXML = FileUtils.readTextFile(xmlOutputFileName, "utf-8"); fixedXML = fixedXML.replaceAll("(\\s+)", " "); fixedXML = fixedXML.replaceAll(" ([\\.?!,;:\\)])", "\u00241"); fixedXML = fixedXML.replaceAll("\\( ", "("); fixedXML = fixedXML.replaceAll("\u00b6 ", "\u00b6"); fixedXML = fixedXML.replaceAll("__NS1:", ""); fixedXML = fixedXML.replaceAll("__NS1", ""); /* fixedXML = fixedXML.replaceAll ( "</__NS1:" , "" ); */ // Emit unadorned XML. SAXBuilder builder = new SAXBuilder(); Document document = builder.build(new StringReader(fixedXML)); new AdornedXMLWriter(document, xmlOutputFileName); } catch (Exception e) { System.out.println(" Error: " + e.getMessage()); e.printStackTrace(); } }