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 Details

    • ValidatorPlugin

      public ValidatorPlugin()
      Initializes the plugin.
  • Method Details

    • finalize

      protected void finalize() throws Throwable
      Cleans up the object when it's destroyed.
      Overrides:
      finalize in class Object
      Throws:
      Throwable
    • 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:
      setParameterEntityResolver in interface IXMLValidator
      Parameters:
      resolver - the entity resolver.
    • getParameterEntityResolver

      public IXMLEntityResolver getParameterEntityResolver()
      Returns the parameter entity resolver.
      Specified by:
      getParameterEntityResolver in interface IXMLValidator
      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:
      parseDTD in interface IXMLValidator
      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:
      elementStarted in interface IXMLValidator
      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:
      elementEnded in interface IXMLValidator
      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:
      elementAttributesProcessed in interface IXMLValidator
      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:
      attributeAdded in interface IXMLValidator
      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:
      PCDataAdded in interface IXMLValidator
      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 element
      lineNr - the line number in the XML data of the element
      parentElementName - the name of the parent element
      missingElementName - 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 element
      lineNr - the line number in the XML data of the element
      parentElementName - the name of the parent element
      unexpectedElementName - 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 element
      lineNr - the line number in the XML data of the element
      elementName - the name of the element
      attributeName - 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 element
      lineNr - the line number in the XML data of the element
      elementName - the name of the element
      attributeName - 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 element
      lineNr - the line number in the XML data of the element
      elementName - the name of the element
      attributeName - the name of the attribute
      attributeValue - 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 element
      lineNr - the line number in the XML data of the element
      parentElementName - 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 element
      lineNr - the line number in the XML data of the element
      parentElementName - 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 element
      lineNr - the line number in the XML data of the element
      message - the error message
      elementName - 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 :-)