Package hu.jokeman.xparser.gui.viewer

Source Code of hu.jokeman.xparser.gui.viewer.Viewer

package hu.jokeman.xparser.gui.viewer;

import hu.jokeman.xparser.document.nodes.XMLDocument;

import hu.jokeman.xparser.impl.document.DocumentBuilderImpl;

import hu.jokeman.xparser.parser.XMLProcessor;
import hu.jokeman.xparser.parser.ProcessorException;

import hu.jokeman.xparser.gui.viewer.visitors.NodeCounter;
import hu.jokeman.xparser.gui.viewer.visitors.SyntaxHighlighter;
import hu.jokeman.xparser.gui.viewer.visitors.TreePrinter;
import hu.jokeman.xparser.gui.viewer.visitors.WhiteSpaceNormalizer;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Viewer {
    public static void main (String [] args) {
        if (args.length < 1) {
            System.err.println ("Haszn�lat:");
            System.err.println ("\tViewer filenev.xml");
            System.exit (1);
        }
       
        FileInputStream fis = null;
        FileOutputStream fos = null;
       
        try {
            fis = new FileInputStream (args [0]);
            fos = new FileOutputStream (args [0] + ".html");
            DocumentBuilderImpl builder = new DocumentBuilderImpl ();
            builder.createDocument ();

            // input file feldologz�sa
            XMLProcessor processor = new XMLProcessor (builder);
            processor.process (fis);

            // dokumentumgy�k�r elk�r�se
            XMLDocument doc = builder.getDocument ();

            // white space takar�t�s
            WhiteSpaceNormalizer wsn = new WhiteSpaceNormalizer ();
            doc.accept (wsn);

            // fa-alak� kiirat�s
            System.out.println ("Feldolgozott adatok kiiratva:");
            System.out.println ();
            TreePrinter tp = new TreePrinter (System.out);
            doc.accept (tp);

            // csom�pontok sz�ml�l�sa
            NodeCounter nc = new NodeCounter ();
            doc.accept (nc);
            System.out.print (nc.getResults ());
           
            // syntax highlight
            SyntaxHighlighter shl = new SyntaxHighlighter (fos);
            doc.accept (shl);
            System.out.println ("Az XML alapj�n k�sz�lt szintaxis-szinezett " +
                    "HTML-dokumentum megtal�lhat� a(z) " + args [0] + ".html file-ban.");
           
        } catch (IOException iox) {
            iox.printStackTrace (System.err);
        } catch (ProcessorException px) {
            System.err.println ("Hiba a file feldolgoz�sa sor�n: " +
                    args [0] + "(" + px.getLineNumber () + ", " +
                    px.getColumnNumber () + "):");
            System.err.println (px.getMessage ());
        } finally {
            try {
                fis.close ();
            } catch (IOException iox) {
            }
            try {
                fos.close ();
            } catch (IOException iox) {
            }
        }
    }
}
TOP

Related Classes of hu.jokeman.xparser.gui.viewer.Viewer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.