gnu.xml.pipeline
Class WellFormednessFilter
java.lang.Object
|
+--gnu.xml.pipeline.EventFilter
|
+--gnu.xml.pipeline.WellFormednessFilter
public final class
WellFormednessFilterextends
EventFilter This filter reports fatal exceptions in the case of event streams that
are not well formed. The rules currently tested include:
- setDocumentLocator ... may be called only before startDocument
- startDocument/endDocument ... must be paired, and all other
calls (except setDocumentLocator) must be nested within these.
- startElement/endElement ... must be correctly paired, and
may never appear within CDATA sections.
- comment ... can't contain "--"
- character data ... can't contain "]]>"
- whitespace ... can't contain CR
- whitespace and character data must be within an element
- processing instruction ... can't contain "?>" or CR
- startCDATA/endCDATA ... must be correctly paired.
Other checks for event stream correctness may be provided in
the future. For example, insisting that
entity boundaries nest correctly,
namespace scopes nest correctly,
namespace values never contain relative URIs,
attributes don't have "<" characters;
and more.
Author: void | characters(char ch[][] , int start, int length)
|
void | comment(char ch[][] , int start, int length)
|
void | endCDATA()
|
void | endDTD()
|
void | endDocument()
|
void | endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
|
void | ignorableWhitespace(char ch[][] , int start, int length)
|
void | notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
|
void | processingInstruction(java.lang.String target, java.lang.String data)
|
void | reset()
|
void | setDocumentLocator(org.xml.sax.Locator locator)
|
void | startCDATA()
|
void | startDTD(java.lang.String root, java.lang.String publicId, java.lang.String systemId)
|
void | startDocument()
|
void | startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
|
void | unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName)
|
WellFormednessFilter
public WellFormednessFilter()
Swallows all events after performing well formedness checks.
WellFormednessFilter
public WellFormednessFilter(gnu.xml.pipeline.EventConsumer consumer)
Passes events through to the specified consumer, after first
processing them.
Parameters:
characters
public void characters(char ch[][] , int start, int length)
Parameters:
comment
public void comment(char ch[][] , int start, int length)
Parameters:
endCDATA
public void endCDATA()
endDTD
public void endDTD()
endDocument
public void endDocument()
endElement
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
Parameters:
ignorableWhitespace
public void ignorableWhitespace(char ch[][] , int start, int length)
Parameters:
notationDecl
public void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId)
Parameters:
processingInstruction
public void processingInstruction(java.lang.String target, java.lang.String data)
Parameters:
reset
public void reset()
Resets state as if any preceding event stream was well formed.
Particularly useful if it ended through some sort of error,
and the endDocument call wasn't made.
setDocumentLocator
public void setDocumentLocator(org.xml.sax.Locator locator)
Throws an exception when called after startDocument.
Parameters:
Throws:
startCDATA
public void startCDATA()
startDTD
public void startDTD(java.lang.String root, java.lang.String publicId, java.lang.String systemId)
Parameters:
startDocument
public void startDocument()
startElement
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
Parameters:
unparsedEntityDecl
public void unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName)
Parameters:
Other checks for event stream correctness may be provided in the future. For example, insisting that entity boundaries nest correctly, namespace scopes nest correctly, namespace values never contain relative URIs, attributes don't have "<" characters; and more.