|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--gnu.xml.pipeline.EventFilter | +--gnu.xml.pipeline.LinkFilter
Pipeline filter to remember (X)HTML links found in an (X)HTML document, so they can later be crawled. Fragments are not counted, and duplicates are ignored. Callers are responsible for filtering out URLs they aren't interested in. Events are passed through unmodified.
Input MUST include a setDocumentLocator() call, as it's used to resolve relative links in the absence of a "base" element. Input MUST also include namespace identifiers, since it is the XHTML namespace identifier which is used to identify the relevant elements.
FIXME: handle xml:base attribute ... in association with a stack of base URIs. Similarly, recognize/support XLink data.
Fields inherited from class gnu.xml.pipeline.EventFilter |
DECL_HANDLER, FEATURE_URI, LEXICAL_HANDLER, PROPERTY_URI |
Constructor Summary | |
LinkFilter()
Constructs a new event filter, which collects links in private data structure for later enumeration. |
|
LinkFilter(EventConsumer next)
Constructs a new event filter, which collects links in private data structure for later enumeration and passes all events, unmodified, to the next consumer. |
Method Summary | |
void |
endDocument()
Forgets about any base URI information that may be recorded. |
java.util.Enumeration |
getLinks()
Returns an enumeration of the links found since the filter was constructed, or since removeAllLinks() was called. |
void |
removeAllLinks()
Removes records about all links reported to the event stream, as if the filter were newly created. |
void |
startDocument()
Reports an error if no Locator has been made available. |
void |
startElement(java.lang.String namespace,
java.lang.String local,
java.lang.String name,
Attributes attrs)
Collects URIs for (X)HTML content from elements which hold them. |
Methods inherited from class gnu.xml.pipeline.EventFilter |
attributeDecl, bind, characters, comment, elementDecl, endCDATA, endDTD, endElement, endEntity, endPrefixMapping, externalEntityDecl, getContentHandler, getDocumentLocator, getDTDHandler, getErrorHandler, getNext, getProperty, ignorableWhitespace, internalEntityDecl, notationDecl, processingInstruction, setContentHandler, setDocumentLocator, setDTDHandler, setErrorHandler, setProperty, skippedEntity, startCDATA, startDTD, startEntity, startPrefixMapping, unparsedEntityDecl |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public LinkFilter()
public LinkFilter(EventConsumer next)
Method Detail |
public java.util.Enumeration getLinks()
public void removeAllLinks()
public void startElement(java.lang.String namespace, java.lang.String local, java.lang.String name, Attributes attrs) throws SAXException
startElement
in class EventFilter
org.xml.sax.ContentHandler
uri
- The Namespace URI, or the empty string if the
element has no Namespace URI or if Namespace
processing is not being performed.localName
- The local name (without prefix), or the
empty string if Namespace processing is not being
performed.qName
- The qualified name (with prefix), or the
empty string if qualified names are not available.atts
- The attributes attached to the element. If
there are no attributes, it shall be an empty
Attributes object.SAXException
- Any SAX exception, possibly
wrapping another exception.ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
,
Attributes
public void startDocument() throws SAXException
startDocument
in class EventFilter
org.xml.sax.ContentHandler
SAXException
- Any SAX exception, possibly
wrapping another exception.ContentHandler.endDocument()
public void endDocument() throws SAXException
endDocument
in class EventFilter
org.xml.sax.ContentHandler
SAXException
- Any SAX exception, possibly
wrapping another exception.ContentHandler.startDocument()
|
Source code is GPL'd in the JAXP subproject at http://savannah.gnu.org/projects/classpathx |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |