Merge branch 'Jalview-JS/develop' into develop
[jalview.git] / unused / xml / sax / demo / CharacterStreamDemo.java
diff --git a/unused/xml/sax/demo/CharacterStreamDemo.java b/unused/xml/sax/demo/CharacterStreamDemo.java
new file mode 100644 (file)
index 0000000..8d97f0f
--- /dev/null
@@ -0,0 +1,88 @@
+package org.xml.sax.demo;
+// SAX demonstration for parsing from a UTF-16 character stream.
+// No warranty; no copyright -- use this as you will.
+// $Id: CharacterStreamDemo.java,v 1.3 1998/05/01 20:44:33 david Exp $
+
+import org.xml.sax.Parser;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import org.xml.sax.helpers.ParserFactory;
+
+import java.io.StringReader;
+
+
+/**
+  * Demonstrate parsing from a UTF-16 character stream.
+  *
+  * <p>Usage: java -Dorg.xml.sax.parser=<var>CLASSNAME</var>
+  * CharacterStreamDemo</p>
+  *
+  * <p>The SAX parser will read the document from a character
+  * stream connected to an internal string.</p>
+  *
+  * <p>Note that the Java implementation of SAX represents a
+  * character stream using a Reader.</p>
+  *
+  * @see DemoHandler
+  * @see org.xml.org.xml.sax.parser
+  * @see org.xml.sax.InputSource
+  * @see org.xml.sax.helpers.ParserFactory
+  * @see java.io.StringReader
+  */
+public class CharacterStreamDemo {
+
+                               // This is the document, in all its glory.
+                               // In a read-world application, this
+                               // could come from a database, a text
+                               // field, or just about anywhere.
+  final static String doc = "<?xml version=\"1.0\"?>" +
+                            "<doc>\n" +
+                            "<title>Hello</title>\n" +
+                            "<para>Hello, world!</para>\n" +
+                            "</doc>\n";
+
+  /**
+    * Main entry point for an application.
+    */
+  public static void main (String args[])
+    throws Exception
+  {
+    DemoHandler handler;
+    InputSource source;
+    Parser parser;
+    StringReader reader;
+
+                               // First, check the command-line
+                               // arguments.
+    if (args.length != 0) {
+      System.err.println("Usage: java CharTest");
+      System.exit(2);
+    }
+
+                               // Allocate a SAX Parser object, using
+                               // the class name provided in the
+                               // org.xml.sax.parser property (you could
+                               // also specify a classname here).
+    parser = ParserFactory.makeParser();
+
+                               // Allocate an event handler, and register
+                               // it with the SAX parser for all four
+                               // types of events (we could use a 
+                               // separate object for each).
+    handler = new DemoHandler();
+    parser.setEntityResolver(handler);
+    parser.setDTDHandler(handler);
+    parser.setDocumentHandler(handler);
+    parser.setErrorHandler(handler);
+
+                               // Create a Java-specific StringReader
+                               // for the internal document.
+    reader = new StringReader(doc);
+
+                               // Parse the document from the
+                               // character stream.
+    parser.parse(new InputSource(reader));
+  }
+
+}