Package com.saxonica.ee.validate
Class ConstraintChecker
- java.lang.Object
-
- net.sf.saxon.event.SequenceReceiver
-
- com.saxonica.ee.stream.watch.WatchManager
-
- com.saxonica.ee.validate.ConstraintChecker
-
- All Implemented Interfaces:
javax.xml.transform.Result
,Receiver
,NamespaceResolver
public class ConstraintChecker extends WatchManager
This class handles the checking of Schema-defined unique, key, and keyref constraints. It keeps track of the nesting of elements, and notifies a Watcher class when an element is found that matches a particular Selector.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.saxonica.ee.stream.watch.WatchManager
WatchManager.ClosedownAction, WatchManager.GroupingScope
-
-
Field Summary
-
Fields inherited from class com.saxonica.ee.stream.watch.WatchManager
activeWatchStack, elementStackTop, watchList
-
Fields inherited from class net.sf.saxon.event.SequenceReceiver
pipelineConfiguration, previousAtomic, systemId
-
-
Constructor Summary
Constructors Constructor Description ConstraintChecker(PipelineConfiguration pipe)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addPrearrangedWatches()
ValidationContext
getValidationContext()
void
setElementDeclaration(ElementDecl decl)
setElementDeclaration is called immediately before the call on startElement.void
setPipelineConfiguration(PipelineConfiguration pipe)
Set the pipeline configurationvoid
setValidationContext(ValidationContext vc)
-
Methods inherited from class com.saxonica.ee.stream.watch.WatchManager
addWatch, allowsEarlyExit, append, characters, close, comment, endDocument, endElement, endGroupingScope, getCurrentEventNumber, getCurrentNode, getDepth, getDocumentNode, getMultiAccumulatorWatch, getOutputter, getURIForPrefix, getXPathContext, iteratePrefixes, processingInstruction, removeWatch, restartElement, setOutputter, setUnparsedEntity, setXPathContext, startCapturingGroupingWatches, startDocument, startElement, startGroupingScope, stopCapturingGroupingWatches, usesTypeAnnotations, watchAccumulators
-
Methods inherited from class net.sf.saxon.event.SequenceReceiver
append, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getNamePool, getPipelineConfiguration, getSystemId, handlesAppend, open, setSystemId
-
-
-
-
Constructor Detail
-
ConstraintChecker
public ConstraintChecker(PipelineConfiguration pipe)
-
-
Method Detail
-
setValidationContext
public void setValidationContext(ValidationContext vc)
-
getValidationContext
public ValidationContext getValidationContext()
-
setPipelineConfiguration
public void setPipelineConfiguration(PipelineConfiguration pipe)
Description copied from interface:Receiver
Set the pipeline configuration- Specified by:
setPipelineConfiguration
in interfaceReceiver
- Overrides:
setPipelineConfiguration
in classSequenceReceiver
- Parameters:
pipe
- the pipeline configuration
-
setElementDeclaration
public void setElementDeclaration(ElementDecl decl) throws XPathException
setElementDeclaration is called immediately before the call on startElement. It identifies the element declaration that defines the just-started element, which in turn is used to create a Watch for constraints originating at this element.- Parameters:
decl
- the element declaration- Throws:
XPathException
- if an error occurs
-
addPrearrangedWatches
protected void addPrearrangedWatches() throws XPathException
- Overrides:
addPrearrangedWatches
in classWatchManager
- Throws:
XPathException
-
-