javax.xml.validation

Class Schema

public abstract class Schema extends Object

Immutable in-memory representation of grammar.

This object represents a set of constraints that can be checked/ enforced against an XML document.

A {@link Schema} object is thread safe and applications are encouraged to share it across many parsers in many threads.

A {@link Schema} object is immutable in the sense that it shouldn't change the set of constraints once it is created. In other words, if an application validates the same document twice against the same {@link Schema}, it must always produce the same result.

A {@link Schema} object is usually created from {@link SchemaFactory}.

Two kinds of validators can be created from a {@link Schema} object. One is {@link Validator}, which provides highly-level validation operations that cover typical use cases. The other is {@link ValidatorHandler}, which works on top of SAX for better modularity.

This specification does not refine the {@link java.lang.Object#equals(java.lang.Object)} method. In other words, if you parse the same schema twice, you may still get !schemaA.equals(schemaB).

Since: 1.5

Version: $Revision: 226183 $, $Date: 2005-04-08 06:39:14 -0400 (Fri, 08 Apr 2005) $

Author: Kohsuke Kawaguchi

See Also: XML Schema Part 1: Structures Extensible Markup Language (XML) 1.1 Extensible Markup Language (XML) 1.0 (Second Edition)

Constructor Summary
protected Schema()
Constructor for the derived class.
Method Summary
abstract ValidatornewValidator()
Creates a new {@link Validator} for this {@link Schema}.
abstract ValidatorHandlernewValidatorHandler()
Creates a new {@link ValidatorHandler} for this {@link Schema}.

Constructor Detail

Schema

protected Schema()
Constructor for the derived class.

The constructor does nothing.

Method Detail

newValidator

public abstract Validator newValidator()
Creates a new {@link Validator} for this {@link Schema}.

A validator enforces/checks the set of constraints this object represents.

Returns: Always return a non-null valid object.

newValidatorHandler

public abstract ValidatorHandler newValidatorHandler()
Creates a new {@link ValidatorHandler} for this {@link Schema}.

Returns: Always return a non-null valid object.