nu.xom.samples
Class RSSHeadlines

java.lang.Object
  extended by nu.xom.NodeFactory
      extended by nu.xom.samples.MinimalNodeFactory
          extended by nu.xom.samples.RSSHeadlines

public class RSSHeadlines
extends MinimalNodeFactory

Print just the headlines from an RSS feed

Version:
1.0
Author:
Elliotte Rusty Harold

Constructor Summary
RSSHeadlines()
           
 
Method Summary
 nu.xom.Nodes finishMakingElement(nu.xom.Element element)
           Signals the end of an element.
static void main(java.lang.String[] args)
           
 nu.xom.Nodes makeText(java.lang.String data)
           Returns a new Nodes object containing a text node with the specified content.
 nu.xom.Element startMakingElement(java.lang.String name, java.lang.String namespace)
           Creates a new Element in the specified namespace with the specified name.
 
Methods inherited from class nu.xom.samples.MinimalNodeFactory
makeAttribute, makeComment, makeDocType, makeProcessingInstruction, makeRootElement
 
Methods inherited from class nu.xom.NodeFactory
finishMakingDocument, startMakingDocument
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RSSHeadlines

public RSSHeadlines()
Method Detail

startMakingElement

public nu.xom.Element startMakingElement(java.lang.String name,
                                         java.lang.String namespace)
Description copied from class: nu.xom.NodeFactory

Creates a new Element in the specified namespace with the specified name.

Subclasses may change the name, namespace, content, or other characteristics of the Element returned. Subclasses may return null to indicate the Element should not be created. However, doing so will only remove the element's start-tag and end-tag from the result tree. Any content inside the element will be attached to the element's parent by default, unless it too is filtered. To remove an entire element, return an empty Nodes object from the finishMakingElement() method.

Overrides:
startMakingElement in class MinimalNodeFactory
Parameters:
name - the qualified name of the element
namespace - the namespace URI of the element
Returns:
the new element

makeText

public nu.xom.Nodes makeText(java.lang.String data)
Description copied from class: nu.xom.NodeFactory

Returns a new Nodes object containing a text node with the specified content.

Subclasses may change the content or other characteristics of the text returned. Subclasses may also change the nodes returned from this method. They may return a Nodes object containing any number of nodes which are added or appended to the current parent node. This Nodes object must not contain any Document nodes. All of the nodes returned must be parentless. Subclasses may return an empty Nodes to indicate the text should not be included in the finished document.

Overrides:
makeText in class MinimalNodeFactory
Parameters:
data - the complete text content of the node
Returns:
the nodes to be added to the tree

finishMakingElement

public nu.xom.Nodes finishMakingElement(nu.xom.Element element)
Description copied from class: nu.xom.NodeFactory

Signals the end of an element. This method should return the Nodes to be added to the tree. They need not contain the Element that was passed to this method, though most often they will. By default the Nodes returned contain only the built element. However, subclasses may return a list containing any number of nodes, all of which will be added to the tree at the current position in the order given by the list (subject to the usual well-formedness constraints, of course. For instance, the list should not contain a DocType object unless the element is the root element, and the document does not already have a DocType). All of the nodes returned must be parentless. If this method returns an empty list, then the element (including all its contents) is not included in the finished document.

To process an element at a time, override this method in a subclass so that it functions as a callback. When you're done processing the Element, return an empty list so that it will be removed from the tree and garbage collected. Be careful not to return an empty list for the root element though. That is, when the element passed to this method is the root element, the list returned must contain exactly one Element object. The simplest way to check this is testing if element.getParent() instanceof Document.

Do not detach element or any of its ancestors while inside this method. Doing so can royally muck up the build.

Overrides:
finishMakingElement in class nu.xom.NodeFactory
Parameters:
element - the finished Element
Returns:
the nodes to be added to the tree

main

public static void main(java.lang.String[] args)


Copyright 2002-2005 Elliotte Rusty Harold
elharo@metalab.unc.edu