Schema
Stay organized with collections
Save and categorize content based on your preferences.
Immutable in-memory representation of grammar.
This object represents a set of constraints that can be checked/
enforced against an XML document.
A Schema
object is thread safe and applications are
encouraged to share it across many parsers in many threads.
A 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
Schema
, it must always produce the same result.
A Schema
object is usually created from SchemaFactory
.
Two kinds of validators can be created from a Schema
object.
One is Validator
, which provides highly-level validation
operations that cover typical use cases. The other is
ValidatorHandler
, which works on top of SAX for better
modularity.
This specification does not refine
the Object.equals(java.lang.Object)
method.
In other words, if you parse the same schema twice, you may
still get !schemaA.equals(schemaB)
.
Protected Constructor Summary
|
Schema()
Constructor for the derived class.
|
Inherited Method Summary
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this Object .
|
boolean
|
equals( Object obj)
Compares this instance with the specified object and indicates if they
are equal.
|
void
|
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
final
Class<?>
|
getClass()
Returns the unique instance of Class that represents this
object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final
void
|
wait(long timeout, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait(long timeout)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
Protected Constructors
protected
Schema
()
Constructor for the derived class.
The constructor does nothing.
Public Methods
public
abstract
Validator
newValidator
()
Creates a new Validator
for this Schema
.
A validator enforces/checks the set of constraints this object
represents.
Returns
- Always return a non-null valid object.
public
abstract
ValidatorHandler
newValidatorHandler
()
Returns
- Always return a non-null valid object.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-10 UTC."],[[["\u003cp\u003e\u003ccode\u003eSchema\u003c/code\u003e is an immutable in-memory representation of grammar used to enforce constraints on XML documents.\u003c/p\u003e\n"],["\u003cp\u003eIt's thread-safe and can be shared across multiple parsers and threads for validation.\u003c/p\u003e\n"],["\u003cp\u003eYou can create \u003ccode\u003eValidator\u003c/code\u003e and \u003ccode\u003eValidatorHandler\u003c/code\u003e instances from a \u003ccode\u003eSchema\u003c/code\u003e to perform validation.\u003c/p\u003e\n"],["\u003cp\u003eAlthough immutable, parsing the same schema twice might result in unequal \u003ccode\u003eSchema\u003c/code\u003e objects based on the \u003ccode\u003eequals()\u003c/code\u003e method.\u003c/p\u003e\n"]]],["The `Schema` class represents immutable grammar constraints for XML documents. It's thread-safe and designed to be shared across multiple parsers. `Schema` objects, typically created from `SchemaFactory`, allow for the creation of `Validator` and `ValidatorHandler` objects. `Validator` objects enable high-level validation, while `ValidatorHandler` objects offer modular validation via SAX. Each call to create a validator returns a non-null object. `Schema` does not guarantee that two schemas built the same way are equal.\n"],null,["public abstract class **Schema** extends [Object](../../../../reference/java/lang/Object.html) \nImmutable in-memory representation of grammar.\n\n\nThis object represents a set of constraints that can be checked/\nenforced against an XML document.\n\n\nA [Schema](../../../../reference/javax/xml/validation/Schema.html) object is thread safe and applications are\nencouraged to share it across many parsers in many threads.\n\n\nA [Schema](../../../../reference/javax/xml/validation/Schema.html) object is immutable in the sense that it shouldn't\nchange the set of constraints once it is created. In other words,\nif an application validates the same document twice against the same\n[Schema](../../../../reference/javax/xml/validation/Schema.html), it must always produce the same result.\n\n\nA [Schema](../../../../reference/javax/xml/validation/Schema.html) object is usually created from [SchemaFactory](../../../../reference/javax/xml/validation/SchemaFactory.html).\n\n\nTwo kinds of validators can be created from a [Schema](../../../../reference/javax/xml/validation/Schema.html) object.\nOne is [Validator](../../../../reference/javax/xml/validation/Validator.html), which provides highly-level validation\noperations that cover typical use cases. The other is\n[ValidatorHandler](../../../../reference/javax/xml/validation/ValidatorHandler.html), which works on top of SAX for better\nmodularity.\n\n\nThis specification does not refine\nthe [Object.equals(java.lang.Object)](../../../../reference/java/lang/Object.html#equals(java.lang.Object)) method.\nIn other words, if you parse the same schema twice, you may\nstill get `!schemaA.equals(schemaB)`. \n\nSee Also\n\n- [XML Schema Part 1: Structures](http://www.w3.org/TR/xmlschema-1/)\n- [Extensible Markup Language (XML) 1.1](http://www.w3.org/TR/xml11/)\n- [Extensible Markup Language (XML) 1.0 (Second Edition)](http://www.w3.org/TR/REC-xml) \n\nProtected Constructor Summary\n\n|---|----------------------------------------------------------------------------------------------------------------|\n| | [Schema](../../../../reference/javax/xml/validation/Schema.html#Schema())() Constructor for the derived class. |\n\nPublic Method Summary\n\n|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [Validator](../../../../reference/javax/xml/validation/Validator.html) | [newValidator](../../../../reference/javax/xml/validation/Schema.html#newValidator())() Creates a new [Validator](../../../../reference/javax/xml/validation/Validator.html) for this [Schema](../../../../reference/javax/xml/validation/Schema.html). |\n| abstract [ValidatorHandler](../../../../reference/javax/xml/validation/ValidatorHandler.html) | [newValidatorHandler](../../../../reference/javax/xml/validation/Schema.html#newValidatorHandler())() Creates a new [ValidatorHandler](../../../../reference/javax/xml/validation/ValidatorHandler.html) for this [Schema](../../../../reference/javax/xml/validation/Schema.html). |\n\nInherited Method Summary \nFrom class [java.lang.Object](../../../../reference/java/lang/Object.html) \n\n|----------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Object](../../../../reference/java/lang/Object.html) | [clone](../../../../reference/java/lang/Object.html#clone())() Creates and returns a copy of this `Object`. |\n| boolean | [equals](../../../../reference/java/lang/Object.html#equals(java.lang.Object))([Object](../../../../reference/java/lang/Object.html) obj) Compares this instance with the specified object and indicates if they are equal. |\n| void | [finalize](../../../../reference/java/lang/Object.html#finalize())() Invoked when the garbage collector has detected that this instance is no longer reachable. |\n| final [Class](../../../../reference/java/lang/Class.html)\\\u003c?\\\u003e | [getClass](../../../../reference/java/lang/Object.html#getClass())() Returns the unique instance of [Class](../../../../reference/java/lang/Class.html) that represents this object's class. |\n| int | [hashCode](../../../../reference/java/lang/Object.html#hashCode())() Returns an integer hash code for this object. |\n| final void | [notify](../../../../reference/java/lang/Object.html#notify())() Causes a thread which is waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |\n| final void | [notifyAll](../../../../reference/java/lang/Object.html#notifyAll())() Causes all threads which are waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |\n| [String](../../../../reference/java/lang/String.html) | [toString](../../../../reference/java/lang/Object.html#toString())() Returns a string containing a concise, human-readable description of this object. |\n| final void | [wait](../../../../reference/java/lang/Object.html#wait(long,%20int))(long timeout, int nanos) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |\n| final void | [wait](../../../../reference/java/lang/Object.html#wait(long))(long timeout) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |\n| final void | [wait](../../../../reference/java/lang/Object.html#wait())() Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object. |\n\nProtected Constructors \n\nprotected\n**Schema**\n() \nConstructor for the derived class.\n\n\nThe constructor does nothing.\n\nPublic Methods \n\npublic abstract [Validator](../../../../reference/javax/xml/validation/Validator.html)\n**newValidator**\n() \nCreates a new [Validator](../../../../reference/javax/xml/validation/Validator.html) for this [Schema](../../../../reference/javax/xml/validation/Schema.html).\n\n\nA validator enforces/checks the set of constraints this object\nrepresents. \n\nReturns\n\n- Always return a non-null valid object. \n\npublic abstract [ValidatorHandler](../../../../reference/javax/xml/validation/ValidatorHandler.html)\n**newValidatorHandler**\n() \nCreates a new [ValidatorHandler](../../../../reference/javax/xml/validation/ValidatorHandler.html) for this [Schema](../../../../reference/javax/xml/validation/Schema.html). \n\nReturns\n\n- Always return a non-null valid object."]]