summaryrefslogtreecommitdiffstats
path: root/parser/html/java/htmlparser/test-src/nu/validator/saxtree/test/PassThruPrinter.java
diff options
context:
space:
mode:
Diffstat (limited to 'parser/html/java/htmlparser/test-src/nu/validator/saxtree/test/PassThruPrinter.java')
-rw-r--r--parser/html/java/htmlparser/test-src/nu/validator/saxtree/test/PassThruPrinter.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/parser/html/java/htmlparser/test-src/nu/validator/saxtree/test/PassThruPrinter.java b/parser/html/java/htmlparser/test-src/nu/validator/saxtree/test/PassThruPrinter.java
new file mode 100644
index 000000000..df391d4b4
--- /dev/null
+++ b/parser/html/java/htmlparser/test-src/nu/validator/saxtree/test/PassThruPrinter.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2007 Henri Sivonen
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+package nu.validator.saxtree.test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
+
+import nu.validator.htmlparser.sax.XmlSerializer;
+import nu.validator.saxtree.Node;
+import nu.validator.saxtree.TreeBuilder;
+import nu.validator.saxtree.TreeParser;
+
+import org.xml.sax.ContentHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.ext.LexicalHandler;
+
+public class PassThruPrinter {
+ public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException {
+ SAXParserFactory factory = SAXParserFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(false);
+ XMLReader reader = factory.newSAXParser().getXMLReader();
+
+ TreeBuilder treeBuilder = new TreeBuilder();
+ reader.setContentHandler(treeBuilder);
+ reader.setProperty("http://xml.org/sax/properties/lexical-handler", treeBuilder);
+
+ File file = new File(args[0]);
+ InputSource is = new InputSource(new FileInputStream(file));
+ is.setSystemId(file.toURI().toASCIIString());
+ reader.parse(is);
+
+ Node doc = treeBuilder.getRoot();
+
+ ContentHandler xmlSerializer = new XmlSerializer(System.out);
+
+ TreeParser treeParser = new TreeParser(xmlSerializer, (LexicalHandler) xmlSerializer);
+ treeParser.parse(doc);
+ }
+
+}