All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.thaiopensource.validate.Validator Maven / Gradle / Ivy

Go to download

Jing is a validator for RELAX NG and other schema languages. This project was taken from http://code.google.com/p/jing-trang and mavenized for inclusion in the Wicket Stuff HTML Validator. The code was taken from the 20091111 release.

There is a newer version: 1.11
Show newest version
package com.thaiopensource.validate;

import org.xml.sax.ContentHandler;
import org.xml.sax.DTDHandler;

/**
 * Validates an XML document with respect to a schema.  The schema is
 * determined when the Validator is created and cannot be
 * changed.  The XML document is provided to the Validator
 * by calling methods of the ContentHandler object returned
 * by getContentHandler; the methods must be called in
 * the sequence specified by the ContentHandler
 * interface.  If the getDTDHandler method returns
 * a non-null object, then method calls must be made on it
 * reporting DTD information.
 *
 * 

Any errors will be reported to the ErrorHandler * specified when the Validator was created. If, after the * call to the endDocument method, no errors have been * reported, then the XML document is valid. * *

A single Validator object is not safe for * concurrent access from multiple threads. A single * ValidatorHandler can be used to validate only a single * document at a time. * *

After completing validation of an XML document (i.e. after calling * the endDocument on the ContentHandler), * reset can be called to allow validation of another * document. The reset method may create new ContentHandler * and DTDHandler objects or may simply reinitialize the * state of the existing objects. Therefore, getContentHandler * and getDTDHandler must be called after reset * to retrieve the objects to which the XML document to be validated * must be provided. * * @author James Clark */ public interface Validator { /** * Returns the ContentHandler that will receive the XML document. * Information about the XML document to be validated must be * reported by calling methods on the returned ContentHandler. * When validation of an XML document has been completed (either * endDocument() has been called or validation has been abandoned * prematurely), reset() must be called. If no calls are made * on the ContentHandler, then reset() need not be called. * Implementations should allocate resources that require * cleanup (e.g. threads, open files) lazily, typically * in startDocument(). * * This method does not change the state of the Validator: the same * object will always be returned unless reset is called. * * @see #reset() * @return a ContentHandler, never null */ ContentHandler getContentHandler(); /** * Returns a DTDHandler. Information about the DTD must be reported * by calling methods on the returned object, unless null * is returned. The same object will always be returned unless * reset is called: this method does not change the state * of the Validator. * * @return a DTDHandler, maybe null if DTD information is * not significant to the Validator */ DTDHandler getDTDHandler(); /** * Cleans up after validating a document. After completing validation * of a document, reset must be called. After calling * reset(), another document may be validated. Calling this method * may create new ContentHandler and DTDHandler objects or may simply * reinitialize the state of the existing objects. */ void reset(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy