public class SAXOMBuilder extends org.xml.sax.helpers.DefaultHandler implements org.xml.sax.ext.LexicalHandler, org.xml.sax.ext.DeclHandler, OMXMLParserWrapper
| Modifier and Type | Field and Description |
|---|---|
private OMDocument |
document |
private java.lang.String |
dtdName
Stores the root name if there is a DTD.
|
private java.lang.String |
dtdPublicId
Stores the public ID if there is a DTD.
|
private java.lang.String |
dtdSystemId
Stores the system ID if there is a DTD.
|
private java.util.Map |
entities
Stores the replacement values for entities.
|
private int |
entityReferenceDepth |
private boolean |
expandEntityReferences |
private OMFactoryEx |
factory |
private boolean |
inEntityReference |
private boolean |
inExternalSubset
Flag indicating that the parser is processing the external subset.
|
private java.lang.StringBuilder |
internalSubset
Stores the internal subset if there is a DTD.
|
(package private) OMNode |
lastNode |
(package private) OMElement |
nextElem |
(package private) java.util.List |
prefixMappings |
(package private) OMElement |
root |
private javax.xml.transform.sax.SAXSource |
source |
(package private) int |
textNodeType |
| Constructor and Description |
|---|
SAXOMBuilder()
Deprecated.
Instead of creating an instance of this class directly, create a
SAXSource and use
OMXMLBuilderFactory.createOMBuilder(SAXSource, boolean). |
SAXOMBuilder(OMFactory factory)
Deprecated.
Instead of creating an instance of this class directly, create a
SAXSource and use
OMXMLBuilderFactory.createOMBuilder(OMFactory, SAXSource, boolean). |
SAXOMBuilder(OMFactory factory,
javax.xml.transform.sax.SAXSource source,
boolean expandEntityReferences)
For internal use only.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
addNode(OMNode node) |
void |
attributeDecl(java.lang.String eName,
java.lang.String aName,
java.lang.String type,
java.lang.String mode,
java.lang.String value) |
void |
characterData(char[] ch,
int start,
int length,
int nodeType) |
void |
characters(char[] ch,
int start,
int length) |
void |
close()
Close this builder.
|
void |
comment(char[] ch,
int start,
int length) |
protected OMElement |
createNextElement(java.lang.String localName) |
void |
discard(OMElement el) |
void |
elementDecl(java.lang.String name,
java.lang.String model) |
void |
endCDATA() |
void |
endDocument() |
void |
endDTD() |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName) |
void |
endEntity(java.lang.String name) |
void |
endPrefixMapping(java.lang.String prefix) |
void |
externalEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId) |
short |
getBuilderType()
Returns the type of the builder.
|
java.lang.String |
getCharacterEncoding()
Returns the encoding style of the XML data
|
private OMContainer |
getContainer() |
OMDocument |
getDocument()
Get the document being built by this builder.
|
OMElement |
getDocumentElement()
Get the document element, i.e.
|
OMElement |
getDocumentElement(boolean discardDocument)
Get the document element, optionally discarding the document.
|
java.lang.Object |
getParser()
Allows to access the underlying parser.
|
java.lang.Object |
getRegisteredContentHandler()
get the registered external content handler
|
OMElement |
getRootElement()
Get the root element of the Axiom tree built by this content handler.
|
void |
ignorableWhitespace(char[] ch,
int start,
int length) |
void |
internalEntityDecl(java.lang.String name,
java.lang.String value) |
boolean |
isCache() |
boolean |
isCompleted() |
int |
next()
Proceed the parser one step and return the event value.
|
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 |
registerExternalContentHandler(java.lang.Object obj)
Registers an external content handler.
|
void |
setCache(boolean b) |
void |
setDocumentLocator(org.xml.sax.Locator locator) |
void |
skippedEntity(java.lang.String name) |
void |
startCDATA() |
void |
startDocument() |
void |
startDTD(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId) |
void |
startElement(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes atts) |
void |
startEntity(java.lang.String name) |
void |
startPrefixMapping(java.lang.String prefix,
java.lang.String uri) |
void |
unparsedEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String notationName) |
private final javax.xml.transform.sax.SAXSource source
private final boolean expandEntityReferences
private OMDocument document
private java.lang.String dtdName
private java.lang.String dtdPublicId
private java.lang.String dtdSystemId
private java.lang.StringBuilder internalSubset
private java.util.Map entities
private boolean inExternalSubset
OMElement root
OMNode lastNode
OMElement nextElem
private final OMFactoryEx factory
java.util.List prefixMappings
int textNodeType
private boolean inEntityReference
private int entityReferenceDepth
public SAXOMBuilder(OMFactory factory, javax.xml.transform.sax.SAXSource source, boolean expandEntityReferences)
factory - source - expandEntityReferences - public SAXOMBuilder(OMFactory factory)
SAXSource and use
OMXMLBuilderFactory.createOMBuilder(OMFactory, SAXSource, boolean).public SAXOMBuilder()
SAXSource and use
OMXMLBuilderFactory.createOMBuilder(SAXSource, boolean).private OMContainer getContainer()
private void addNode(OMNode node)
public void setDocumentLocator(org.xml.sax.Locator locator)
setDocumentLocator in interface org.xml.sax.ContentHandlersetDocumentLocator in class org.xml.sax.helpers.DefaultHandlerpublic void startDocument()
throws org.xml.sax.SAXException
startDocument in interface org.xml.sax.ContentHandlerstartDocument in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void endDocument()
throws org.xml.sax.SAXException
endDocument in interface org.xml.sax.ContentHandlerendDocument in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void startDTD(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
throws org.xml.sax.SAXException
startDTD in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void elementDecl(java.lang.String name,
java.lang.String model)
throws org.xml.sax.SAXException
elementDecl in interface org.xml.sax.ext.DeclHandlerorg.xml.sax.SAXExceptionpublic void attributeDecl(java.lang.String eName,
java.lang.String aName,
java.lang.String type,
java.lang.String mode,
java.lang.String value)
throws org.xml.sax.SAXException
attributeDecl in interface org.xml.sax.ext.DeclHandlerorg.xml.sax.SAXExceptionpublic void externalEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
throws org.xml.sax.SAXException
externalEntityDecl in interface org.xml.sax.ext.DeclHandlerorg.xml.sax.SAXExceptionpublic void internalEntityDecl(java.lang.String name,
java.lang.String value)
throws org.xml.sax.SAXException
internalEntityDecl in interface org.xml.sax.ext.DeclHandlerorg.xml.sax.SAXExceptionpublic void notationDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
throws org.xml.sax.SAXException
notationDecl in interface org.xml.sax.DTDHandlernotationDecl in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void unparsedEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String notationName)
throws org.xml.sax.SAXException
unparsedEntityDecl in interface org.xml.sax.DTDHandlerunparsedEntityDecl in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void endDTD()
throws org.xml.sax.SAXException
endDTD in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionprotected OMElement createNextElement(java.lang.String localName) throws OMException
OMExceptionpublic void startPrefixMapping(java.lang.String prefix,
java.lang.String uri)
throws org.xml.sax.SAXException
startPrefixMapping in interface org.xml.sax.ContentHandlerstartPrefixMapping in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void endPrefixMapping(java.lang.String prefix)
throws org.xml.sax.SAXException
endPrefixMapping in interface org.xml.sax.ContentHandlerendPrefixMapping in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void startElement(java.lang.String namespaceURI,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes atts)
throws org.xml.sax.SAXException
startElement in interface org.xml.sax.ContentHandlerstartElement in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName)
throws org.xml.sax.SAXException
endElement in interface org.xml.sax.ContentHandlerendElement in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void startCDATA()
throws org.xml.sax.SAXException
startCDATA in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void endCDATA()
throws org.xml.sax.SAXException
endCDATA in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void characterData(char[] ch,
int start,
int length,
int nodeType)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionpublic void characters(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
characters in interface org.xml.sax.ContentHandlercharacters in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void ignorableWhitespace(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
ignorableWhitespace in interface org.xml.sax.ContentHandlerignorableWhitespace in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void processingInstruction(java.lang.String target,
java.lang.String data)
throws org.xml.sax.SAXException
processingInstruction in interface org.xml.sax.ContentHandlerprocessingInstruction in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void comment(char[] ch,
int start,
int length)
throws org.xml.sax.SAXException
comment in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void skippedEntity(java.lang.String name)
throws org.xml.sax.SAXException
skippedEntity in interface org.xml.sax.ContentHandlerskippedEntity in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionpublic void startEntity(java.lang.String name)
throws org.xml.sax.SAXException
startEntity in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic void endEntity(java.lang.String name)
throws org.xml.sax.SAXException
endEntity in interface org.xml.sax.ext.LexicalHandlerorg.xml.sax.SAXExceptionpublic OMDocument getDocument()
OMXMLParserWrappergetDocument in interface OMXMLParserWrapperOMDocument instancepublic OMElement getRootElement()
OMException - if the tree is not completepublic int next()
throws OMException
OMXMLParserWrappernext in interface OMXMLParserWrapperOMExceptionpublic void discard(OMElement el) throws OMException
discard in interface OMXMLParserWrapperOMExceptionpublic void setCache(boolean b)
throws OMException
setCache in interface OMXMLParserWrapperOMExceptionpublic boolean isCache()
isCache in interface OMXMLParserWrapperpublic java.lang.Object getParser()
OMXMLParserWrappergetParser in interface OMXMLParserWrapperpublic boolean isCompleted()
isCompleted in interface OMXMLParserWrapperpublic OMElement getDocumentElement()
OMXMLParserWrapperOMDocument.getOMDocumentElement() on the document returned by
OMXMLParserWrapper.getDocument().
Note that this method will never return null (except in the very special case
where the document has been requested before and the document element has been removed
explicitly): if the document being parsed has no document element, then this will result in a
parser error, i.e. an OMException will be thrown.
getDocumentElement in interface OMXMLParserWrapperpublic OMElement getDocumentElement(boolean discardDocument)
OMXMLParserWrapperOMXMLParserWrapper.getDocumentElement(). However, if the discardDocument
parameter is set to true, then the document element is removed from the document
and the document itself is discarded. In contrast to using OMNode.detach() this
will not build the element. The implementation also ensures that the element is not built
when it is added to another OM tree. This makes it possible to add the content of a document
to an existing OM tree while preserving the deferred parsing feature. It is even possible to
create an OM tree where different subtrees are associated with different builder instances.getDocumentElement in interface OMXMLParserWrapperdiscardDocument - specifies whether the document should be discardedpublic short getBuilderType()
OMXMLParserWrapperOMConstants.PUSH_TYPE_BUILDER
or OMConstants.PULL_TYPE_BUILDER.getBuilderType in interface OMXMLParserWrapperpublic void registerExternalContentHandler(java.lang.Object obj)
OMXMLParserWrapperregisterExternalContentHandler in interface OMXMLParserWrapperpublic java.lang.Object getRegisteredContentHandler()
OMXMLParserWrappergetRegisteredContentHandler in interface OMXMLParserWrapperpublic java.lang.String getCharacterEncoding()
OMXMLParserWrappergetCharacterEncoding in interface OMXMLParserWrapperpublic void close()
OMXMLParserWrapperclose in interface OMXMLParserWrapper