Class AbstractSAXParser
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.XMLParser
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.AbstractXMLDocumentParser
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.AbstractSAXParser
-
- All Implemented Interfaces:
XMLDocumentHandler
,XMLDTDContentModelHandler
,XMLDTDHandler
,PSVIProvider
,Parser
,XMLReader
- Direct Known Subclasses:
SAXParser
public abstract class AbstractSAXParser extends AbstractXMLDocumentParser implements PSVIProvider, Parser, XMLReader
This is the base class of all SAX parsers. It implements both the SAX1 and SAX2 parser functionality, while the actual pipeline is defined in the parser configuration.- Version:
- $Id$
- Author:
- Arnaud Le Hors, IBM, Andy Clark, IBM
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
AbstractSAXParser.AttributesProxy
protected static class
AbstractSAXParser.LocatorProxy
-
Field Summary
Fields Modifier and Type Field Description protected static String
ALLOW_UE_AND_NOTATION_EVENTS
Feature identifier: allow notation and unparsed entity events to be sent out of order.protected static String
DECLARATION_HANDLER
Property id: declaration handler.protected static String
DOM_NODE
Property id: DOM node.protected ContentHandler
fContentHandler
Content handler.protected SymbolHash
fDeclaredAttrs
protected DeclHandler
fDeclHandler
Decl handler.protected DocumentHandler
fDocumentHandler
Document handler.protected DTDHandler
fDTDHandler
DTD handler.protected LexicalHandler
fLexicalHandler
Lexical handler.protected boolean
fLexicalHandlerParameterEntities
Lexical handler parameter entities.protected NamespaceContext
fNamespaceContext
Namespace contextprotected boolean
fNamespacePrefixes
Namespace prefixes.protected boolean
fNamespaces
Namespaces.protected boolean
fParseInProgress
True if a parse is in progress.protected QName
fQName
protected boolean
fResolveDTDURIs
Resolve DTD URIs.protected boolean
fStandalone
Standalone document declaration.protected boolean
fUseEntityResolver2
Use EntityResolver2.protected String
fVersion
protected boolean
fXMLNSURIs
XMLNS URIs: Namespace declarations in the http://www.w3.org/2000/xmlns/ namespace.protected static String
LEXICAL_HANDLER
Property id: lexical handler.protected static String
NAMESPACES
Feature identifier: namespaces.protected static String
STRING_INTERNING
Feature id: string interning.-
Fields inherited from class org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.AbstractXMLDocumentParser
fDocumentSource, fDTDContentModelSource, fDTDSource, fInDTD
-
Fields inherited from class org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.XMLParser
ENTITY_RESOLVER, ERROR_HANDLER, fConfiguration
-
Fields inherited from interface org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.XMLDTDContentModelHandler
OCCURS_ONE_OR_MORE, OCCURS_ZERO_OR_MORE, OCCURS_ZERO_OR_ONE, SEPARATOR_CHOICE, SEPARATOR_SEQUENCE
-
Fields inherited from interface org.smooks.engine.delivery.sax.ng.org.apache.xerces.xni.XMLDTDHandler
CONDITIONAL_IGNORE, CONDITIONAL_INCLUDE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractSAXParser(XMLParserConfiguration config)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
attributeDecl(String elementName, String attributeName, String type, String[] enumeration, String defaultType, XMLString defaultValue, XMLString nonNormalizedDefaultValue, Augmentations augs)
An attribute declaration.void
characters(XMLString text, Augmentations augs)
Character content.void
comment(XMLString text, Augmentations augs)
A comment.void
doctypeDecl(String rootElement, String publicId, String systemId, Augmentations augs)
Notifies of the presence of the DOCTYPE line in the document.void
elementDecl(String name, String contentModel, Augmentations augs)
An element declaration.void
endCDATA(Augmentations augs)
The end of a CDATA section.void
endDocument(Augmentations augs)
The end of the document.void
endDTD(Augmentations augs)
The end of the DTD.void
endElement(QName element, Augmentations augs)
The end of an element.void
endExternalSubset(Augmentations augs)
The end of the DTD external subset.void
endGeneralEntity(String name, Augmentations augs)
This method notifies the end of an entity.protected void
endNamespaceMapping()
Send endPrefixMapping eventsvoid
endParameterEntity(String name, Augmentations augs)
This method notifies the end of an entity.void
externalEntityDecl(String name, XMLResourceIdentifier identifier, Augmentations augs)
An external entity declaration.AttributePSVI
getAttributePSVI(int index)
ProvidesAttributePSVI
given the index of an attribute information item in the current element's attribute list.AttributePSVI
getAttributePSVIByName(String uri, String localname)
ProvidesAttributePSVI
given the namespace name and the local name of an attribute information item in the current element's attribute list.ContentHandler
getContentHandler()
Return the current content handler.protected DeclHandler
getDeclHandler()
Returns the DTD declaration event handler.DTDHandler
getDTDHandler()
Return the current DTD handler.ElementPSVI
getElementPSVI()
Provides the post schema validation item for the current element information item.EntityResolver
getEntityResolver()
Return the current entity resolver.ErrorHandler
getErrorHandler()
Return the current error handler.boolean
getFeature(String featureId)
Query the state of a feature.protected LexicalHandler
getLexicalHandler()
Returns the lexical handler.Object
getProperty(String propertyId)
Query the value of a property.void
ignorableWhitespace(XMLString text, Augmentations augs)
Ignorable whitespace.void
internalEntityDecl(String name, XMLString text, XMLString nonNormalizedText, Augmentations augs)
An internal entity declaration.void
notationDecl(String name, XMLResourceIdentifier identifier, Augmentations augs)
A notation declarationvoid
parse(String systemId)
Parses the input source specified by the given system identifier.void
parse(InputSource inputSource)
parsevoid
processingInstruction(String target, XMLString data, Augmentations augs)
A processing instruction.void
reset()
Reset all components before parsing.void
setContentHandler(ContentHandler contentHandler)
Allow an application to register a content event handler.protected void
setDeclHandler(DeclHandler handler)
Set the DTD declaration event handler.void
setDocumentHandler(DocumentHandler documentHandler)
Allow an application to register a document event handler.void
setDTDHandler(DTDHandler dtdHandler)
Allow an application to register a DTD event handler.void
setEntityResolver(EntityResolver resolver)
Sets the resolver used to resolve external entities.void
setErrorHandler(ErrorHandler errorHandler)
Allow an application to register an error event handler.void
setFeature(String featureId, boolean state)
Set the state of any feature in a SAX2 parser.protected void
setLexicalHandler(LexicalHandler handler)
Set the lexical event handler.void
setLocale(Locale locale)
Set the locale to use for messages.void
setProperty(String propertyId, Object value)
Set the value of any property in a SAX2 parser.void
startCDATA(Augmentations augs)
The start of a CDATA section.void
startDocument(XMLLocator locator, String encoding, NamespaceContext namespaceContext, Augmentations augs)
The start of the document.void
startElement(QName element, XMLAttributes attributes, Augmentations augs)
The start of an element.void
startExternalSubset(XMLResourceIdentifier identifier, Augmentations augs)
The start of the DTD external subset.void
startGeneralEntity(String name, XMLResourceIdentifier identifier, String encoding, Augmentations augs)
This method notifies of the start of an entity.protected void
startNamespaceMapping()
Send startPrefixMapping eventsvoid
startParameterEntity(String name, XMLResourceIdentifier identifier, String encoding, Augmentations augs)
This method notifies of the start of parameter entity.void
unparsedEntityDecl(String name, XMLResourceIdentifier identifier, String notation, Augmentations augs)
An unparsed entity declaration.void
xmlDecl(String version, String encoding, String standalone, Augmentations augs)
Notifies of the presence of an XMLDecl line in the document.-
Methods inherited from class org.smooks.engine.delivery.sax.ng.org.apache.xerces.parsers.AbstractXMLDocumentParser
any, element, empty, emptyElement, endAttlist, endConditional, endContentModel, endGroup, getDocumentSource, getDTDContentModelSource, getDTDSource, ignoredCharacters, occurrence, pcdata, separator, setDocumentSource, setDTDContentModelSource, setDTDSource, startAttlist, startConditional, startContentModel, startDTD, startGroup, textDecl
-
-
-
-
Field Detail
-
NAMESPACES
protected static final String NAMESPACES
Feature identifier: namespaces.- See Also:
- Constant Field Values
-
STRING_INTERNING
protected static final String STRING_INTERNING
Feature id: string interning.- See Also:
- Constant Field Values
-
ALLOW_UE_AND_NOTATION_EVENTS
protected static final String ALLOW_UE_AND_NOTATION_EVENTS
Feature identifier: allow notation and unparsed entity events to be sent out of order.- See Also:
- Constant Field Values
-
LEXICAL_HANDLER
protected static final String LEXICAL_HANDLER
Property id: lexical handler.- See Also:
- Constant Field Values
-
DECLARATION_HANDLER
protected static final String DECLARATION_HANDLER
Property id: declaration handler.- See Also:
- Constant Field Values
-
DOM_NODE
protected static final String DOM_NODE
Property id: DOM node.- See Also:
- Constant Field Values
-
fNamespaces
protected boolean fNamespaces
Namespaces.
-
fNamespacePrefixes
protected boolean fNamespacePrefixes
Namespace prefixes.
-
fLexicalHandlerParameterEntities
protected boolean fLexicalHandlerParameterEntities
Lexical handler parameter entities.
-
fStandalone
protected boolean fStandalone
Standalone document declaration.
-
fResolveDTDURIs
protected boolean fResolveDTDURIs
Resolve DTD URIs.
-
fUseEntityResolver2
protected boolean fUseEntityResolver2
Use EntityResolver2.
-
fXMLNSURIs
protected boolean fXMLNSURIs
XMLNS URIs: Namespace declarations in the http://www.w3.org/2000/xmlns/ namespace.
-
fContentHandler
protected ContentHandler fContentHandler
Content handler.
-
fDocumentHandler
protected DocumentHandler fDocumentHandler
Document handler.
-
fNamespaceContext
protected NamespaceContext fNamespaceContext
Namespace context
-
fDTDHandler
protected DTDHandler fDTDHandler
DTD handler.
-
fDeclHandler
protected DeclHandler fDeclHandler
Decl handler.
-
fLexicalHandler
protected LexicalHandler fLexicalHandler
Lexical handler.
-
fQName
protected final QName fQName
-
fParseInProgress
protected boolean fParseInProgress
True if a parse is in progress. This state is needed because some features/properties cannot be set while parsing (e.g. validation and namespaces).
-
fVersion
protected String fVersion
-
fDeclaredAttrs
protected SymbolHash fDeclaredAttrs
-
-
Constructor Detail
-
AbstractSAXParser
protected AbstractSAXParser(XMLParserConfiguration config)
Default constructor.
-
-
Method Detail
-
startDocument
public void startDocument(XMLLocator locator, String encoding, NamespaceContext namespaceContext, Augmentations augs) throws XNIException
The start of the document.- Specified by:
startDocument
in interfaceXMLDocumentHandler
- Overrides:
startDocument
in classAbstractXMLDocumentParser
- Parameters:
locator
- The document locator, or null if the document location cannot be reported during the parsing of this document. However, it is strongly recommended that a locator be supplied that can at least report the system identifier of the document.encoding
- The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal entities or a document entity that is parsed from a java.io.Reader).namespaceContext
- The namespace context in effect at the start of this document. This object represents the current context. Implementors of this class are responsible for copying the namespace bindings from the the current context (and its parent contexts) if that information is important.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
xmlDecl
public void xmlDecl(String version, String encoding, String standalone, Augmentations augs) throws XNIException
Notifies of the presence of an XMLDecl line in the document. If present, this method will be called immediately following the startDocument call.- Specified by:
xmlDecl
in interfaceXMLDocumentHandler
- Overrides:
xmlDecl
in classAbstractXMLDocumentParser
- Parameters:
version
- The XML version.encoding
- The IANA encoding name of the document, or null if not specified.standalone
- The standalone value, or null if not specified.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
doctypeDecl
public void doctypeDecl(String rootElement, String publicId, String systemId, Augmentations augs) throws XNIException
Notifies of the presence of the DOCTYPE line in the document.- Specified by:
doctypeDecl
in interfaceXMLDocumentHandler
- Overrides:
doctypeDecl
in classAbstractXMLDocumentParser
- Parameters:
rootElement
- The name of the root element.publicId
- The public identifier if an external DTD or null if the external DTD is specified using SYSTEM.systemId
- The system identifier if an external DTD, null otherwise.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
startGeneralEntity
public void startGeneralEntity(String name, XMLResourceIdentifier identifier, String encoding, Augmentations augs) throws XNIException
This method notifies of the start of an entity. The DTD has the pseudo-name of "[dtd]" parameter entity names start with '%'; and general entity names are just the entity name.Note: Since the document is an entity, the handler will be notified of the start of the document entity by calling the startEntity method with the entity name "[xml]" before calling the startDocument method. When exposing entity boundaries through the SAX API, the document entity is never reported, however.
Note: This method is not called for entity references appearing as part of attribute values.
- Specified by:
startGeneralEntity
in interfaceXMLDocumentHandler
- Overrides:
startGeneralEntity
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the entity.identifier
- The resource identifier.encoding
- The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal parameter entities).augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endGeneralEntity
public void endGeneralEntity(String name, Augmentations augs) throws XNIException
This method notifies the end of an entity. The DTD has the pseudo-name of "[dtd]" parameter entity names start with '%'; and general entity names are just the entity name.Note: Since the document is an entity, the handler will be notified of the end of the document entity by calling the endEntity method with the entity name "[xml]" after calling the endDocument method. When exposing entity boundaries through the SAX API, the document entity is never reported, however.
Note: This method is not called for entity references appearing as part of attribute values.
- Specified by:
endGeneralEntity
in interfaceXMLDocumentHandler
- Overrides:
endGeneralEntity
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the entity.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
startElement
public void startElement(QName element, XMLAttributes attributes, Augmentations augs) throws XNIException
The start of an element. If the document specifies the start element by using an empty tag, then the startElement method will immediately be followed by the endElement method, with no intervening methods.- Specified by:
startElement
in interfaceXMLDocumentHandler
- Overrides:
startElement
in classAbstractXMLDocumentParser
- Parameters:
element
- The name of the element.attributes
- The element attributes.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
characters
public void characters(XMLString text, Augmentations augs) throws XNIException
Character content.- Specified by:
characters
in interfaceXMLDocumentHandler
- Overrides:
characters
in classAbstractXMLDocumentParser
- Parameters:
text
- The content.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
ignorableWhitespace
public void ignorableWhitespace(XMLString text, Augmentations augs) throws XNIException
Ignorable whitespace. For this method to be called, the document source must have some way of determining that the text containing only whitespace characters should be considered ignorable. For example, the validator can determine if a length of whitespace characters in the document are ignorable based on the element content model.- Specified by:
ignorableWhitespace
in interfaceXMLDocumentHandler
- Overrides:
ignorableWhitespace
in classAbstractXMLDocumentParser
- Parameters:
text
- The ignorable whitespace.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endElement
public void endElement(QName element, Augmentations augs) throws XNIException
The end of an element.- Specified by:
endElement
in interfaceXMLDocumentHandler
- Overrides:
endElement
in classAbstractXMLDocumentParser
- Parameters:
element
- The name of the element.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
startCDATA
public void startCDATA(Augmentations augs) throws XNIException
The start of a CDATA section.- Specified by:
startCDATA
in interfaceXMLDocumentHandler
- Overrides:
startCDATA
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endCDATA
public void endCDATA(Augmentations augs) throws XNIException
The end of a CDATA section.- Specified by:
endCDATA
in interfaceXMLDocumentHandler
- Overrides:
endCDATA
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
comment
public void comment(XMLString text, Augmentations augs) throws XNIException
A comment.- Specified by:
comment
in interfaceXMLDocumentHandler
- Specified by:
comment
in interfaceXMLDTDHandler
- Overrides:
comment
in classAbstractXMLDocumentParser
- Parameters:
text
- The text in the comment.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by application to signal an error.
-
processingInstruction
public void processingInstruction(String target, XMLString data, Augmentations augs) throws XNIException
A processing instruction. Processing instructions consist of a target name and, optionally, text data. The data is only meaningful to the application.Typically, a processing instruction's data will contain a series of pseudo-attributes. These pseudo-attributes follow the form of element attributes but are not parsed or presented to the application as anything other than text. The application is responsible for parsing the data.
- Specified by:
processingInstruction
in interfaceXMLDocumentHandler
- Specified by:
processingInstruction
in interfaceXMLDTDHandler
- Overrides:
processingInstruction
in classAbstractXMLDocumentParser
- Parameters:
target
- The target.data
- The data or null if none specified.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endDocument
public void endDocument(Augmentations augs) throws XNIException
The end of the document.- Specified by:
endDocument
in interfaceXMLDocumentHandler
- Overrides:
endDocument
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
startExternalSubset
public void startExternalSubset(XMLResourceIdentifier identifier, Augmentations augs) throws XNIException
The start of the DTD external subset.- Specified by:
startExternalSubset
in interfaceXMLDTDHandler
- Overrides:
startExternalSubset
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations.identifier
- The resource identifier.- Throws:
XNIException
- Thrown by handler to signal an error.
-
endExternalSubset
public void endExternalSubset(Augmentations augs) throws XNIException
The end of the DTD external subset.- Specified by:
endExternalSubset
in interfaceXMLDTDHandler
- Overrides:
endExternalSubset
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
startParameterEntity
public void startParameterEntity(String name, XMLResourceIdentifier identifier, String encoding, Augmentations augs) throws XNIException
This method notifies of the start of parameter entity. The DTD has the pseudo-name of "[dtd]" parameter entity names start with '%'; and general entity names are just the entity name.Note: Since the document is an entity, the handler will be notified of the start of the document entity by calling the startEntity method with the entity name "[xml]" before calling the startDocument method. When exposing entity boundaries through the SAX API, the document entity is never reported, however.
Note: This method is not called for entity references appearing as part of attribute values.
- Specified by:
startParameterEntity
in interfaceXMLDTDHandler
- Overrides:
startParameterEntity
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the parameter entity.identifier
- The resource identifier.encoding
- The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal parameter entities).augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
endParameterEntity
public void endParameterEntity(String name, Augmentations augs) throws XNIException
This method notifies the end of an entity. The DTD has the pseudo-name of "[dtd]" parameter entity names start with '%'; and general entity names are just the entity name.Note: Since the document is an entity, the handler will be notified of the end of the document entity by calling the endEntity method with the entity name "[xml]" after calling the endDocument method. When exposing entity boundaries through the SAX API, the document entity is never reported, however.
Note: This method is not called for entity references appearing as part of attribute values.
- Specified by:
endParameterEntity
in interfaceXMLDTDHandler
- Overrides:
endParameterEntity
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the parameter entity.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
elementDecl
public void elementDecl(String name, String contentModel, Augmentations augs) throws XNIException
An element declaration.- Specified by:
elementDecl
in interfaceXMLDTDHandler
- Overrides:
elementDecl
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the element.contentModel
- The element content model.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
attributeDecl
public void attributeDecl(String elementName, String attributeName, String type, String[] enumeration, String defaultType, XMLString defaultValue, XMLString nonNormalizedDefaultValue, Augmentations augs) throws XNIException
An attribute declaration.- Specified by:
attributeDecl
in interfaceXMLDTDHandler
- Overrides:
attributeDecl
in classAbstractXMLDocumentParser
- Parameters:
elementName
- The name of the element that this attribute is associated with.attributeName
- The name of the attribute.type
- The attribute type. This value will be one of the following: "CDATA", "ENTITY", "ENTITIES", "ENUMERATION", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", or "NOTATION".enumeration
- If the type has the value "ENUMERATION" or "NOTATION", this array holds the allowed attribute values; otherwise, this array is null.defaultType
- The attribute default type. This value will be one of the following: "#FIXED", "#IMPLIED", "#REQUIRED", or null.defaultValue
- The attribute default value, or null if no default value is specified.nonNormalizedDefaultValue
- The attribute default value with no normalization performed, or null if no default value is specified.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
internalEntityDecl
public void internalEntityDecl(String name, XMLString text, XMLString nonNormalizedText, Augmentations augs) throws XNIException
An internal entity declaration.- Specified by:
internalEntityDecl
in interfaceXMLDTDHandler
- Overrides:
internalEntityDecl
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.text
- The value of the entity.nonNormalizedText
- The non-normalized value of the entity. This value contains the same sequence of characters that was in the internal entity declaration, without any entity references expanded.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
externalEntityDecl
public void externalEntityDecl(String name, XMLResourceIdentifier identifier, Augmentations augs) throws XNIException
An external entity declaration.- Specified by:
externalEntityDecl
in interfaceXMLDTDHandler
- Overrides:
externalEntityDecl
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the entity. Parameter entity names start with '%', whereas the name of a general entity is just the entity name.identifier
- An object containing all location information pertinent to this entity.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
unparsedEntityDecl
public void unparsedEntityDecl(String name, XMLResourceIdentifier identifier, String notation, Augmentations augs) throws XNIException
An unparsed entity declaration.- Specified by:
unparsedEntityDecl
in interfaceXMLDTDHandler
- Overrides:
unparsedEntityDecl
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the entity.identifier
- An object containing all location information pertinent to this entity.notation
- The name of the notation.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
notationDecl
public void notationDecl(String name, XMLResourceIdentifier identifier, Augmentations augs) throws XNIException
A notation declaration- Specified by:
notationDecl
in interfaceXMLDTDHandler
- Overrides:
notationDecl
in classAbstractXMLDocumentParser
- Parameters:
name
- The name of the notation.identifier
- An object containing all location information pertinent to this notation.augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
endDTD
public void endDTD(Augmentations augs) throws XNIException
The end of the DTD.- Specified by:
endDTD
in interfaceXMLDTDHandler
- Overrides:
endDTD
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations.- Throws:
XNIException
- Thrown by handler to signal an error.
-
parse
public void parse(String systemId) throws SAXException, IOException
Parses the input source specified by the given system identifier.This method is equivalent to the following:
parse(new InputSource(systemId));
- Specified by:
parse
in interfaceParser
- Specified by:
parse
in interfaceXMLReader
- Parameters:
systemId
- The system identifier (URI).- Throws:
SAXException
- Throws exception on SAX error.IOException
- Throws exception on i/o error.
-
parse
public void parse(InputSource inputSource) throws SAXException, IOException
parse- Specified by:
parse
in interfaceParser
- Specified by:
parse
in interfaceXMLReader
- Parameters:
inputSource
-- Throws:
SAXException
IOException
-
setEntityResolver
public void setEntityResolver(EntityResolver resolver)
Sets the resolver used to resolve external entities. The EntityResolver interface supports resolution of public and system identifiers.- Specified by:
setEntityResolver
in interfaceParser
- Specified by:
setEntityResolver
in interfaceXMLReader
- Parameters:
resolver
- The new entity resolver. Passing a null value will uninstall the currently installed resolver.
-
getEntityResolver
public EntityResolver getEntityResolver()
Return the current entity resolver.- Specified by:
getEntityResolver
in interfaceXMLReader
- Returns:
- The current entity resolver, or null if none has been registered.
- See Also:
setEntityResolver(org.xml.sax.EntityResolver)
-
setErrorHandler
public void setErrorHandler(ErrorHandler errorHandler)
Allow an application to register an error event handler.If the application does not register an error handler, all error events reported by the SAX parser will be silently ignored; however, normal processing may not continue. It is highly recommended that all SAX applications implement an error handler to avoid unexpected bugs.
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
- Specified by:
setErrorHandler
in interfaceParser
- Specified by:
setErrorHandler
in interfaceXMLReader
- Parameters:
errorHandler
- The error handler.- See Also:
getErrorHandler()
-
getErrorHandler
public ErrorHandler getErrorHandler()
Return the current error handler.- Specified by:
getErrorHandler
in interfaceXMLReader
- Returns:
- The current error handler, or null if none has been registered.
- See Also:
setErrorHandler(org.xml.sax.ErrorHandler)
-
setLocale
public void setLocale(Locale locale) throws SAXException
Set the locale to use for messages.- Specified by:
setLocale
in interfaceParser
- Parameters:
locale
- The locale object to use for localization of messages.- Throws:
SAXException
- An exception thrown if the parser does not support the specified locale.- See Also:
Parser
-
setDTDHandler
public void setDTDHandler(DTDHandler dtdHandler)
Allow an application to register a DTD event handler.If the application does not register a DTD handler, all DTD events reported by the SAX parser will be silently ignored.
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
- Specified by:
setDTDHandler
in interfaceParser
- Specified by:
setDTDHandler
in interfaceXMLReader
- Parameters:
dtdHandler
- The DTD handler.- See Also:
getDTDHandler()
-
setDocumentHandler
public void setDocumentHandler(DocumentHandler documentHandler)
Allow an application to register a document event handler.If the application does not register a document handler, all document events reported by the SAX parser will be silently ignored (this is the default behaviour implemented by HandlerBase).
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
- Specified by:
setDocumentHandler
in interfaceParser
- Parameters:
documentHandler
- The document handler.
-
setContentHandler
public void setContentHandler(ContentHandler contentHandler)
Allow an application to register a content event handler.If the application does not register a content handler, all content events reported by the SAX parser will be silently ignored.
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
- Specified by:
setContentHandler
in interfaceXMLReader
- Parameters:
contentHandler
- The content handler.- See Also:
getContentHandler()
-
getContentHandler
public ContentHandler getContentHandler()
Return the current content handler.- Specified by:
getContentHandler
in interfaceXMLReader
- Returns:
- The current content handler, or null if none has been registered.
- See Also:
setContentHandler(org.xml.sax.ContentHandler)
-
getDTDHandler
public DTDHandler getDTDHandler()
Return the current DTD handler.- Specified by:
getDTDHandler
in interfaceXMLReader
- Returns:
- The current DTD handler, or null if none has been registered.
- See Also:
setDTDHandler(org.xml.sax.DTDHandler)
-
setFeature
public void setFeature(String featureId, boolean state) throws SAXNotRecognizedException, SAXNotSupportedException
Set the state of any feature in a SAX2 parser. The parser might not recognize the feature, and if it does recognize it, it might not be able to fulfill the request.- Specified by:
setFeature
in interfaceXMLReader
- Parameters:
featureId
- The unique identifier (URI) of the feature.state
- The requested state of the feature (true or false).- Throws:
SAXNotRecognizedException
- If the requested feature is not known.SAXNotSupportedException
- If the requested feature is known, but the requested state is not supported.
-
getFeature
public boolean getFeature(String featureId) throws SAXNotRecognizedException, SAXNotSupportedException
Query the state of a feature. Query the current state of any feature in a SAX2 parser. The parser might not recognize the feature.- Specified by:
getFeature
in interfaceXMLReader
- Parameters:
featureId
- The unique identifier (URI) of the feature being set.- Returns:
- The current state of the feature.
- Throws:
SAXNotRecognizedException
- If the requested feature is not known.SAXNotSupportedException
- If the requested feature is known but not supported.
-
setProperty
public void setProperty(String propertyId, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
Set the value of any property in a SAX2 parser. The parser might not recognize the property, and if it does recognize it, it might not support the requested value.- Specified by:
setProperty
in interfaceXMLReader
- Parameters:
propertyId
- The unique identifier (URI) of the property being set.value
- The value to which the property is being set.- Throws:
SAXNotRecognizedException
- If the requested property is not known.SAXNotSupportedException
- If the requested property is known, but the requested value is not supported.
-
getProperty
public Object getProperty(String propertyId) throws SAXNotRecognizedException, SAXNotSupportedException
Query the value of a property. Return the current value of a property in a SAX2 parser. The parser might not recognize the property.- Specified by:
getProperty
in interfaceXMLReader
- Parameters:
propertyId
- The unique identifier (URI) of the property being set.- Returns:
- The current value of the property.
- Throws:
SAXNotRecognizedException
- If the requested property is not known.SAXNotSupportedException
- If the requested property is known but not supported.
-
setDeclHandler
protected void setDeclHandler(DeclHandler handler) throws SAXNotRecognizedException, SAXNotSupportedException
Set the DTD declaration event handler.This method is the equivalent to the property:
http://xml.org/sax/properties/declaration-handler
- Parameters:
handler
- The new handler.- Throws:
SAXNotRecognizedException
SAXNotSupportedException
- See Also:
getDeclHandler()
,setProperty(java.lang.String, java.lang.Object)
-
getDeclHandler
protected DeclHandler getDeclHandler() throws SAXNotRecognizedException, SAXNotSupportedException
Returns the DTD declaration event handler.
-
setLexicalHandler
protected void setLexicalHandler(LexicalHandler handler) throws SAXNotRecognizedException, SAXNotSupportedException
Set the lexical event handler.This method is the equivalent to the property:
http://xml.org/sax/properties/lexical-handler
- Parameters:
handler
- lexical event handler- Throws:
SAXNotRecognizedException
SAXNotSupportedException
- See Also:
getLexicalHandler()
,setProperty(java.lang.String, java.lang.Object)
-
getLexicalHandler
protected LexicalHandler getLexicalHandler() throws SAXNotRecognizedException, SAXNotSupportedException
Returns the lexical handler.
-
startNamespaceMapping
protected final void startNamespaceMapping() throws SAXException
Send startPrefixMapping events- Throws:
SAXException
-
endNamespaceMapping
protected final void endNamespaceMapping() throws SAXException
Send endPrefixMapping events- Throws:
SAXException
-
reset
public void reset() throws XNIException
Reset all components before parsing.- Overrides:
reset
in classAbstractXMLDocumentParser
- Throws:
XNIException
- Thrown if an error occurs during initialization.
-
getElementPSVI
public ElementPSVI getElementPSVI()
Description copied from interface:PSVIProvider
Provides the post schema validation item for the current element information item. The method must be called by an application while in the scope of the methods which report the start and end of an element. For example, for SAX the method must be called within the scope of the document handler'sstartElement
orendElement
call. If the method is called outside of the specified scope, the return value is undefined.- Specified by:
getElementPSVI
in interfacePSVIProvider
- Returns:
- The post schema validation infoset for the current element. If an element information item is valid, then in the post-schema-validation infoset the following properties must be available for the element information item: The following properties are available in the scope of the method that reports the start of an element: {element declaration}, {validation context}, {notation}. The {schema information} property is available for the validation root. The {error codes} property is available if any errors occured during validation. The following properties are available in the scope of the method that reports the end of an element: {nil}, {schema specified}, {normalized value},{ member type definition}, {validity}, {validation attempted} . If the declaration has a value constraint, the property {schema default} is available. The {error codes} property is available if any errors occured during validation. Note: some processors may choose to provide all the PSVI properties in the scope of the method that reports the end of an element.
-
getAttributePSVI
public AttributePSVI getAttributePSVI(int index)
Description copied from interface:PSVIProvider
ProvidesAttributePSVI
given the index of an attribute information item in the current element's attribute list. The method must be called by an application while in the scope of the methods which report the start and end of an element at a point where the attribute list is available. For example, for SAX the method must be called while in the scope of the document handler'sstartElement
call. If the method is called outside of the specified scope, the return value is undefined.- Specified by:
getAttributePSVI
in interfacePSVIProvider
- Parameters:
index
- The attribute index.- Returns:
- The post schema validation properties of the attribute.
-
getAttributePSVIByName
public AttributePSVI getAttributePSVIByName(String uri, String localname)
Description copied from interface:PSVIProvider
ProvidesAttributePSVI
given the namespace name and the local name of an attribute information item in the current element's attribute list. The method must be called by an application while in the scope of the methods which report the start and end of an element at a point where the attribute list is available. For example, for SAX the method must be called while in the scope of the document handler'sstartElement
call. If the method is called outside of the specified scope, the return value is undefined.- Specified by:
getAttributePSVIByName
in interfacePSVIProvider
- Parameters:
uri
- The namespace name of an attribute.localname
- The local name of an attribute.- Returns:
- The post schema validation properties of the attribute.
-
-