import components.simplereader.SimpleReader; import components.simplereader.SimpleReader1L; import components.simplewriter.SimpleWriter; import components.simplewriter.SimpleWriter1L; import components.xmltree.XMLTree; /** * Program to convert an XML RSS (version 2.0) feed from a given URL into the * corresponding HTML output file. * * @author Put your name here * */ public final class RSSReader { /** * Private constructor so this utility class cannot be instantiated. */ private RSSReader() { } /** * Outputs the "opening" tags in the generated HTML file. These are the * expected elements generated by this method:
*
*
*
*
* the channel tag title as the page title
*
*
* the page title inside a link to the link
*
* the channel description
*
* | Date | *Source | *News | *
|---|
* getChildElement =
* [the index of the first tag child of the {@code XMLTree} matching the
* given tag or -1 if not found]
*
*/
private static int getChildElement(XMLTree xml, String tag) {
assert xml != null : "Violation of: xml is not null";
assert tag != null : "Violation of: tag is not null";
assert xml.isTag() : "Violation of: the label root of xml is a tag";
/*
* TODO: fill in body
*/
/*
* This line added just to make the program compilable. Should be
* replaced with appropriate return statement.
*/
return 0;
}
/**
* Processes one news item and outputs one table row. The row contains three
* elements: the publication date, the source, and the title (or
* description) of the item.
*
* @param item
* the news item
* @param out
* the output stream
* @updates out.content
* @requires [the label of the root of item is an
* out.content = #out.content *
* [an HTML table row with publication date, source, and title of news item]
*
*/
private static void processItem(XMLTree item, SimpleWriter out) {
assert item != null : "Violation of: item is not null";
assert out != null : "Violation of: out is not null";
assert item.isTag() && item.label().equals("item") : ""
+ "Violation of: the label root of item is an