Example usage for javax.xml.stream XMLStreamWriter writeDTD

List of usage examples for javax.xml.stream XMLStreamWriter writeDTD

Introduction

In this page you can find the example usage for javax.xml.stream XMLStreamWriter writeDTD.

Prototype

public void writeDTD(String dtd) throws XMLStreamException;

Source Link

Document

Write a DTD section.

Usage

From source file:org.vanbest.xmltv.Horizon.java

/**
 * @param args//from ww  w .j  a  v  a 2 s  .c  om
 */
public static void main(String[] args) {
    Config config = Config.getDefaultConfig();
    Horizon horizon = new Horizon(config);
    horizon.clearCache();
    try {
        List<Channel> channels = horizon.getChannels();
        System.out.println("Channels: " + channels);
        XMLStreamWriter writer = XMLOutputFactory.newInstance()
                .createXMLStreamWriter(new FileWriter("horizon.xml"));
        writer.writeStartDocument();
        writer.writeCharacters("\n");
        writer.writeDTD("<!DOCTYPE tv SYSTEM \"xmltv.dtd\">");
        writer.writeCharacters("\n");
        writer.writeStartElement("tv");
        // List<Channel> my_channels = channels;
        List<Channel> my_channels = channels.subList(0, 5);
        for (Channel c : my_channels) {
            c.serialize(writer, true);
        }
        writer.flush();
        for (int day = 0; day < 5; day++) {
            List<Programme> programmes = horizon.getProgrammes(my_channels, day);
            for (Programme p : programmes) {
                p.serialize(writer);
            }
        }
        writer.writeEndElement();
        writer.writeEndDocument();
        writer.flush();
        if (!config.quiet) {
            EPGSource.Stats stats = horizon.getStats();
            System.out.println("Number of programmes from cache: " + stats.cacheHits);
            System.out.println("Number of programmes fetched: " + stats.cacheMisses);
            System.out.println("Number of fetch errors: " + stats.fetchErrors);
        }
        horizon.close();
    } catch (Exception e) {
        logger.error("Error in horizon testing", e);
    }
}

From source file:org.vanbest.xmltv.Main.java

public void fetchData() throws FactoryConfigurationError, Exception {
    if (!config.quiet) {
        showHeader();/*from ww w . j av a 2 s .  c  om*/
        logger.info("Fetching programme data for " + this.days + " days starting from day " + this.offset);
        int enabledCount = 0;
        for (Channel c : config.channels) {
            if (c.enabled)
                enabledCount++;
        }
        logger.info("... from " + enabledCount + " channels");
        logger.info("... using cache at " + config.cacheDbHandle);
    }
    if (clearCache) {
        ProgrammeCache cache = new ProgrammeCache(config);
        cache.clear();
        cache.close();
    }
    Map<String, EPGSource> guides = new HashMap<String, EPGSource>();
    EPGSourceFactory factory = EPGSourceFactory.newInstance();
    // EPGSource gids = new TvGids(config);
    // if (clearCache) gids.clearCache();

    XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(outputWriter);
    writer.writeStartDocument();
    writer.writeCharacters("\n");
    writer.writeDTD("<!DOCTYPE tv SYSTEM \"xmltv.dtd\">");
    writer.writeCharacters("\n");
    writer.writeStartElement("tv");
    writer.writeAttribute("generator-info-url", "http://github.com/janpascal/tv_grab_nl_java");
    writer.writeAttribute("source-info-url", "http://tvgids.nl/");
    writer.writeAttribute("source-info-name", "TvGids.nl");
    writer.writeAttribute("generator-info-name",
            "tv_grab_nl_java release " + config.project_version + ", built " + config.build_time);
    writer.writeCharacters(System.getProperty("line.separator"));

    for (Channel c : config.channels)
        if (c.enabled)
            c.serialize(writer, config.fetchLogos);

    for (int day = offset; day < offset + days; day++) {
        if (!config.quiet)
            System.out.print("Fetching information for day " + day);
        for (Channel c : config.channels) {
            if (!c.enabled)
                continue;
            if (!config.quiet)
                System.out.print(".");
            if (!guides.containsKey(c.source)) {
                guides.put(c.source, factory.createEPGSource(c.source, config));
            }
            List<Programme> programmes = guides.get(c.source).getProgrammes(c, day);
            for (Programme p : programmes)
                p.serialize(writer);
            writer.flush();
        }
        if (!config.quiet)
            System.out.println();
    }

    writer.writeEndElement();
    writer.writeEndDocument();
    writer.flush();
    writer.close();

    for (String source : guides.keySet()) {
        guides.get(source).close();
    }

    if (!config.quiet) {
        EPGSource.Stats stats = new EPGSource.Stats();
        for (String source : guides.keySet()) {
            EPGSource.Stats part = guides.get(source).getStats();
            stats.cacheHits += part.cacheHits;
            stats.cacheMisses += part.cacheMisses;
            stats.fetchErrors += part.fetchErrors;
        }
        logger.info("Number of programmes from cache: " + stats.cacheHits);
        logger.info("Number of programmes fetched: " + stats.cacheMisses);
        logger.warn("Number of fetch errors: " + stats.fetchErrors);
    }
}

From source file:org.vanbest.xmltv.RTL.java

/**
 * @param args//from w  ww. j a v  a 2 s  .  c o  m
 * @throws FileNotFoundException
 */
public static void main(String[] args) throws FileNotFoundException {
    debug = true;
    Logger.getRootLogger().setLevel(Level.TRACE);

    Config config = Config.getDefaultConfig();
    config.niceMilliseconds = 50;
    RTL rtl = new RTL(config);
    if (debug) {
        rtl.cache.clear();
        logger.info("Writing CSV to rtl.csv");
        rtl.debugWriter = new PrintWriter(new BufferedOutputStream(new FileOutputStream("rtl.csv")));
        rtl.debugWriter.print("\"zender\",\"starttime\",\"title\",\"quark1\",\"quark2\",");
        /*
        for (int k = 0; k < rtl.xmlKeys.length; k++) {
                rtl.debugWriter.print(rtl.xmlKeys[k]);
                rtl.debugWriter.print(",");
        }
        */
        rtl.debugWriter.println();
    }

    try {
        List<Channel> channels = rtl.getChannels();
        logger.info("Channels: " + channels);
        XMLStreamWriter writer = XMLOutputFactory.newInstance()
                .createXMLStreamWriter(new FileWriter("rtl.xml"));
        writer.writeStartDocument();
        writer.writeCharacters("\n");
        writer.writeDTD("<!DOCTYPE tv SYSTEM \"xmltv.dtd\">");
        writer.writeCharacters("\n");
        writer.writeStartElement("tv");
        for (Channel c : channels) {
            c.serialize(writer, true);
        }
        writer.flush();
        // List<Programme> programmes =
        // rtl.getProgrammes(channels.subList(6, 9), 0);
        for (int day = 0; day < 10; day++) {
            List<Programme> programmes = rtl.getProgrammes(channels, day);
            for (Programme p : programmes) {
                p.serialize(writer);
            }
        }
        writer.writeEndElement();
        writer.writeEndDocument();
        writer.flush();
        if (!config.quiet) {
            EPGSource.Stats stats = rtl.getStats();
            logger.info("Number of programmes from cache: " + stats.cacheHits);
            logger.info("Number of programmes fetched: " + stats.cacheMisses);
            logger.info("Number of fetch errors: " + stats.fetchErrors);
        }
        if (debug) {
            rtl.debugWriter.flush();
            rtl.debugWriter.close();
        }
        rtl.close();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        logger.debug("Exception in RTL.main()", e);
    }
}

From source file:org.vanbest.xmltv.TvGids.java

/**
 * @param args/*from w  w  w.j  ava 2  s . co  m*/
 */
public static void main(String[] args) {
    Config config = Config.getDefaultConfig();
    TvGids gids = new TvGids(config);
    try {
        List<Channel> channels = gids.getChannels();
        System.out.println("Channels: " + channels);
        XMLStreamWriter writer = XMLOutputFactory.newInstance()
                .createXMLStreamWriter(new FileWriter("tvgids.xml"));
        writer.writeStartDocument();
        writer.writeCharacters("\n");
        writer.writeDTD("<!DOCTYPE tv SYSTEM \"xmltv.dtd\">");
        writer.writeCharacters("\n");
        writer.writeStartElement("tv");
        // List<Channel> my_channels = channels;
        List<Channel> my_channels = channels.subList(0, 15);
        for (Channel c : my_channels) {
            c.serialize(writer, true);
        }
        writer.flush();
        List<Programme> programmes = gids.getProgrammes(my_channels, 2);
        for (Programme p : programmes) {
            p.serialize(writer);
        }
        writer.writeEndElement();
        writer.writeEndDocument();
        writer.flush();
        if (!config.quiet) {
            EPGSource.Stats stats = gids.getStats();
            System.out.println("Number of programmes from cache: " + stats.cacheHits);
            System.out.println("Number of programmes fetched: " + stats.cacheMisses);
            System.out.println("Number of fetch errors: " + stats.fetchErrors);
        }
        gids.close();
    } catch (Exception e) {
        logger.error("Error in tvgids testing", e);
    }
}

From source file:org.vanbest.xmltv.ZiggoGids.java

/**
 * @param args//from   www  .  j a  v a 2s.c  o  m
 */
public static void main(String[] args) {
    Config config = Config.getDefaultConfig();
    logger.setLevel(Level.TRACE);
    ZiggoGids gids = new ZiggoGids(config);
    try {
        List<Channel> channels = gids.getChannels();
        System.out.println("Channels: " + channels);

        XMLStreamWriter writer = XMLOutputFactory.newInstance()
                .createXMLStreamWriter(new FileWriter("ziggogids.xml"));
        writer.writeStartDocument();
        writer.writeCharacters("\n");
        writer.writeDTD("<!DOCTYPE tv SYSTEM \"xmltv.dtd\">");
        writer.writeCharacters("\n");
        writer.writeStartElement("tv");
        //List<Channel> my_channels = channels;
        //List<Channel> my_channels = channels.subList(0, 15);
        List<Channel> my_channels = channels.subList(0, 4);
        for (Channel c : my_channels) {
            c.serialize(writer, true);
        }
        writer.flush();
        List<Programme> programmes = gids.getProgrammes(my_channels, 2);
        for (Programme p : programmes) {
            p.serialize(writer);
        }
        writer.writeEndElement();
        writer.writeEndDocument();
        writer.flush();
        if (!config.quiet) {
            EPGSource.Stats stats = gids.getStats();
            System.out.println("Number of programmes from cache: " + stats.cacheHits);
            System.out.println("Number of programmes fetched: " + stats.cacheMisses);
            System.out.println("Number of fetch errors: " + stats.fetchErrors);
        }

        gids.close();
    } catch (Exception e) {
        logger.error("Error in ziggogids testing", e);
    }
}