public class ExtractHandler extends DefaultHandler
xmlInput.dropAllTags().substring(start, length).unDropAssociatedTags()
So basically we would create an instance like new ExtractHandler(0, 400)
in order to obtain an XML
fragment with its inner text length of at most 400 characters, starting at position (character) 0 in the source
(input) XML's inner text. The ExtractHandler is used in feed plug-in to obtain a preview of an XML (HTML, to be more
specific). Another use case could be to paginate an XML source (keeping pages well-formed).
As an example, the result of applying an ExtractHandler(3, 13)
to:
<p>click <a href="realyLongURL" title="Here">here</a> to view the result</p>
is
<p>ck <a href="realyLongURL" title="Here">here</a> to</p>
Constructor and Description |
---|
ExtractHandler(int start,
int length)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
characters(char[] ch,
int start,
int length) |
void |
endDocument() |
void |
endElement(String namespaceURI,
String localName,
String qName) |
String |
getResult() |
boolean |
isFinished() |
void |
startDocument() |
void |
startElement(String namespaceURI,
String localName,
String qName,
Attributes atts) |
endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startPrefixMapping, unparsedEntityDecl, warning
public ExtractHandler(int start, int length) throws SAXException
start
- The character index from where to start the extraction.length
- The number of plain text characters to extract.SAXException
- if start is less than zero or length is less than or equal to zero.public String getResult()
public boolean isFinished()
public void startDocument() throws SAXException
startDocument
in interface ContentHandler
startDocument
in class DefaultHandler
SAXException
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException
startElement
in interface ContentHandler
startElement
in class DefaultHandler
SAXException
public void characters(char[] ch, int start, int length) throws SAXException
characters
in interface ContentHandler
characters
in class DefaultHandler
SAXException
public void endElement(String namespaceURI, String localName, String qName) throws SAXException
endElement
in interface ContentHandler
endElement
in class DefaultHandler
SAXException
public void endDocument() throws SAXException
endDocument
in interface ContentHandler
endDocument
in class DefaultHandler
SAXException
Copyright © 2004–2017 XWiki. All rights reserved.