Package net.n3.nanoxml
Class ValidatorPlugin
- java.lang.Object
-
- net.n3.nanoxml.ValidatorPlugin
-
- All Implemented Interfaces:
IXMLValidator
public class ValidatorPlugin extends Object implements IXMLValidator
ValidatorPlugin allows the application to insert additional validators into NanoXML.- Version:
- $Name: RELEASE_2_2_1 $, $Revision: 1.3 $
- Author:
- Marc De Scheemaecker
-
-
Constructor Summary
Constructors Constructor Description ValidatorPlugin()Initializes the plugin.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidattributeAdded(String key, String value, String systemId, int lineNr)This method is called when the attributes of an XML element have been processed.voidelementAttributesProcessed(String name, Properties extraAttributes, String systemId, int lineNr)Indicates that an attribute has been added to the current element.voidelementEnded(String name, String systemId, int lineNr)Indicates that the current element has ended.voidelementStarted(String name, String systemId, int lineNr)Indicates that an element has been started.protected voidfinalize()Cleans up the object when it's destroyed.IXMLValidatorgetDelegate()Returns the delegate.IXMLEntityResolvergetParameterEntityResolver()Returns the parameter entity resolver.voidinvalidAttributeValue(String systemID, int lineNr, String elementName, String attributeName, String attributeValue)Throws an XMLValidationException to indicate that an attribute has an invalid value.voidmissingAttribute(String systemID, int lineNr, String elementName, String attributeName)Throws an XMLValidationException to indicate that an attribute is missing.voidmissingElement(String systemID, int lineNr, String parentElementName, String missingElementName)Throws an XMLValidationException to indicate that an element is missing.voidmissingPCData(String systemID, int lineNr, String parentElementName)Throws an XMLValidationException to indicate that a #PCDATA element was missing.voidparseDTD(String publicID, IXMLReader reader, IXMLEntityResolver entityResolver, boolean external)Parses the DTD.voidPCDataAdded(String systemId, int lineNr)Indicates that a new #PCDATA element has been encountered.voidsetDelegate(IXMLValidator delegate)Sets the delegate.voidsetParameterEntityResolver(IXMLEntityResolver resolver)Sets the parameter entity resolver.voidunexpectedAttribute(String systemID, int lineNr, String elementName, String attributeName)Throws an XMLValidationException to indicate that an attribute is unexpected.voidunexpectedElement(String systemID, int lineNr, String parentElementName, String unexpectedElementName)Throws an XMLValidationException to indicate that an element is unexpected.voidunexpectedPCData(String systemID, int lineNr, String parentElementName)Throws an XMLValidationException to indicate that a #PCDATA element was unexpected.voidvalidationError(String systemID, int lineNr, String message, String elementName, String attributeName, String attributeValue)Throws an XMLValidationException.
-
-
-
Method Detail
-
finalize
protected void finalize() throws ThrowableCleans up the object when it's destroyed.
-
getDelegate
public IXMLValidator getDelegate()
Returns the delegate.
-
setDelegate
public void setDelegate(IXMLValidator delegate)
Sets the delegate.- Parameters:
delegate- the delegate
-
setParameterEntityResolver
public void setParameterEntityResolver(IXMLEntityResolver resolver)
Sets the parameter entity resolver.- Specified by:
setParameterEntityResolverin interfaceIXMLValidator- Parameters:
resolver- the entity resolver.
-
getParameterEntityResolver
public IXMLEntityResolver getParameterEntityResolver()
Returns the parameter entity resolver.- Specified by:
getParameterEntityResolverin interfaceIXMLValidator- Returns:
- the entity resolver.
-
parseDTD
public void parseDTD(String publicID, IXMLReader reader, IXMLEntityResolver entityResolver, boolean external) throws Exception
Parses the DTD. The validator object is responsible for reading the full DTD.- Specified by:
parseDTDin interfaceIXMLValidator- Parameters:
publicID- the public ID, which may be null.reader- the reader to read the DTD from.entityResolver- the entity resolver.external- true if the DTD is external.- Throws:
Exception- if something went wrong.
-
elementStarted
public void elementStarted(String name, String systemId, int lineNr) throws Exception
Indicates that an element has been started.- Specified by:
elementStartedin interfaceIXMLValidator- Parameters:
name- the name of the element.systemId- the system ID of the XML data of the element.lineNr- the line number in the XML data of the element.- Throws:
Exception- if the element could not be validated.
-
elementEnded
public void elementEnded(String name, String systemId, int lineNr) throws Exception
Indicates that the current element has ended.- Specified by:
elementEndedin interfaceIXMLValidator- Parameters:
name- the name of the element.systemId- the system ID of the XML data of the element.lineNr- the line number in the XML data of the element.- Throws:
Exception- if the element could not be validated.
-
elementAttributesProcessed
public void elementAttributesProcessed(String name, Properties extraAttributes, String systemId, int lineNr) throws Exception
Indicates that an attribute has been added to the current element.- Specified by:
elementAttributesProcessedin interfaceIXMLValidator- Parameters:
key- the name of the attribute.value- the value of the attribute.systemId- the system ID of the XML data of the element.lineNr- the line number in the XML data of the element.- Throws:
Exception- if the attribute could not be validated.
-
attributeAdded
public void attributeAdded(String key, String value, String systemId, int lineNr) throws Exception
This method is called when the attributes of an XML element have been processed. If there are attributes with a default value which have not been specified yet, they have to be put into extraAttributes.- Specified by:
attributeAddedin interfaceIXMLValidator- Parameters:
name- the name of the element.extraAttributes- where to put extra attributes.systemId- the system ID of the XML data of the element.lineNr- the line number in the XML data of the element.- Throws:
Exception- if the element could not be validated.
-
PCDataAdded
public void PCDataAdded(String systemId, int lineNr) throws Exception
Indicates that a new #PCDATA element has been encountered.- Specified by:
PCDataAddedin interfaceIXMLValidator- Parameters:
systemId- the system ID of the XML data of the element.lineNr- the line number in the XML data of the element.- Throws:
Exception- if the element could not be validated.
-
missingElement
public void missingElement(String systemID, int lineNr, String parentElementName, String missingElementName) throws XMLValidationException
Throws an XMLValidationException to indicate that an element is missing.- Parameters:
systemID- the system ID of the XML data of the elementlineNr- the line number in the XML data of the elementparentElementName- the name of the parent elementmissingElementName- the name of the missing element- Throws:
XMLValidationException- of course :-)
-
unexpectedElement
public void unexpectedElement(String systemID, int lineNr, String parentElementName, String unexpectedElementName) throws XMLValidationException
Throws an XMLValidationException to indicate that an element is unexpected.- Parameters:
systemID- the system ID of the XML data of the elementlineNr- the line number in the XML data of the elementparentElementName- the name of the parent elementunexpectedElementName- the name of the missing element- Throws:
XMLValidationException- of course :-)
-
missingAttribute
public void missingAttribute(String systemID, int lineNr, String elementName, String attributeName) throws XMLValidationException
Throws an XMLValidationException to indicate that an attribute is missing.- Parameters:
systemID- the system ID of the XML data of the elementlineNr- the line number in the XML data of the elementelementName- the name of the elementattributeName- the name of the missing attribute- Throws:
XMLValidationException- of course :-)
-
unexpectedAttribute
public void unexpectedAttribute(String systemID, int lineNr, String elementName, String attributeName) throws XMLValidationException
Throws an XMLValidationException to indicate that an attribute is unexpected.- Parameters:
systemID- the system ID of the XML data of the elementlineNr- the line number in the XML data of the elementelementName- the name of the elementattributeName- the name of the unexpected attribute- Throws:
XMLValidationException- of course :-)
-
invalidAttributeValue
public void invalidAttributeValue(String systemID, int lineNr, String elementName, String attributeName, String attributeValue) throws XMLValidationException
Throws an XMLValidationException to indicate that an attribute has an invalid value.- Parameters:
systemID- the system ID of the XML data of the elementlineNr- the line number in the XML data of the elementelementName- the name of the elementattributeName- the name of the attributeattributeValue- the value of the attribute- Throws:
XMLValidationException- of course :-)
-
missingPCData
public void missingPCData(String systemID, int lineNr, String parentElementName) throws XMLValidationException
Throws an XMLValidationException to indicate that a #PCDATA element was missing.- Parameters:
systemID- the system ID of the XML data of the elementlineNr- the line number in the XML data of the elementparentElementName- the name of the parent element- Throws:
XMLValidationException- of course :-)
-
unexpectedPCData
public void unexpectedPCData(String systemID, int lineNr, String parentElementName) throws XMLValidationException
Throws an XMLValidationException to indicate that a #PCDATA element was unexpected.- Parameters:
systemID- the system ID of the XML data of the elementlineNr- the line number in the XML data of the elementparentElementName- the name of the parent element- Throws:
XMLValidationException- of course :-)
-
validationError
public void validationError(String systemID, int lineNr, String message, String elementName, String attributeName, String attributeValue) throws XMLValidationException
Throws an XMLValidationException.- Parameters:
systemID- the system ID of the XML data of the elementlineNr- the line number in the XML data of the elementmessage- the error messageelementName- the name of the element (may be null)attributeName- the name of the attribute (may be null)attributeValue- the value of the attribute (may be null)- Throws:
XMLValidationException- of course :-)
-
-