public class TokenMatchOperand extends Characteristic<IntSet>
It is used typically in optimizing patterns in DITA stylesheets, where the pattern takes the form *[@class = ' topic/li '] or similar. In this example the characteristic will be obtained by tokenizing the value of @class on whitespace boundaries, and finding the hash code of the collation key of each of these tokens. This set of hash codes is then compared with the hashcode of the constant string ' topic/li '. The benefit comes only when a rule chain contains many rules with this same general structure, but different constant strings; the same set of hash codes will then be compared against each of the string constants in turn.
Constructor and Description |
---|
TokenMatchOperand(Expression exp)
Create a token match characteristic
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
IntSet |
evaluate(XPathContext context)
Evaluate the value of this characteristic for the context item
|
int |
hashCode() |
java.lang.String |
toString() |
getSlotNumber, setSlotNumber
public TokenMatchOperand(Expression exp)
exp
- the expression to be tokenized. In the case
of DITA-OT stylesheets, this expression will generally be "@class".public IntSet evaluate(XPathContext context) throws XPathException
Characteristic
evaluate
in class Characteristic<IntSet>
context
- the dynamic evaluation context; the context item is the item being matchedXPathException
- if evaluation of the characteristic failspublic int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.