com.icl.saxon

Class KeyManager

public class KeyManager extends Object

KeyManager manages the set of key definitions in a stylesheet, and the indexes associated with these key definitions

Author: Michael H. Kay

Constructor Summary
KeyManager()
create a KeyManager and initialise variables
Method Summary
VectorgetKeyDefinitions(int fingerprint)
Get all the key definitions that match a particular fingerprint
NodeEnumerationselectByKey(int fingerprint, DocumentInfo doc, String value, Controller controller)
Get the nodes with a given key value
voidsetKeyDefinition(KeyDefinition keydef)
Register a key definition.

Constructor Detail

KeyManager

public KeyManager()
create a KeyManager and initialise variables

Method Detail

getKeyDefinitions

public Vector getKeyDefinitions(int fingerprint)
Get all the key definitions that match a particular fingerprint

Parameters: fingerprint The fingerprint of the name of the required key

Returns: The key definition of the named key if there is one, or null otherwise.

selectByKey

public NodeEnumeration selectByKey(int fingerprint, DocumentInfo doc, String value, Controller controller)
Get the nodes with a given key value

Parameters: fingerprint The fingerprint of the name of the required key doc The source document in question value The required key value controller The controller, needed only the first time when the key is being built

Returns: an enumeration of nodes, always in document order

setKeyDefinition

public void setKeyDefinition(KeyDefinition keydef)
Register a key definition. Note that multiple key definitions with the same name are allowed

Parameters: keyDefinition The details of the key's definition