net.sf.saxon.trans
public class KeyDefinition extends Procedure implements Serializable
Constructor Summary | |
---|---|
KeyDefinition(PatternFinder match, SequenceIterable use, String collationName, StringCollator collation)
Constructor to create a key definition |
Method Summary | |
---|---|
StringCollator | getCollation()
Get the collation. |
String | getCollationName()
Get the collation name for this key definition. |
int | getConstructType()
Get the type of construct. |
BuiltInAtomicType | getIndexedItemType()
Get the primitive item type of the values returned by the use expression |
PatternFinder | getMatch()
Get the match pattern for the key definition |
StructuredQName | getObjectName()
Get a name identifying the object of the expression, for example a function name, template name,
variable name, key name, element name, etc. |
SequenceIterable | getUse()
Get the use expression for the key definition |
boolean | isBackwardsCompatible()
Test backwards compatibility mode |
boolean | isConvertUntypedToOther()
Determine whether untypedAtomic values are converted to the type of the other operand. |
boolean | isStrictComparison()
Get whether strict comparison is needed. |
void | setBackwardsCompatible(boolean bc)
Set backwards compatibility mode. |
void | setBody(Expression body)
Set the body of the key (the use expression). |
void | setConvertUntypedToOther(boolean convertToOther)
Indicate that untypedAtomic values should be converted to the type of the other operand,
rather than to strings. |
void | setIndexedItemType(BuiltInAtomicType itemType)
Set the primitive item type of the values returned by the use expression |
void | setLocation(String systemId, int lineNumber)
Set the system Id and line number of the source xsl:key definition |
void | setStackFrameMap(SlotManager map)
Set the map of local variables needed while evaluating the "use" expression |
void | setStrictComparison(boolean strict)
Set whether strict comparison is needed. |
Parameters: match the pattern in the xsl:key match attribute use the expression in the xsl:key use attribute, or the expression that results from compiling the xsl:key contained instructions. Note that a KeyDefinition constructed by the XSLT or XQuery parser will always use an Expression here; however, a KeyDefinition constructed at run-time by a compiled stylesheet or XQuery might use a simple ExpressionEvaluator that lacks all the compile-time information associated with an Expression collationName the name of the collation being used collation the actual collation. This must be one that supports generation of collation keys.
Returns: the collation
Returns: the collation name (the collation URI)
Returns: the primitive item type of the indexed values
Returns: the pattern specified in the "match" attribute of the xsl:key declaration
Returns: the expression specified in the "use" attribute of the xsl:key declaration
Returns: true if running in XSLT backwards compatibility mode
Returns: true if comparisons follow the semantics of the "=" operator rather than the "eq" operator
Returns: true if strict comparison is needed.
Parameters: bc set to true if running in XSLT 2.0 backwards compatibility mode
Parameters: body the use expression of the key
Parameters: convertToOther true if comparisons follow the semantics of the "=" operator rather than the "eq" operator
Parameters: itemType the primitive type of the indexed values
Parameters: systemId the URI of the module containing the key definition lineNumber the line number of the key definition
Parameters: strict true if strict comparison is needed