001 package com.thaiopensource.validate; 002 003 import com.thaiopensource.validate.SchemaReader; 004 005 /** 006 * A factory for SchemaReader. A class that implements this interface can be 007 * automatically discovered by SchemaReaderLoader, if it has 008 * a 0-argument constructor and if its name is listed in the file 009 * <code>META-INF/services/com.thaiopensource.validate.SchemaReaderFactory</code>. 010 * 011 * @see SchemaReaderLoader 012 * @see SchemaReader 013 */ 014 public interface SchemaReaderFactory { 015 /** 016 * Creates a SchemaReader for a particular schema language. 017 * 018 * @param namespaceUri a String identifing the schema language; must not be <code>null</code>; 019 * for schema languages that use XML, this should be the namespace URI 020 * of the root element if the root element has a non-absent namespace URI 021 * 022 * @return a SchemaReader for the specified schema language, or <code>null</code>, 023 * if this SchemaReaderFactory cannot create a SchemaReader for the specified 024 * schema language 025 */ 026 public SchemaReader createSchemaReader(String namespaceUri); 027 028 Option getOption(String uri); 029 }