com.saxonica.validate
Class RefSelectorWatch

java.lang.Object
  extended by com.saxonica.validate.SelectorWatch
      extended by com.saxonica.validate.RefSelectorWatch
All Implemented Interfaces:
Watch

public class RefSelectorWatch
extends SelectorWatch

This class watches the selector for a keyref constraint


Constructor Summary
RefSelectorWatch(ConstraintChecker checker, IdentityConstraint uniqueConstraint)
           
 
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)
           
 
Methods inherited from class com.saxonica.validate.SelectorWatch
activate, addFieldValue, deactivate, getIdentityConstraint, getOriginDepth, getSelection, setNamespaceResolver, setOriginDepth, setPipelineConfiguration
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RefSelectorWatch

public RefSelectorWatch(ConstraintChecker checker,
                        IdentityConstraint uniqueConstraint)
Method Detail

notifyActualKey

public void notifyActualKey(Value[] keyValue)
                     throws ValidationException
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) Michael H. Kay. All rights reserved.