1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/java/alt2xml-bin/src/cz/frantovo/alt2xml/CLI.java Thu Jun 05 10:07:34 2014 +0200
1.3 @@ -0,0 +1,42 @@
1.4 +package cz.frantovo.alt2xml;
1.5 +
1.6 +import cz.frantovo.alt2xml.výstup.EchoContentHandler;
1.7 +import java.io.InputStream;
1.8 +import java.io.OutputStream;
1.9 +import javax.xml.parsers.SAXParser;
1.10 +import javax.xml.parsers.SAXParserFactory;
1.11 +import javax.xml.stream.XMLOutputFactory;
1.12 +import javax.xml.stream.XMLStreamWriter;
1.13 +import org.xml.sax.helpers.DefaultHandler;
1.14 +
1.15 +/**
1.16 + *
1.17 + * @author fiki
1.18 + */
1.19 +public class CLI {
1.20 +
1.21 + public static void main(String[] args) throws Exception {
1.22 + /**
1.23 + * Použijeme standardní vstup a výstup:
1.24 + */
1.25 + InputStream vstup = System.in;
1.26 + OutputStream výstup = System.out;
1.27 +
1.28 + /**
1.29 + * Serializujeme data do XML.
1.30 + * To normálně vůbec není potřeba – data se do tvaru proudu obsahujícího ostré závorky
1.31 + * vůbec nedostanou – zpracováváme události (volání javovských metod – začátky a konce elementů atd.)
1.32 + * a z nich např. deserializujeme nějaké naše objekty, provádíme nějaké akce, nebo třeba stavíme DOM.
1.33 + */
1.34 + XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newFactory();
1.35 + XMLStreamWriter w = xmlOutputFactory.createXMLStreamWriter(výstup);
1.36 + DefaultHandler h = new EchoContentHandler(w);
1.37 +
1.38 + /**
1.39 + * Parsujeme JSON a děláme z něj XML:
1.40 + */
1.41 + SAXParserFactory t = SAXParserFactory.newInstance(SAXTovarna.class.getName(), null);
1.42 + SAXParser p = t.newSAXParser();
1.43 + p.parse(vstup, h);
1.44 + }
1.45 +}