Class 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 Detail

      • ValidatorPlugin

        public ValidatorPlugin()
        Initializes the plugin.
    • Method Detail

      • getDelegate

        public IXMLValidator getDelegate()
        Returns the delegate.
      • setDelegate

        public void setDelegate​(IXMLValidator delegate)
        Sets the delegate.
        Parameters:
        delegate - the delegate
      • 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 :-)