com.saxonica.validate
Class RefSelectorWatch
java.lang.Object
com.saxonica.validate.SelectorWatch
com.saxonica.validate.RefSelectorWatch
- All Implemented Interfaces:
- Watch
public class RefSelectorWatch
- extends SelectorWatch
This class watches the selector for a keyref constraint
Method Summary |
void |
close()
The close() method is called immediately before the Watch is destroyed, that is,
when the element whose declaration scopes the constraint implemented by this
Watch goes out of scope. |
void |
notifyActualKey(Value[] keyValue,
int locationId)
Notify a value selected by this KeyRef |
Methods inherited from class com.saxonica.validate.SelectorWatch |
activate, addFieldValue, checkRow, deactivate, displayRow, getIdentityConstraint, getOriginDepth, getSelection, reportValidationError, reportValidationError, setNamespaceResolver, setOriginDepth, setPipelineConfiguration |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RefSelectorWatch
public RefSelectorWatch(ConstraintChecker checker,
KeyRef constraint)
- Create a watch for values that might satisfy a keyref constraint
- Parameters:
checker
- the ConstraintChecker that initiated this watchconstraint
- the constraint being checked
notifyActualKey
public void notifyActualKey(Value[] keyValue,
int locationId)
throws ValidationException
- Notify a value selected by this KeyRef
- Parameters:
keyValue
- an array holding the components (fields) making up the keyref valuelocationId
- the location of the node containing the keyref values
- Throws:
ValidationException
close
public void close()
throws ValidationException
- The close() method is called immediately before the Watch is destroyed, that is,
when the element whose declaration scopes the constraint implemented by this
Watch goes out of scope. This implementation searches the list of all key values
encountered looking (a) for key references that reference no corresponding key
value (b) for key references that reference more than one corresponding key
value (which can happen if the keyref and the key are defined at different
levels of hierarchy.
- Specified by:
close
in interface Watch
- Overrides:
close
in class SelectorWatch
- Throws:
ValidationException
Copyright (c) Saxonica Limited. All rights reserved.