net.sf.saxon.event

Class CommentStripper

public class CommentStripper extends ProxyReceiver

The CommentStripper class is a filter that removes all comments and processing instructions. It also concatenates text nodes that are split by comments and PIs. This follows the rules for processing stylesheets.

Author: Michael H. Kay

Field Summary
static intseq
Constructor Summary
CommentStripper()
Default constructor for use in subclasses
Method Summary
voidcharacters(CharSequence chars, int locationId, int properties)
Handle a text node.
voidcomment(CharSequence chars, int locationId, int properties)
Remove comments
voidendElement()
Callback interface for SAX: not for application use
voidprocessingInstruction(String name, CharSequence data, int locationId, int properties)
Remove processing instructions
voidstartElement(int nameCode, int typeCode, int locationId, int properties)

Field Detail

seq

static int seq

Constructor Detail

CommentStripper

public CommentStripper()
Default constructor for use in subclasses

Method Detail

characters

public void characters(CharSequence chars, int locationId, int properties)
Handle a text node. Because we're often handling stylesheets on this path, whitespace text nodes will often be stripped but we can't strip them immediately because of the case [element] [!-- comment --]text[/element], where the space before the comment is considered significant. But it's worth going to some effort to avoid uncompressing the whitespace in the more common case, so that it can easily be detected and stripped downstream.

comment

public void comment(CharSequence chars, int locationId, int properties)
Remove comments

endElement

public void endElement()
Callback interface for SAX: not for application use

processingInstruction

public void processingInstruction(String name, CharSequence data, int locationId, int properties)
Remove processing instructions

startElement

public void startElement(int nameCode, int typeCode, int locationId, int properties)