org.dom4j.io
public class SAXContentHandler extends DefaultHandler implements LexicalHandler, DeclHandler, DTDHandler
SAXContentHandler
builds a dom4j tree via SAX events.
Version: $Revision: 1.61 $
Constructor Summary | |
---|---|
SAXContentHandler() | |
SAXContentHandler(DocumentFactory documentFactory) | |
SAXContentHandler(DocumentFactory documentFactory, ElementHandler elementHandler) | |
SAXContentHandler(DocumentFactory documentFactory, ElementHandler elementHandler, ElementStack elementStack) |
Method Summary | |
---|---|
protected void | addAttributes(Element element, Attributes attributes)
Add all the attributes to the given elements
|
protected void | addDeclaredNamespaces(Element element)
Add all namespaces declared before the startElement() SAX event to the
current element so that they are available to child elements and
attributes
|
protected void | addDTDDeclaration(Object declaration)
Adds an internal DTD declaration to the list of declarations
|
protected void | addExternalDTDDeclaration(Object declaration)
Adds an external DTD declaration to the list of declarations
|
void | attributeDecl(String eName, String aName, String type, String valueDefault, String val)
Report an attribute type declaration.
|
void | characters(char[] ch, int start, int end) |
void | comment(char[] ch, int start, int end) |
protected void | completeCurrentTextNode()
If the current text buffer contains any text then create a new text node
with it and add it to the current element |
protected Document | createDocument()
DOCUMENT ME!
|
protected ElementStack | createElementStack() |
void | elementDecl(String name, String model)
Report an element type declaration.
|
void | endCDATA() |
void | endDocument() |
void | endDTD() |
void | endElement(String namespaceURI, String localName, String qName) |
void | endEntity(String name) |
void | endPrefixMapping(String prefix) |
void | error(SAXParseException exception)
This method is called when an error is detected during parsing such as a
validation error. |
void | externalEntityDecl(String name, String publicId, String sysId)
Report a parsed external entity declaration.
|
void | fatalError(SAXParseException exception)
This method is called when a fatal error occurs during parsing. |
Document | getDocument()
DOCUMENT ME!
|
ElementStack | getElementStack() |
EntityResolver | getEntityResolver() |
InputSource | getInputSource() |
void | internalEntityDecl(String name, String value)
Report an internal entity declaration.
|
protected boolean | isIgnorableEntity(String name)
a Strategy Method to determine if a given entity name is ignorable
|
boolean | isIgnoreComments()
Returns whether we should ignore comments or not.
|
boolean | isIncludeExternalDTDDeclarations()
DOCUMENT ME!
|
boolean | isIncludeInternalDTDDeclarations()
DOCUMENT ME!
|
boolean | isMergeAdjacentText()
Returns whether adjacent text nodes should be merged together.
|
boolean | isStripWhitespaceText()
Sets whether whitespace between element start and end tags should be
ignored
|
void | notationDecl(String name, String publicId, String systemId)
Receive notification of a notation declaration event.
|
void | processingInstruction(String target, String data) |
void | setDocumentLocator(Locator documentLocator) |
void | setElementStack(ElementStack elementStack) |
void | setEntityResolver(EntityResolver entityResolver) |
void | setIgnoreComments(boolean ignoreComments)
Sets whether we should ignore comments or not.
|
void | setIncludeExternalDTDDeclarations(boolean include)
Sets whether DTD external declarations should be expanded into the
DocumentType object or not.
|
void | setIncludeInternalDTDDeclarations(boolean include)
Sets whether internal DTD declarations should be expanded into the
DocumentType object or not.
|
void | setInputSource(InputSource inputSource) |
void | setMergeAdjacentText(boolean mergeAdjacentText)
Sets whether or not adjacent text nodes should be merged together when
parsing.
|
void | setStripWhitespaceText(boolean stripWhitespaceText)
Sets whether whitespace between element start and end tags should be
ignored.
|
void | startCDATA() |
void | startDocument() |
void | startDTD(String name, String publicId, String systemId) |
void | startElement(String namespaceURI, String localName, String qualifiedName, Attributes attributes) |
void | startEntity(String name) |
void | startPrefixMapping(String prefix, String uri) |
void | unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
Receive notification of an unparsed entity declaration event.
|
void | warning(SAXParseException exception)
This method is called when a warning occurs during the parsing of the
document. |
Parameters: element DOCUMENT ME! attributes DOCUMENT ME!
Parameters: element DOCUMENT ME!
Parameters: declaration DOCUMENT ME!
Parameters: declaration DOCUMENT ME!
Only the effective (first) declaration for an attribute will be reported. The type will be one of the strings "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", a parenthesized token group with the separator "|" and all whitespace removed, or the word "NOTATION" followed by a space followed by a parenthesized token group with all whitespace removed.
Any parameter entities in the attribute value will be expanded, but general entities will not.
Parameters: eName The name of the associated element. aName The name of the attribute. type A string representing the attribute type. valueDefault A string representing the attribute default ("#IMPLIED", "#REQUIRED", or "#FIXED") or null if none of these applies. val A string representing the attribute's default value, or null if there is none.
Throws: SAXException The application may raise an exception.
Returns: the current document
The content model will consist of the string "EMPTY", the string "ANY", or a parenthesised group, optionally followed by an occurrence indicator. The model will be normalized so that all parameter entities are fully resolved and all whitespace is removed,and will include the enclosing parentheses. Other normalization (such as removing redundant parentheses or simplifying occurrence indicators) is at the discretion of the parser.
Parameters: name The element type name. model The content model as a normalized string.
Throws: SAXException The application may raise an exception.
Parameters: exception DOCUMENT ME!
Throws: SAXException DOCUMENT ME!
Only the effective (first) declaration for each entity will be reported.
Parameters: name The name of the entity. If it is a parameter entity, the name will begin with '%'. publicId The declared public identifier of the entity, or null if none was declared. sysId The declared system identifier of the entity.
Throws: SAXException The application may raise an exception.
See Also: SAXContentHandler org.xml.sax.DTDHandler#unparsedEntityDecl
Parameters: exception DOCUMENT ME!
Throws: SAXException DOCUMENT ME!
Returns: the document that has been or is being built
Only the effective (first) declaration for each entity will be reported. All parameter entities in the value will be expanded, but general entities will not.
Parameters: name The name of the entity. If it is a parameter entity, the name will begin with '%'. value The replacement text of the entity.
Throws: SAXException The application may raise an exception.
See Also: SAXContentHandler org.xml.sax.DTDHandler#unparsedEntityDecl
Parameters: name DOCUMENT ME!
Returns: DOCUMENT ME!
Returns: boolean
Returns: whether external DTD declarations should be expanded into the DocumentType object or not.
Returns: whether internal DTD declarations should be expanded into the DocumentType object or not.
Returns: Value of property mergeAdjacentText.
Returns: Value of property stripWhitespaceText.
It is up to the application to record the notation for later reference, if necessary.
At least one of publicId and systemId must be non-null. If a system identifier is present, and it is a URL, the SAX parser must resolve it fully before passing it to the application through this event.
There is no guarantee that the notation declaration will be reported before any unparsed entities that use it.
Parameters: name The notation name. publicId The notation's public identifier, or null if none was given. systemId The notation's system identifier, or null if none was given.
Throws: SAXException Any SAX exception, possibly wrapping another exception.
See Also: SAXContentHandler org.xml.sax.AttributeList
Parameters: ignoreComments whether we should ignore comments or not.
Parameters: include whether or not DTD declarations should be expanded and included into the DocumentType object.
Parameters: include whether or not DTD declarations should be expanded and included into the DocumentType object.
Parameters: mergeAdjacentText New value of property mergeAdjacentText.
Parameters: stripWhitespaceText New value of property stripWhitespaceText.
Note that the notation name corresponds to a notation reported by the {@link #notationDecl notationDecl}event. It is up to the application to record the entity for later reference, if necessary.
If the system identifier is a URL, the parser must resolve it fully before passing it to the application.
Parameters: name The unparsed entity's name. publicId The entity's public identifier, or null if none was given. systemId The entity's system identifier. notationName The name of the associated notation.
Throws: SAXException Any SAX exception, possibly wrapping another exception.
See Also: SAXContentHandler org.xml.sax.AttributeList
Parameters: exception DOCUMENT ME!
Throws: SAXException DOCUMENT ME!