## net.sf.saxon.trans
Class KeyDefinitionSet

    java.lang.Object
      net.sf.saxon.trans.KeyDefinitionSet

All Implemented Interfaces:
  java.io.Serializable

    public class KeyDefinitionSet

extends java.lang.Object
implements java.io.Serializable

A set of xsl:key definitions in a stylesheet that share the same name

See Also:
  Serialized Form

Constructor Summary
`KeyDefinitionSet(StructuredQName keyName, int keySetNumber)` Create a key definition set for keys sharing a given name

Method Summary
`void` `addKeyDefinition(KeyDefinition keyDef)` Add a key definition to this set of key definitions.
`java.util.List` `getKeyDefinitions()` Get the key definitions in this set
`StructuredQName` `getKeyName()` Get the name of the key definitions in this set (they all share the same name)
`int` `getKeySetNumber()` Get the KeySet number.
`boolean` `isBackwardsCompatible()` Determine if the keys are to be evaluated in backwards compatible mode

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### KeyDefinitionSet

    public KeyDefinitionSet(StructuredQName keyName,
                            int keySetNumber)

  Create a key definition set for keys sharing a given name

  Parameters:
    `keyName` - the name of the key definitions in this set
    `keySetNumber` - a unique number identifying this key definition set

Method Detail

### addKeyDefinition

    public void addKeyDefinition(KeyDefinition keyDef)
                          throws XPathException

  Add a key definition to this set of key definitions. The caller is responsible for ensuring that all key definitions in a key definition set have the same name

  Parameters:
    `keyDef` - the key definition to be added
  Throws:
    `XPathException` - if the key definition uses a different collation from others in the set

### getKeyName

    public StructuredQName getKeyName()

  Get the name of the key definitions in this set (they all share the same name)

  Returns:
    the name of these key definitions

### getKeySetNumber

    public int getKeySetNumber()

  Get the KeySet number. This uniquely identifies the KeyDefinitionSet within a KeyManager

  Returns:
    the unique number

### getKeyDefinitions

    public java.util.List getKeyDefinitions()

  Get the key definitions in this set

  Returns:
    the key definitions in this set

### isBackwardsCompatible

    public boolean isBackwardsCompatible()

  Determine if the keys are to be evaluated in backwards compatible mode

  Returns:
    true if backwards compatibility is in force for at least one of the keys in the set

Copyright (c) Saxonica Limited. All rights reserved.