You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by je...@locus.apache.org on 2000/06/23 01:58:22 UTC
cvs commit: xml-xerces/java/samples/sax SAX2Writer.java SAXWriter.java
jeffreyr 00/06/22 16:58:20
Modified: java/samples/sax SAX2Writer.java SAXWriter.java
Log:
SAXWriter and SAX2Writer with stdopt
Revision Changes Path
1.3 +91 -57 xml-xerces/java/samples/sax/SAX2Writer.java
Index: SAX2Writer.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/samples/sax/SAX2Writer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SAX2Writer.java 2000/05/10 00:38:34 1.2
+++ SAX2Writer.java 2000/06/22 23:58:16 1.3
@@ -57,6 +57,7 @@
package sax;
+import util.Arguments;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
@@ -74,7 +75,7 @@
* register a SAX2 ContentHandler and receive the callbacks in
* order to print a document that is parsed.
*
- * @version $Id: SAX2Writer.java,v 1.2 2000/05/10 00:38:34 lehors Exp $
+ * @version $Id: SAX2Writer.java,v 1.3 2000/06/22 23:58:16 jeffreyr Exp $
*/
public class SAX2Writer
extends DefaultHandler {
@@ -87,6 +88,12 @@
private static final String
DEFAULT_PARSER_NAME = "org.apache.xerces.parsers.SAXParser";
+
+ private static boolean setValidation = false; //defaults
+ private static boolean setNameSpaces = true;
+ private static boolean setSchemaSupport = true;
+
+
//
// Data
//
@@ -128,6 +135,15 @@
DefaultHandler handler = new SAX2Writer(canonical);
XMLReader parser = (XMLReader)Class.forName(parserName).newInstance();
+
+ parser.setFeature( "http://xml.org/sax/features/validation",
+ setValidation);
+ parser.setFeature( "http://xml.org/sax/features/namespaces",
+ setNameSpaces );
+ parser.setFeature( "http://apache.org/xml/features/validation/schema",
+ setSchemaSupport );
+
+
parser.setContentHandler(handler);
parser.setErrorHandler(handler);
parser.parse(uri);
@@ -338,62 +354,80 @@
/** Main program entry point. */
public static void main(String argv[]) {
+ Arguments argopt = new Arguments();
+ argopt.setUsage( new String[]
+ { "usage: java sax.SAX2Writer (options) uri ...","",
+ "options:",
+ " -p name Specify SAX parser by name.",
+ " Default parser: "+DEFAULT_PARSER_NAME,
+ " -c Canonical XML output.",
+ " -v Turn on validation.",
+ " -w Warmup the parser before timing.",
+ " -n turn on Namespace - default",
+ " -s turn on Schema support - default",
+ " -N turn off Namespace",
+ " -V turn off Validation",
+ " -h This help screen."} );
+
+
+ // is there anything to do?
+ if (argv.length == 0) {
+ argopt.printUsage();
+ System.exit(1);
+ }
+
+ // vars
+ boolean canonical = false;
+ String parserName = DEFAULT_PARSER_NAME;
+
+
+ argopt.parseArgumentTokens(argv);
+
+ int c;
+ while ( (c = argopt.getArguments()) != -1 ){
+ switch (c) {
+ case 'c':
+ canonical = true;
+ break;
+ case 'C':
+ canonical = false;
+ break;
+ case 'v':
+ setValidation = true;
+ break;
+ case 'V':
+ setValidation = false;
+ break;
+ case 'N':
+ setNameSpaces = false;
+ break;
+ case 'n':
+ setNameSpaces = true;
+ break;
+ case 'p':
+ parserName = argopt.getStringParameter();
+ break;
+ case 's':
+ setSchemaSupport = true;
+ break;
+ case 'S':
+ setSchemaSupport = false;
+ break;
+ case '?':
+ case 'h':
+ case '-':
+ argopt.printUsage();
+ System.exit(1);
+ break;
+ default:
+ break;
+ }
+ }
+
+ // print
+ String arg = argopt.getStringParameter();
+ System.err.println(arg+':');
+ print(parserName, arg, canonical);
- // is there anything to do?
- if (argv.length == 0) {
- printUsage();
- System.exit(1);
- }
-
- // vars
- String parserName = DEFAULT_PARSER_NAME;
- boolean canonical = false;
-
- // check parameters
- for (int i = 0; i < argv.length; i++) {
- String arg = argv[i];
-
- // options
- if (arg.startsWith("-")) {
- if (arg.equals("-p")) {
- if (i == argv.length - 1) {
- System.err.println("error: missing parser name");
- System.exit(1);
- }
- parserName = argv[++i];
- continue;
- }
-
- if (arg.equals("-c")) {
- canonical = true;
- continue;
- }
-
- if (arg.equals("-h")) {
- printUsage();
- System.exit(1);
- }
- }
-
- // print uri
- System.err.println(arg+':');
- print(parserName, arg, canonical);
- System.out.println();
- }
-
} // main(String[])
-
- /** Prints the usage. */
- private static void printUsage() {
-
- System.err.println("usage: java sax.SAX2Writer (options) uri ...");
- System.err.println();
- System.err.println("options:");
- System.err.println(" -p name Specify SAX parser by name.");
- System.err.println(" Default parser: "+DEFAULT_PARSER_NAME);
- System.err.println(" -c Canonical XML output.");
- System.err.println(" -h This help screen.");
-
- } // printUsage()
-
} // class SAX2Writer
1.3 +12 -4 xml-xerces/java/samples/sax/SAXWriter.java
Index: SAXWriter.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/samples/sax/SAXWriter.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SAXWriter.java 2000/06/22 22:14:53 1.2
+++ SAXWriter.java 2000/06/22 23:58:17 1.3
@@ -370,6 +370,7 @@
"options:",
" -p name Specify SAX parser by name.",
" Default parser: "+DEFAULT_PARSER_NAME,
+ " -c Canonical XML output.",
" -v Turn on validation.",
" -w Warmup the parser before timing.",
" -n turn on Namespace - default",
@@ -386,13 +387,21 @@
}
// vars
+ boolean canonical = false;
String parserName = DEFAULT_PARSER_NAME;
+
argopt.parseArgumentTokens(argv);
int c;
while ( (c = argopt.getArguments()) != -1 ){
switch (c) {
+ case 'c':
+ canonical = true;
+ break;
+ case 'C':
+ canonical = false;
+ break;
case 'v':
setValidation = true;
break;
@@ -426,10 +435,9 @@
}
// print
- for ( int j = 0; j<argopt.stringParameterLeft(); j++){
- print(parserName, argopt.getStringParameter(), setValidation);
- }
-
+ String arg = argopt.getStringParameter();
+ System.err.println(arg+':');
+ print(parserName, arg, canonical);
///