|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.s9api.SchemaValidator
public class SchemaValidator
A SchemaValidator is an object that is used for validating instance documents against a schema. The schema consists of the collection of schema components that are available within the schema cache maintained by the SchemaManager, together with any additional schema components located during the course of validation by means of an xsl:schemaLocation or xsi:noNamespaceSchemaLocation attribute within the instance document.
If validation fails, an exception is thrown. If validation succeeds, the validated document
can optionally be written to a specified destination. This will be a copy of the original document,
augmented with default values for absent elements and attributes, and carrying type annotations
derived from the schema processing. Expansion of defaults can be suppressed by means of the method
setExpandAttributeDefaults(boolean)
.
A SchemaValidator is serially resuable but not thread-safe. That is, it should normally be used in the thread where it is created, but it can be used more than once, to validate multiple input documents.
A SchemaValidator is a Destination, which allows it to receive the output of a query or transformation to be validated.
Saxon does not deliver the full PSVI as described in the XML schema specifications, only the subset of the PSVI properties featured in the XDM data model.
Constructor Summary | |
---|---|
protected |
SchemaValidator(Configuration config)
|
Method Summary | |
---|---|
void |
close()
Close the destination, allowing resources to be released. |
Destination |
getDestination()
Get the Destination that will receive the validated document. |
QName |
getDocumentElementName()
Get the name of the required top-level element of the document to be validated. |
protected SchemaType |
getDocumentElementType()
Get the schema type against which the document element is to be validated |
QName |
getDocumentElementTypeName()
Get the name of the required type of the top-level element of the document to be validated. |
ErrorListener |
getErrorListener()
Get the ErrorListener being used while validating instance documents |
Receiver |
getReceiver(Configuration config)
Return a Receiver. |
boolean |
isExpandAttributeDefaults()
Ask whether attribute defaults defined in a schema are to be expanded or not (by default, fixed and default attribute values are expanded, that is, they are inserted into the document during validation as if they were present in the instance being validated) |
boolean |
isLax()
Ask whether validation is to be in lax mode. |
boolean |
isUseXsiSchemaLocation()
Ask whether the schema processor is to take account of any xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes encountered while validating an instance document |
void |
setDestination(Destination destination)
Set the Destination to receive the validated document. |
void |
setDocumentElementName(QName name)
Set the name of the required top-level element of the document to be validated (that is, the name of the outermost element of the document). |
void |
setDocumentElementTypeName(QName name)
Set the name of the required type of the top-level element of the document to be validated. |
void |
setErrorListener(ErrorListener listener)
Set the ErrorListener to be used while validating instance documents. |
void |
setExpandAttributeDefaults(boolean expand)
Set whether attribute defaults defined in a schema are to be expanded or not (by default, fixed and default attribute values are expanded, that is, they are inserted into the document during validation as if they were present in the instance being validated) |
void |
setLax(boolean lax)
The validation mode may be either strict or lax. |
void |
setUseXsiSchemaLocation(boolean recognize)
Say whether the schema processor is to take account of any xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes encountered while validating an instance document |
void |
validate(Source source)
Validate an instance document supplied as a Source object |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected SchemaValidator(Configuration config)
Method Detail |
---|
public void setLax(boolean lax)
lax
- true if validation is to be lax, false if it is to be strictpublic boolean isLax()
public void setErrorListener(ErrorListener listener)
listener
- The error listener to be used. This is notified of all errors detected during the
validation episode.public ErrorListener getErrorListener()
public void setUseXsiSchemaLocation(boolean recognize)
recognize
- true if these two attributes are to be recognized; false if they are to
be ignored. Default is true.public boolean isUseXsiSchemaLocation()
public void setDestination(Destination destination)
destination
- the destination to receive the validated documentpublic Destination getDestination()
public void setDocumentElementName(QName name)
name
- the name of the document element, as a QName; or null to remove a previously-specified
value.public QName getDocumentElementName()
public void setDocumentElementTypeName(QName name) throws SaxonApiException
name
- the name of the type of the document element, as a QName;
or null to remove a previously-specified value. This must be the name of a type in the
schema (typically but not necessarily a complex type).
SaxonApiException
- if there is no known type with this namepublic QName getDocumentElementTypeName()
protected SchemaType getDocumentElementType()
public void setExpandAttributeDefaults(boolean expand)
expand
- true if defaults are to be expanded, false if notpublic boolean isExpandAttributeDefaults()
public void validate(Source source) throws SaxonApiException
source
- the instance document to be validated. The call getSystemId() applied to
this source object must return the base URI used for dereferencing any xsi:schemaLocation
or xsi:noNamespaceSchemaLocation attributes
SaxonApiException
- if the source document is found to be invalidpublic Receiver getReceiver(Configuration config) throws SaxonApiException
Destination
getReceiver
in interface Destination
config
- The Saxon configuration. This is supplied so that the destination can
use information from the configuration (for example, a reference to the name pool)
to construct or configure the returned Receiver.
PipelineConfiguration
before calling
its open()
method. The caller is also responsible for ensuring that the sequence
of events sent to the Receiver represents a well-formed document: in particular the event
stream must include namespace events corresponding exactly to the namespace declarations
that are required. If the calling code cannot guarantee this, it should insert a
NamespaceReducer
into the pipeline in front of the returned
Receiver.
SaxonApiException
- if the Receiver cannot be createdpublic void close() throws SaxonApiException
close
in interface Destination
SaxonApiException
- if any failure occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |