package com.thaiopensource.validate; import com.thaiopensource.util.PropertyMap; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import javax.xml.transform.sax.SAXSource; import java.io.IOException; /** * A SchemaReader object is immutable and can thus be safely accessed * concurrently from multiple threads. */ public interface SchemaReader { public static final String BASE_URI = "http://www.thaiopensource.com/validate/"; /** * Creates a <code>Schema</code> by reading it from an <code>InputSource</code>. * * @param source * @param properties a <code>PropertyMap</code> to control the schema creation; * must not be <code>null</code> @return a newly created <code>Schema</code>, never <code>null</code> * @throws IOException if an I/O error occurs * @throws SAXException * @throws IncorrectSchemaException * * @see ValidateProperty */ Schema createSchema(InputSource source, PropertyMap properties) throws IOException, SAXException, IncorrectSchemaException; Schema createSchema(SAXSource source, PropertyMap properties) throws IOException, SAXException, IncorrectSchemaException; Option getOption(String uri); }