# Interface SchemaReader

All Known Implementing Classes:
  `AbstractSchemaReader`, `AutoSchemaReader`, `CompactSchemaReader`, `SAXSchemaReader`, `com.thaiopensource.validate.rng.impl.SchemaReaderImpl`

public interface SchemaReader
A SchemaReader object is immutable and can thus be safely accessed concurrently from multiple threads.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `BASE_URI`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Schema`
  `createSchema(SAXSource source, PropertyMap properties)`
  `Schema`
  `createSchema(InputSource source, PropertyMap properties)`
  Creates a `Schema` by reading it from an `InputSource`.
  `Option`
  `getOption(String uri)`

- ## Field Details

  - ### BASE_URI

    static final String BASE_URI
    See Also:
      - Constant Field Values

- ## Method Details

  - ### createSchema

    Schema createSchema(InputSource source, PropertyMap properties) throws IOException, SAXException, IncorrectSchemaException
    Creates a `Schema` by reading it from an `InputSource`.
    Parameters:
      `source` -
      `properties` - a `PropertyMap` to control the schema creation; must not be `null` @return a newly created `Schema`, never `null`
    Throws:
      `IOException` - if an I/O error occurs
      `SAXException`
      `IncorrectSchemaException`
    See Also:
      - `ValidateProperty`

  - ### createSchema

    Schema createSchema(SAXSource source, PropertyMap properties) throws IOException, SAXException, IncorrectSchemaException
    Throws:
      `IOException`
      `SAXException`
      `IncorrectSchemaException`

  - ### getOption

    Option getOption(String uri)