|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.excalibur.xml.impl.JaxpParser
public final class JaxpParser
An XMLParser that is only dependant on JAXP 1.1 compliant parsers. The configuration can contain the following parameters :
false
) : should the parser
validate parsed documents ?
false
) : do we want
namespaces declarations also as 'xmlns:' attributes ?true
confuses some XSL
processors (e.g. Saxon).
true
) : should the parser
stop parsing if a warning occurs ?
true
) : should the parser
stop parsing if a recoverable error occurs ?
true
) : do we want to reuse
parsers or create a new parser for each parse ?true
, parsers are not
recycled in case of parsing errors : some parsers (e.g. Xerces) don't like
to be reused after failure.
SAXParserFactory
implementation class to be used instead of using the standard JAXP mechanism
(SAXParserFactory.newInstance()
). This allows to choose
unambiguously the JAXP implementation to be used when several of them are
available in the classpath.
Nested Class Summary | |
---|---|
private static class |
JaxpParser.DtdCommentEater
A LexicalHandler implementation that strips all comment events between startDTD and endDTD. |
Field Summary | |
---|---|
private javax.xml.parsers.DocumentBuilder |
m_docBuilder
The DOM builder. |
private javax.xml.parsers.DocumentBuilderFactory |
m_docFactory
the Document Builder factory |
private boolean |
m_dropDtdComments
Should comments appearing between start/endDTD events be dropped ? |
private javax.xml.parsers.SAXParserFactory |
m_factory
the SAX Parser factory |
private org.apache.avalon.framework.service.ServiceManager |
m_manager
The serviec manager |
private boolean |
m_nsPrefixes
do we want namespaces also as attributes ? |
private org.xml.sax.XMLReader |
m_reader
The SAX reader. |
private EntityResolver |
m_resolver
the Entity Resolver |
private java.lang.String |
m_resolverHint
the hint to the entity resolver |
private boolean |
m_reuseParsers
do we want to reuse parsers ? |
private boolean |
m_stopOnRecoverableError
do we stop on recoverable errors ? |
private boolean |
m_stopOnWarning
do we stop on warnings ? |
private static org.xml.sax.ContentHandler |
NULL
|
Fields inherited from interface org.apache.excalibur.xml.sax.SAXParser |
---|
ROLE |
Fields inherited from interface org.apache.excalibur.xml.dom.DOMParser |
---|
ROLE |
Constructor Summary | |
---|---|
JaxpParser()
|
Method Summary | |
---|---|
org.w3c.dom.Document |
createDocument()
Return a new Document . |
void |
dispose()
|
void |
error(org.xml.sax.SAXParseException spe)
Receive notification of a recoverable error. |
void |
fatalError(org.xml.sax.SAXParseException spe)
Receive notification of a fatal error. |
private java.lang.Class |
loadClass(java.lang.String name)
Load a class |
void |
parameterize(org.apache.avalon.framework.parameters.Parameters params)
|
void |
parse(org.xml.sax.InputSource in,
org.xml.sax.ContentHandler consumer)
Parse the InputSource and send
SAX events to the consumer. |
void |
parse(org.xml.sax.InputSource in,
org.xml.sax.ContentHandler contentHandler,
org.xml.sax.ext.LexicalHandler lexicalHandler)
Parse the InputSource and send
SAX events to the consumer. |
org.w3c.dom.Document |
parseDocument(org.xml.sax.InputSource input)
Parses a new Document object from the given InputSource. |
void |
service(org.apache.avalon.framework.service.ServiceManager manager)
Get the Entity Resolver from the component m_manager |
private void |
setupDocumentBuilder()
Creates a new DocumentBuilder if needed. |
private void |
setupXMLReader()
Creates a new XMLReader if needed. |
void |
warning(org.xml.sax.SAXParseException spe)
Receive notification of a warning. |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
---|
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final org.xml.sax.ContentHandler NULL
private javax.xml.parsers.SAXParserFactory m_factory
private org.xml.sax.XMLReader m_reader
setupXMLReader()
and cleared if a parsing error occurs.
private EntityResolver m_resolver
private boolean m_nsPrefixes
private boolean m_reuseParsers
private boolean m_stopOnWarning
private boolean m_stopOnRecoverableError
private java.lang.String m_resolverHint
private javax.xml.parsers.DocumentBuilderFactory m_docFactory
private javax.xml.parsers.DocumentBuilder m_docBuilder
setupDocumentBuilder()
and cleared if a parsing error occurs.
private boolean m_dropDtdComments
private org.apache.avalon.framework.service.ServiceManager m_manager
Constructor Detail |
---|
public JaxpParser()
Method Detail |
---|
public void service(org.apache.avalon.framework.service.ServiceManager manager) throws org.apache.avalon.framework.service.ServiceException
service
in interface org.apache.avalon.framework.service.Serviceable
org.apache.avalon.framework.service.ServiceException
public void dispose()
dispose
in interface org.apache.avalon.framework.activity.Disposable
public void parameterize(org.apache.avalon.framework.parameters.Parameters params) throws org.apache.avalon.framework.parameters.ParameterException
parameterize
in interface org.apache.avalon.framework.parameters.Parameterizable
org.apache.avalon.framework.parameters.ParameterException
private java.lang.Class loadClass(java.lang.String name) throws java.lang.Exception
java.lang.Exception
public void parse(org.xml.sax.InputSource in, org.xml.sax.ContentHandler contentHandler, org.xml.sax.ext.LexicalHandler lexicalHandler) throws org.xml.sax.SAXException, java.io.IOException
InputSource
and send
SAX events to the consumer.
Attention: the consumer can implement the
LexicalHandler
as well.
The parse should take care of this.
parse
in interface SAXParser
org.xml.sax.SAXException
java.io.IOException
public void parse(org.xml.sax.InputSource in, org.xml.sax.ContentHandler consumer) throws org.xml.sax.SAXException, java.io.IOException
InputSource
and send
SAX events to the consumer.
Attention: the consumer can implement the
LexicalHandler
as well.
The parse should take care of this.
parse
in interface SAXParser
org.xml.sax.SAXException
java.io.IOException
private void setupXMLReader() throws org.xml.sax.SAXException
XMLReader
if needed.
org.xml.sax.SAXException
public org.w3c.dom.Document parseDocument(org.xml.sax.InputSource input) throws org.xml.sax.SAXException, java.io.IOException
parseDocument
in interface DOMParser
org.xml.sax.SAXException
java.io.IOException
private void setupDocumentBuilder() throws org.xml.sax.SAXException
DocumentBuilder
if needed.
org.xml.sax.SAXException
public org.w3c.dom.Document createDocument() throws org.xml.sax.SAXException
Document
.
createDocument
in interface DOMParser
org.xml.sax.SAXException
public void error(org.xml.sax.SAXParseException spe) throws org.xml.sax.SAXException
error
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
public void fatalError(org.xml.sax.SAXParseException spe) throws org.xml.sax.SAXException
fatalError
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
public void warning(org.xml.sax.SAXParseException spe) throws org.xml.sax.SAXException
warning
in interface org.xml.sax.ErrorHandler
org.xml.sax.SAXException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |